/*
* 结束界面
*/
void endgame()
{
system("cls");
if(endgamestatus == 1)//蛇撞墙
{
Lostdraw();
gotoxy(35,9);
color(12);
printf("对不起,您撞到了墙,游戏结束!");
}
else if(endgamestatus == 2)
{
Lostdraw();
gotoxy(35,9);
color(12);
printf("对不起,您咬到了自己,游戏结束!");
}
else if(endgamestatus == 3)
{
Lostdraw();
gotoxy(40,9);
color(12);
printf("您已经结束了游戏");
}
color(13);
gotoxy(43,12);
printf("您的得分是:%d",score);
if(score >=HighScore)
{
color(10);
gotoxy(33,16);
printf("创新记录啦!最高分被你刷新啦!真棒!");
File_in();
}else{
color(10);
gotoxy(33,16);
printf("继续努力吧!你离最高分还差:%d",HighScore-score);
}
choose();
}
/*
* 将最高分存储进文件
*/
void File_in()
{
FILE *fp;
fp = fopen("save.txt","w+");
fprintf(fp,"%d",score);
fclose(fp);
}
/*
* 边框下方的分支选项
*/
void choose()
{
int n;
color(12);
gotoxy(25,23);
printf("我要重新玩一局----1");
gotoxy(52,23);
printf("不玩了,退出吧----2");
color(11);
gotoxy(46,25);
printf("选择:");
scanf("%d",n);
switch(n)
{
case 1:
system("cls");
score = 0;
sleeptime = 200;
add = 10;
printsnake();
welcometogame();
break;
case 2:
exit(0);
break;
default:
color(12);
gotoxy(35,27);
printf("※※您的输入有误,请重新输入※※");
system("pause>nul");
endgame();
choose();
break;
}
}
/*
* 游戏说明
*/
void explation()
{
int i,j = 1;
system("cls");
color(13);
gotoxy(44,3);
printf("游戏说明");
color(2);
for(i=6;i<=22;i++)
{
for(j=20;j<=75;j++)
{
gotoxy(j,i);
if(i == 6|| i == 22)
{
printf("-");
}
if(j == 20 || j == 75)
{
printf("||");
}
}
}
color(7);
gotoxy(30,8);
printf("tip1:不能穿墙,不能咬到自己");
color(10);
gotoxy(30,11);
printf("tip2:用↑.↓.←.→分别控制蛇的移动");
color(14);
gotoxy(30,14);
printf("tip3:F1为加速,F2为减速");
color(11);
gotoxy(30,17);
printf("tip4:按空格键暂停游戏,在按空格键继续游戏");
color(4);
gotoxy(30,20);
printf("tip5:ESC:退出游戏.space:暂停游戏");
getch(); //按任意键可以回到主界面
system("cls");
printsnake();
welcometogame();
}
/*
* 主函数
*/
int main()
{
system("mode con cols=100 lines=30");//设置成宽100,长30
printsnake();
welcometogame();
scoreandtips();
File_out();
keyboardControl();
endgame();
return 0;
}