我正在上班的刽子手游戏,我在获取随机数时遇到了麻烦。 每次我运行代码我得到相同的数字。不知道这里有什么问题,什么都有帮助。
string pickWord(){
int random = rand() % 17;
string word = ::wordList[random];
cout << word << endl;
return word;
}
答案 0 :(得分:4)
你必须随着时间随机播种,否则它将永远是相同的。
看看这个:
http://www.cplusplus.com/reference/cstdlib/srand/
您的代码应如下所示
string pickWord(){
srand (time(NULL));
int random = rand() % 17;
string word = ::wordList[random];
cout << word << endl;
return word;
}
并且您还必须添加包含
#include <time.h>
这样,随机将取决于时间,运行时间,而不是编译时间。