|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
今天就是我们飞机大战编写教程的第四章,也到了最后的一个步骤,飞机大战就可以完成了。
今天我们要判定游戏结束,敌机死亡和分数等数据的统计。
判定游戏结束和敌机死亡同样需要用到gotoxy()函数。只要敌机的坐标和子弹的坐标相同,就显示1,2,3然后在底线任意一点复活。
如果敌机的坐标和我机坐标相同,就进入byebye函数。
而向总得分,敌机数,歼敌数都已经分别在f,m,j等参数中保存过了。
命中率可以用((float)j/(float)m)*100这样算出。
下面上程序。
- void byebye()
- {
- if((x==d&&y==r)||(x==d1&&y==r1)||(x==d2&&y==r2))
- {
- gotoxy(1,3);
- printf(" !!! 游戏结束 !!!\n"
- "*******************\n"
- " 您的总得分: %d\n\n"
- " 敌机数: %d\n"
- " 歼敌数: %d\n"
- " 命中率: %.0f %%\n"
- "*******************\n",f,m,j,((float)j/(float)m)*100);
- while(!kbhit())
- {
- Sleep(500);
- gotoxy(1,12);
- printf(" 继续请按任意键...\n\n\n");
- Sleep(900);
- gotoxy(1,12);
- printf(" ");
- }
- gotoxy(0,0);
- huatu();
- f=0; m=0; j=0;
- if(x>=18) x--;
- else x++;
- }
- }
复制代码
另外我们再说一下kbhit()函数。这个函数的功能就是检测是否有键盘输入。
楼主就是利用这个函数解决了如果我机不动敌机就不动的问题。
详情请见上一篇文章的dfeiji()函数。
明天我就把整个原代码发上来。
|
|