Я новичок в С++ и пытаюсь сделать простой бросок кубика с помощью класса Die/main.
Я могу получить случайное число в пределах моего диапазона 1-dieSize, однако каждый раз, когда я «бросаю кости», он просто дает мне одно и то же случайное число. Например, когда я бросаю этот кубик три раза, он выдает 111 или 222 и т. д. вместо 3 разных случайных бросков. Любая помощь, объясняющая эту проблему, будет высоко оценена!
Мой заголовок штампа - это просто основной заголовок. Я предполагаю, что моя проблема связана со случайной функцией.
главный:
int main()
{
// Call menu to start the program
Die myDie(4);
cout << myDie.rollDie();
cout << myDie.rollDie(); // roll dice again
cout << myDie.rollDie(); // roll again
return 0;
}
умереть.cpp:
Die::Die(int N)
{
//set dieSize to the value of int N
this->dieSize = N;
}
int Die::rollDie()
{
// Declaration of variables
int roll;
int min = 1; // the min number a die can roll is 1
int max = this->dieSize; // the max value is the die size
unsigned seed;
seed = time(0);
srand(seed);
roll = rand() % (max - min + 1) + min;
return roll;
}
В die.cpp у меня включены cstdlib и ctime.
srand
больше одного раза. - person melpomene   schedule 17.07.2017