void Gameover() { int n, highScore; int i,j=1; for (i = 2; i <= 25; i++) { for (j = 15; j <= 89; j++) { gotoxy(j, i); if (i == 2 || i == 25) printf("■"); else if (j == 15 || j == 89) printf("■"); } } fstream file; file.open("highscore.txt", ios::in); if (file.is_open()) { file >> highScore; if (sorce > highScore) { highScore = sorce; file.close(); file.open("highscore.txt", ios::out | ios::trunc); file << highScore; } gotoxy(30, 10); cout << "历史最高得分:" << highScore << endl; } else { gotoxy(30, 10); cout << "无历史记录" << endl; highScore = 0; file.close(); file.open("highscore.txt", ios::out | ios::trunc); file << highScore; } gotoxy(20, 12); printf("\t\t ┏━━━━┓ ┏━━━━┓\n"); printf("\t\t\t\t分数: %ld 用时: %ds \n", sorce, time(NULL) - Time); printf("\t\t\t\t ┗━━━━┛ ┗━━━━┛\n"); gotoxy(35, 23); printf("1.继续游戏 2.返回上一级 3.退出游戏\n"); gotoxy(35, 24); printf("请输入[1 2 3]:[ ]\b\b"); } void add1() { Time=time(NULL); drawTheGameBox(); int num_rand_1,num_rand_2; int n,y=3,x=26; srand(time(NULL)); for(int i=0;i<18;i++) { gotoxy(25,y+=1); num_rand_1=rand()%11; num_rand_2=rand()%11; printf("%2d+%2d=",num_rand_1,num_rand_2); scanf("%d",&n); if(n==num_rand_1+num_rand_2) { gotoxy(65,y); n++; sorce+=10; printf("答对啦!"); gotoxy(x+=2,22); printf("★"); drawTheGameBox(); }else{ gotoxy(65,y); printf("答错啦,继续加油!"); drawTheGameBox(); } } system("cls"); Gameover(); scanf("%d",&n); switch(n) { case 1: system("cls"); sorce=0; add1(); break; case 2: system("cls"); sorce=0; add(); break; case 3: exit(0); break; default: system("cls"); gotoxy(42,24); printf("请重新输入!"); Gameover(); break; } }完善上述两段代码之间的功能
时间: 2024-03-18 10:42:32 浏览: 21
这两段代码之间的功能应该是实现游戏结束后的处理。可以将以下代码添加到这两段代码之间,实现以下功能:
- 输出当前得分。
- 输出当前用时。
- 调用更新历史最高得分的函数。
- 输出游戏结束提示信息。
- 输出继续游戏、返回上一级、退出游戏的选项。
- 等待用户输入选项,并根据选项进行处理。
具体实现如下:
```C++
// 输出当前得分
gotoxy(35, 8);
printf("当前得分:%ld", sorce);
// 输出当前用时
gotoxy(35, 9);
printf("当前用时:%ds", time(NULL) - Time);
// 更新历史最高得分
updateHighScore(sorce);
// 输出游戏结束提示信息
gotoxy(35, 11);
printf("游戏结束!");
// 输出选项
gotoxy(35, 13);
printf("1.继续游戏");
gotoxy(35, 14);
printf("2.返回上一级");
gotoxy(35, 15);
printf("3.退出游戏");
gotoxy(35, 16);
printf("请输入选项[1-3]: ");
// 等待用户输入选项,并根据选项进行处理
int option;
scanf("%d", &option);
switch (option) {
case 1:
system("cls");
sorce = 0;
add1();
break;
case 2:
system("cls");
sorce = 0;
add();
break;
case 3:
exit(0);
break;
default:
system("cls");
gotoxy(42, 24);
printf("无效选项,请重新输入!");
Gameover();
break;
}
```
其中,`updateHighScore` 函数是用来更新历史最高得分的函数,可以参考前面的代码实现。