gpt4 book ai didi

C++让房间为老虎机程序工作

转载 作者:行者123 更新时间:2023-11-30 02:35:54 33 4
gpt4 key购买 nike

情况

大家好,我现在正在做一个项目。基本上我需要做一个传统的老虎机,或者水果机,或者“独臂强盗”。这是一个 3 x 1 x 3 的字符网格,只要用户“拉动控制杆”就会发生变化

到目前为止,我已经自己完成了所有代码,但我陷入了僵局,我想知道你们是否可以提供帮助。

我使用了 “chamber” 这个词,但可以将其视为 “Wheel” 这个词,而轮子上的值中只有三个显示在任何给定时间的屏幕,所以我称这些 “ block ”

我正在尝试使用单室显示输出,例如:

   2
3
4

我在这里生成随机数 3,并输出 4 和 2,因为它们在腔室上相邻。这将是腔室的起始位置,然后我可以对其进行操作。

显然,为了让随机数转换并显示在屏幕上,我需要将该整数转换为 char* ,我将来需要它来制作图标,这不是很好我需要制作一个常量 char

我有两个问题。

1) 首先,我调用了我的 spinChamer() 方法 3 次(因为我有 3 个腔室)但是方法中的随机数生成器似乎对该方法的输出,几乎就像某处有一个常数。

srand(time(NULL));

//generate start position for central block. use this to find upper and lower block.

int startpoint = rand() % 7 + 1;

2) 第二个是,要将字符串绘制到屏幕上的坐标,我必须将其转换为 char*。这涉及将我的随机 int 变量转换为 char* 变量,这看起来很容易,但是,当我尝试将此转换后的值添加到 vector 及其上部和下部元素时在方向盘上,所有 3 个位置都是相同的值,当它们不应该时,又一次,似乎我遗漏了一个常数。

for (int i = 0; i < 3; i++){

convert = std::to_string(startpoint + assigner);
temporarystore = (char*)convert.c_str();
blocks.push_back(temporarystore);
assigner++;
}

//spin around twice for visual effect.
for (int counter = 0; counter < 2; counter++){

Draw_String(drawY, drawX - 1, blocks.at(0));
Draw_String(drawY, drawX, blocks.at(1));
Draw_String(drawY, drawX + 1, blocks.at(2));
}

如有任何帮助,我们将不胜感激。

注意事项:

Draw_String() 只是将字符串绘制到屏幕上,由于其他地方的依赖关系,我不会编辑该方法。

最佳答案

第一个问题:不要在生成随机数的函数中调用srand(time(NULL));。将它移到函数之外! srand() 在程序执行期间只能调用一次。

第二个问题:不清楚您要完成什么以及为什么。

关于C++让房间为老虎机程序工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33313898/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com