【发布时间】:2019-02-15 10:45:05
【问题描述】:
所以我正在尝试寻找一种非常有效的方法来从一个范围内生成数字。基本上,我正在为计算机与计算机之间的井字游戏编写代码。我想确保计算机在二维数组中随机标记 X/O。一个随机点将是数组[随机][随机]。
例如,我想在 3x3 大小的井字游戏上移动
我用:
int range = 3;
int random = rand() % range + 1;
数百次后得到的随机数只有3,导致游戏无效。
我想知道您是否可以告诉我如何在一个小范围内生成一个非常线性的随机整数。非常感谢!
【问题讨论】:
-
在这段代码之前你做了
std::srand(std::time(nullptr))吗? -
“数百次后我得到的随机数只有 3” - 请详细说明该声明。你是说你在上述数百行代码中只实现了一次
3?如果是这样,请包含一个 整个 执行此操作的短程序(应该不超过十几行,并且有#include文件集和完整的main()。顺便说一句,是一个 @987654321 @,并将显着提高这个问题的质量。另外,<random>是现代 C++ 程序的猫须。Worth looking in to。
标签: c++