Привет им ищет RandNum генерировать число между 2-10, а затем это число уводят от 15.C++, разве случайно, но всегда возвращает тот же номер
Прямо сейчас, каждый раз, программа выполнена, номер, взятый с 15, (PerseusHealth) - 7. Как я исправить это и сделать его случайным?
void desertpath()
{
int scorpianchoice; //the option the player chooses.
int Maxhit = 10; //Max hit the scorpian can do
int Minhit = 2; //Min hit the scorpian can do
int randNum = rand()%(Maxhit + Minhit) + Minhit;
int healthremaining = PerseusHealth - randNum; //health left in option1.
if(scorpianchoice == 1)
{
cout << "You run under the Scorpians Legs in hopes to escape " << endl;
cout << "You are hit by the scorpians Sting for " << randNum << " hp!";
cout << "You have " << healthremaining << "/15 HP Left!" << endl;
cout << "You escape the Scorpian but not without taking some damage" << endl;
}
[ 'srand'] (http://en.cppreference.com/w/cpp/numeric/random/srand) для решения немедленная проблема. http://en.cppreference.com/w/cpp/numeric/random для будущего чтения. –
Вызов 'srand' (только один раз) при запуске программы, обычно передавая ему текущее время, например' srand (time (NULL)) '. Еще лучше переключитесь на использование 'std :: mt19936' и' std :: random_device', чтобы выполнить посев. –
В вашем фрагменте вы используете неинициализированную переменную 'scorpianchoice'. –