基本上,我有一个 6x6 板。我创建了一个函数,它应该在板上的随机坐标上放置三个 X。
const int size = 6;
char board[6][6] = {0}; //this is actually somewhere else, but I included it here for clarity
char enemies[3] = {'X','X','X'};
void setup(char board[6][6]){
bool valid = false; //sets initial bool value to false
for (int x = 0; x <= 2; ++x){
do{
int a = rand() % size;
int b = rand() % size;
if (board[a][b] == 0){
board[a][b] = enemies[x];
valid = true;
}
}while(!valid); //if the value is false, redo until an empty board space is found
}
(我也在主函数中包含了 srand(time(NULL)) )
它有效,但只是有时。有时它会生成 3 个随机放置的 X,有时只生成 2 个。我希望它每次生成 3 个。我已经经历了一百万次,尝试了细微的变化和更正,但我似乎无法弄清楚哪里出了问题。我加入了一个条件,它只在棋盘为空白时放置敌人 [x](棋盘 [a][b] == 0),但有时由于某种原因它只放置 2 个 X。