鱼C论坛

 找回密码
 立即注册
查看: 2394|回复: 4

[技术交流] 飞机大战小游戏编写教程(4)

[复制链接]
发表于 2016-2-15 09:36:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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()函数。
明天我就把整个原代码发上来。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-2-15 09:37:02 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-2-15 10:15:17 | 显示全部楼层
zlh 发表于 2016-2-15 09:37
沙发945
@machimilk @小甲鱼的二师兄 @康小泡 @拈花小仙 @黑龍

发一下截图吧 就是游戏的截图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-15 19:58:09 | 显示全部楼层
黑龍 发表于 2016-2-15 10:15
发一下截图吧 就是游戏的截图

明天发,界面也不是很炫
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-2-29 09:42:17 | 显示全部楼层
支持!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 20:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表