飞机大战小游戏编写教程(4)
今天就是我们飞机大战编写教程的第四章,也到了最后的一个步骤,飞机大战就可以完成了。今天我们要判定游戏结束,敌机死亡和分数等数据的统计。
判定游戏结束和敌机死亡同样需要用到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()函数。
明天我就把整个原代码发上来。
沙发945
@machimilk @小甲鱼的二师兄 @康小泡 @拈花小仙 @黑龍 zlh 发表于 2016-2-15 09:37
沙发945
@machimilk @小甲鱼的二师兄 @康小泡 @拈花小仙 @黑龍
发一下截图吧 就是游戏的截图{:9_228:} 黑龍 发表于 2016-2-15 10:15
发一下截图吧 就是游戏的截图
明天发,界面也不是很炫 支持!!!
页:
[1]