我想知道是否有人可以查看我的代码“随机猜猜我的号码游戏”。
以下是所有代码:
#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! \n\nThe computer's number was "<< x << endl; win = true;
}
cout << endl; system("pause");
system("cls");
if (win != true){
goto refresh;
}
}
cout << "You Beat the Game! \n\nDo 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! \n\nThe computer's number was "<< x << endl; win = true;
}
}
任何能给我任何提示的人都会非常感激。
这个想法是玩家geuss是一个数字,程序会告诉他们它是高于还是低于计算机编号。
另请注意,它是使用Visual C ++ 2012编译的控制台应用程序
谢谢!
答案 0 :(得分:3)
这段代码:
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! \n\nThe 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! \n\nThe 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! \n\nThe computer's number was "<< x << endl;
win=true;
}
}
并将其命名为
result(PlayerNumber,x);
此代码应该在哪里。