void Die()//游戏结束
{
system("cls");
Set_location(30, 12);
if (end_condition == 1)//不同情况会导致游戏结束时现实的文字不同
{
Yellow_color();
cout << "撞墙而死!!!!!";
}
else if (end_condition == 2)
{
Yellow_color();
cout << "竟然咬到自己!!!!";
}
else if (end_condition == 3)
{
Yellow_color();
cout << "你自己结束了游戏。。。";
}
else if (end_condition == 4)
{
Yellow_color();
cout << "你撞倒了障碍物!!!!";
}
Set_location(30, 13);
Yellow_color();
cout << "得分:" << score << endl;
system("pause");
exit(0);
}
system("pause");
exit(0);
改为
system("pause");
main();//再次调用main函数试试
首先,去除exit(0);
,这句会直接让程序结束,而不是想继续system("pause");
可以不用修改,下面提供一个可以不调用系统命令实现等待用户按任意键的方案
引用头文件<conio.h>
(请注意,这不是一个标准库的头文件)
然后将system("pause");
改为getch();
,即从屏幕读取一个字符但不回显,即
void Die()//游戏结束
{
//省略前面的代码
//去掉了exit(0),否则程序会直接退出
getch(); //按任意键继续
return; //返回到调用本函数的函数,而不是退出程序
}
如果要让用户敲指定键继续
void Die()//游戏结束
{
char ch;
//省略前面的代码
//去掉了exit(0),否则程序会直接退出
cout << "按p键退出...\n";
do
{
ch = getch(); //按任意键继续
} while (ch == 'p'); //'p'是我指定的键,你也可以换成自己要求的键
return; //返回到调用本函数的函数,而不是退出程序
}