我目前正在学习c ++,并且正在尝试针对计算机创建战舰游戏。我试图从一个数组中生成一个随机点,但这给了我一个错误。
这是我到目前为止所拥有的
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int player[8][8], comp[8][8];
int num_ships;
int x, y, z; // these change often, are just placeholder
void gen()
{
for (int z = 0; z <= num_ships; z++) // num_ships comes from somewhere else
{
x = srand(time(0) % 8);
y = srand(time(0) % 8);
if (comp[x][y] = 1)
{
--num_ships;//forces another try
}
else
{
comp[x][y] = 1;//1 is with a ship in this case
}
}
}
我也希望x
和y
是不同的数字,有没有办法做到这一点? (或者我可以做:)
(srand(time(0)) + srand(time(0))) % 8
但在行中,
x = srand(time(0) % 8);
出现错误
a value of type void cannot be assigned to an entity of type int