随机数生成器游戏

Random number generator game

本文关键字:游戏 随机数生成器      更新时间:2023-10-16
#include <iostream>
#include <stdlib.h>
using namespace std;
void Guess(int Answer,int guess)
{
    if(guess!=Answer)
    {
        if(guess<Answer && guess!=Answer)
        {
            cout<<"The number is higher, try again"<<endl;
            cin>>guess;
        }
        else
            if(guess>Answer && guess!=Answer)
                {
                    cout<<"The number is lower, try again"<<endl;
                    cin>>guess;
                }
    }
}
int main()
{
    int Answer,guess;
    Answer=rand()%100;
    cout<<Answer<<endl;
    cout<<"Guess the number from 1 to 100"<<endl;
    cin>>guess;
    while(Answer!=guess)
       {
            Guess(Answer,guess);
            if(Answer==guess)
                break;
       }
       if(guess==Answer)
        cout<<endl<<"Congratulations, you guessed the number, it was "<<Answer<<" !";
}

所以,这是我学了一些基本函数后做的代码,大概可以说它应该生成一个随机数,然后你要猜测这个数字是什么,但是我有几个问题:

  1. 它生成相同的随机数
  2. 如果你第一次没有猜对,即使在某些时候你猜到了数字,代码也会永远存在。
  3. 如果你猜到一个更高的数字,假设50,答案是40,即使你猜到30,它仍然说这个数字更低,而它应该说更高。

我做错了什么?

void Guess(int Answer,int guess)更改为 void Guess(int& Answer,int& guess) 并在 int main 的开头添加了srand ( time(NULL) );以防止生成相同的数字