C语言飞机大战

if (enemy[i].alive == true && player.alive) {//敌机与我机碰撞检测
            if (enemy[i].type == BIG) {
                if ((enemy[i].x <= ((player.x * 2 + 102) / 2) && enemy[i].x + 169 >= ((player.x * 2 + 102) / 2)) && (enemy[i].y <= player.y && player.y <= enemy[i].y + 258)) {

                    enemy_num--;
                    player.die++;
                    enemy[i].alive = false;
                    enemy[i].destroy = true;
                    player.heart -= Enemy_bullet;

                }
            }
            if (enemy[i].type == MID) {
                if ((enemy[i].x <= ((player.x * 2 + 102) / 2) && enemy[i].x + 69 >= ((player.x * 2 + 102) / 2)) && (enemy[i].y <= player.y && player.y <= enemy[i].y + 99)) {

                    enemy_num--;
                    player.die++;
                    enemy[i].alive = false;
                    enemy[i].destroy = true;
                    player.heart -= 2;


                }
            }
            if (enemy[i].type == SMALL) {
                if ((enemy[i].x <= ((player.x * 2 + 102) / 2) && enemy[i].x + 57 >= ((player.x * 2 + 102) / 2)) && (enemy[i].y <= player.y && player.y <= enemy[i].y + 43)) {

                    enemy_num--;
                    player.die++;
                    enemy[i].alive = false;
                    enemy[i].destroy = true;
                    player.heart--;

                }
            }
        }

这是我自己写的碰撞检测函数,我把子弹粗糙化为锥形,以锥形的顶点来判断是否进行碰撞,我的水平有限,大家可以自行修改。并且我加入了开始页面,以为我的素材里没有开始,所以我勉强使用重新开始来代替,但是我没做结束页面,大家自行添加(其实是懒得做了)。

WASD(↑←↓→)键控制方向,空格键控制发射子弹。

在playerMove()函数中有一段这样的代码:

    if (GetAsyncKeyState(VK_SPACE)  /* & 0x0001*/) {
        createBullet();
    }

大家可以将注释删除掉,这样可以使子弹随空格的敲击次数释放,而不是可以按着空格一直释放。

源码可以私信我。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言飞机大战压缩包是一个包含有关C语言编写的飞机大战游戏的文件和资料的压缩文件。在这个压缩包中,您可以找到游戏的源代码文件、所使用的库文件、图像和声音文件以及其他相关的资源文件。 首先,游戏的源代码文件是以C语言编写的程序代码文件,其中包含了游戏的逻辑和算法。通过查看源代码文件,您可以阅读和理解游戏的实现过程,了解每个函数和变量的作用,从而可以对游戏进行修改和定制。 其次,库文件是用于支持游戏运行的文件,包含了游戏所需的外部库函数和相关的头文件。这些库文件可以帮助您简化编写代码的过程,提供了一些常用的功能和工具,例如图形绘制、碰撞检测等等。 此外,压缩包中还可能包含了游戏所使用的图像和声音文件。这些文件可以用于展示游戏中的角色、道具和场景等等。您可以根据需要对这些文件进行替换或修改,以达到个性化定制的效果。 最后,压缩包还可能包含一些说明文档和教程资料,用于帮助您了解游戏的使用方法和开发过程。这些资料可以提供给您参考,以便更好地理解和应用C语言编写飞机大战游戏的技术和方法。 总之,C语言飞机大战压缩包是一个为了方便用户学习和使用C语言编写飞机大战游戏而打包压缩的文件。通过解压和使用这个压缩包,您可以轻松地查看和了解游戏的源代码,修改和定制游戏,以及学习和应用相关的编程技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值