C++完成了随机猜测我的数字游戏Lookover

C++ Finished Random Guess my Number Game Lookover

本文关键字:我的 数字游戏 Lookover 随机 C++      更新时间:2023-10-16

我想知道是否有人可以为这个"随机猜测我的数字游戏"查看我的代码。

以下是所有代码:

#include <iostream> 
#include <conio.h>
#include <stdlib.h> 
#include <time.h>
using namespace std;
int PlayerNumber, x;
bool win = false;
long  foo;
char milliongame;
int main(){
srand (time(NULL));
cout << "Guess your computers number." << endl << endl;
for (int level = 1, foo = 10; level<=10; level++, foo = foo*2){
switch ( foo ){
case 20:
    foo = 25;
    break;
case 200:
    foo = 250;
    break;
case 2000:
    foo = 2500;
    break;
}
win = false;
x = (rand()%foo + 1);
refresh:    
cout << "level " << level << endl;
cout <<"Computers number is between 1 and "<< foo << endl;
cout << "Your number: "; cin >> PlayerNumber;
if (!cin || PlayerNumber > foo || PlayerNumber <= 0){
    cout << "That's not a number between 1 and " << foo << " !" << endl;
    PlayerNumber = 0;
    system("pause");
    system("cls");
    goto refresh;
    }
if (x > PlayerNumber)
    cout << "Your number was lower than the computers." << endl;
if (x < PlayerNumber)
    cout << "Your number was higher than the computers" << endl;
if (x == PlayerNumber ){
        cout << "You Won! nnThe computer's number was "<< x << endl; win = true;    
    }

cout << endl; system("pause");
system("cls");
if (win != true){
    goto refresh;
    }
  }
cout << "You Beat the Game! nnDo You Dare Play for a Million? n[y/n]: "; cin >>         milliongame;
if (milliongame !=  'y')
return 0;
mill:
    cout << "million level!" << endl;
    x = (rand()%1000000000);
cout <<"Computers number is between 1 and 1,000,000,000" << endl;
cout << "Your number: "; cin >> PlayerNumber;
if (!cin || PlayerNumber > 1000000000 || PlayerNumber <= 0){
    cout << "That's not a number between 1 and 1,000,000,000!" << endl;
    PlayerNumber = 0;
    system("pause");
    system("cls");
    goto mill;
}
if (x > PlayerNumber)
    cout << "Your number was lower than the computers." << endl;
if (x < PlayerNumber)
    cout << "Your number was higher than the computers" << endl;
if (x == PlayerNumber )
    {cout << "You Won! nnThe computer's number was "<< x << endl; win =                      true;
}

}

任何能给我任何提示的人都将不胜感激。

这个想法是玩家geuss的一个数字,程序会告诉他们这个数字是高于还是低于电脑的数字。

还要注意,它是一个使用Visual C++2012 编译的控制台应用程序

谢谢!

这段代码:

if (milliongame ==  'y')
{goto mill;}
else
return 0;
mill:
    cout << "million level!" << endl;

你可以用更简单的替代:

if (milliongame !=  'y')
    return 0;
cout << "million level!" << endl;

此:

if (foo == 20)
    foo = 25;
if (foo == 200)
    foo = 250;
if (foo == 2000)
    foo = 2500;

这个:

switch ( foo )
{
    case 20:
        foo = 25;
        break;
    case 200:
        foo = 250;
        break;
    case 2000:
        foo = 2500;
        break;
}

这个:

if (x > PlayerNumber)
    cout << "Your number was lower than the computers." << endl;
if (x < PlayerNumber)
    cout << "Your number was higher than the computers" << endl;
if (x == PlayerNumber )
    {cout << "You Won! nnThe computer's number was "<< x << endl; win=true;}

带有:

if (x > PlayerNumber)
    cout << "Your number was lower than the computers." << endl;
else if (x < PlayerNumber)
    cout << "Your number was higher than the computers" << endl;
else
{
    cout << "You Won! nnThe computer's number was "<< x << endl; 
    win=true;
}

此外,最后一段代码在您的程序中出现两次,因此您可以创建一个函数

void result(int PlayerNumber, int x)
{
    if (x > PlayerNumber)
            cout << "Your number was lower than the computers." << endl;
    else if (x < PlayerNumber)
            cout << "Your number was higher than the computers" << endl;
    else
    {
        cout << "You Won! nnThe computer's number was "<< x << endl; 
        win=true;
    }
}

并称之为

result(PlayerNumber,x);

这个代码应该在哪里。