生成两个随机数或从数组中选择两个随机点

时间:2019-05-07 19:01:46

标签: c++ random srand

我目前正在学习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
        }
    }
}

我也希望xy是不同的数字,有没有办法做到这一点? (或者我可以做:)

(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

0 个答案:

没有答案