C# Winform飞机大战小游戏源码


文章目录

作者:xcLeigh

文章地址:https://blog.csdn.net/weixin_43151418/article/details/144193015


C# Winform飞机大战小游戏源码,飞机大战小游戏源码,窗体应用程序飞机大战小游戏源码,界面风格干净整洁,内容条理清晰,通过W-A-S-D控制飞机,K键发射子弹,被敌机子弹击中则减少1分并减少1点生命值,若我方子弹击中敌机则增加1分。碰撞检测:当玩家子弹击中敌机后,敌机爆炸,并播放爆炸音效。界面上有两个矩形条,分别表示生命值和得分;当生命值或得分减到0,游戏结束。这个源码让你快速搭建自己的应用程序,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接用程序打开,运行使用。也可直接点击EXE运行程序。

一、设计来源

本文章是分类专栏下的【C#实战案例

】里面的一篇,专栏里面包括网站,窗体应用程序的源码,技术点解析等案列源码,让你更加掌握C#。持续更新中,欢迎大家关注,一起学习交流。

✂ 点击快速进入专栏

飞机大战小游戏讲解

游戏规则:

通过W-A-S-D控制飞机,K键发射子弹,被敌机子弹击中则减少1分并减少1点生命值,若我方子弹击中敌机则增加1分。碰撞检测:当玩家子弹击中敌机后,敌机爆炸,并播放爆炸音效。界面上有两个矩形条,分别表示生命值和得分;当生命值或得分减到0,游戏结束。

1.1 主界面

飞机大战小游戏主界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),点击开始游戏图标进入游戏界面。

1.2 游戏运行界面

飞机大战游戏运行界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),点击开始游戏图标进入游戏界面,通过W-A-S-D控制飞机,K键发射子弹,被敌机子弹击中则减少1分并减少1点生命值,若我方子弹击中敌机则增加1分。碰撞检测:当玩家子弹击中敌机后,敌机爆炸,并播放爆炸音效。界面上有两个矩形条,分别表示生命值和得分;当生命值或得分减到0,游戏结束。

1.3 游戏结束界面

飞机大战游戏结束界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),点击开始游戏图标进入游戏界面,通过W-A-S-D控制飞机,K键发射子弹,被敌机子弹击中则减少1分并减少1点生命值,若我方子弹击中敌机则增加1分。碰撞检测:当玩家子弹击中敌机后,敌机爆炸,并播放爆炸音效。界面上有两个矩形条,分别表示生命值和得分;当生命值或得分减到0,游戏结束。

二、效果和源码

2.1 动态效果

这里是完整的效果演示,可在此代码基础上更加完善功能,支持扩展自己的风格,可以删减内容,打造属于自己的飞机大战小游戏。

C# Winform飞机大战小游戏源码

2.2 源代码

这里是部分技术点的代码演示,更多代码,资源文件,见下面的 源码下载 ,里面有所有代码资源和相关说明。或者直接在这里 下载源码,如有其他技术问题,请私信博主,博主看到后第一时间回复。

  • 显示我的飞机

    public static void MyPlaneShow(Graphics g)
    {
    if (health > 0)
    {
    g.DrawImage(myPlaneImg, x, y);
    }
    else if (health <= 0 || score <= 0)
    {
    isGameOver = true;
    g.DrawImage(myPlaneImg, 0, -300);
    g.DrawImage(gameOver, 10, 260);
    }
    else if (isGetBlood && health <= 90)
    {
    health += 10;
    }
    }

  • 用键盘控制我方飞机移动

    //wasd控制移动方向
    public static void MyPlaneMove()
    {
    if(isGameOver)
    {
    return;
    }
    if (IsKeyDown(Keys.A))
    {
    myPlaneImg = Resource.planeLeft;
    if (x < 5)
    x = 5;
    x -= PLANE_OFFSET;
    }
    if (IsKeyDown(Keys.D))
    {
    myPlaneImg = Resource.planeRight;
    if (x > 370)
    x = 370;
    x += PLANE_OFFSET;
    }
    if (IsKeyDown(Keys.W))
    {
    if (y < 5)
    y = 5;
    y -= PLANE_OFFSET;
    }
    if (IsKeyDown(Keys.S))
    {
    if (y > 530)
    y = 530;
    y += PLANE_OFFSET;
    }
    }

  • K键发出子弹

    public static void ProduceMybul()
    {
    if (!MyPlane.isGameOver && MyPlane.IsKeyDown(Keys.K))
    {
    mybulList.Add(new MyBullet(MyPlane.x + 13, MyPlane.y - 10, 0));
    if (MyPlane.isGetGun)
    {
    mybulList.Add(new MyBullet(MyPlane.x + 13, MyPlane.y - 8, 60));
    mybulList.Add(new MyBullet(MyPlane.x + 7, MyPlane.y - 8, 30));
    mybulList.Add(new MyBullet(MyPlane.x + 30, MyPlane.y - 12, 120));
    mybulList.Add(new MyBullet(MyPlane.x, MyPlane.y - 7, 150));
    }
    }
    }


源码下载

注:源码下载在文章头部也可以点击下载,跟这里的是一样的

C# Winform飞机大战小游戏源码(源码) 点击下载

更多优质源码分享


--------------- 业精于勤,荒于嬉 ---------------


--------------- 行成于思,毁于随 ---------------


💢 关注博主 带你实现畅游前后端

🏰 大屏可视化 带你体验酷炫大屏

💯 神秘个人简介 带你体验不一样得介绍

💘 为爱表白 为你那个TA,体验别致的浪漫惊喜

🎀 酷炫邀请函 带你体验高大上得邀请


① 🉑提供云服务部署 (有自己的阿里云);

② 🉑提供前端、后端、应用程序、H5、小程序、公众号、大作业等相关业务;

如🈶合作请联系我,期待您的联系。

:本文撰写于CSDN平台,作者:xcLeigh(所有权归作者所有),https://blog.csdn.net/weixin_43151418,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏 ,如 🈶 问题请 留言(私信或评论),博主看见后一定及时给您答复,💌💌💌


原文地址:https://blog.csdn.net/weixin_43151418/article/details/144193015(防止抄袭,原文地址不可删除)

相关推荐
薛定谔的猫喵喵11 分钟前
基于PyQt5的视频答题竞赛系统设计与实现
开发语言·qt·音视频
岱宗夫up16 分钟前
Python 数据分析入门
开发语言·python·数据分析
码界筑梦坊18 分钟前
325-基于Python的校园卡消费行为数据可视化分析系统
开发语言·python·信息可视化·django·毕业设计
多恩Stone21 分钟前
【RoPE】Flux 中的 Image Tokenization
开发语言·人工智能·python
李日灐24 分钟前
C++进阶必备:红黑树从 0 到 1: 手撕底层,带你搞懂平衡二叉树的平衡逻辑与黑高检验
开发语言·数据结构·c++·后端·面试·红黑树·自平衡二叉搜索树
Risehuxyc32 分钟前
备份三个PHP程序
android·开发语言·php
lly20240638 分钟前
PHP Error: 常见错误及其解决方法
开发语言
网安墨雨39 分钟前
Python自动化一------pytes与allure结合生成测试报告
开发语言·自动化测试·软件测试·python·职场和发展·自动化
毕设源码李师姐41 分钟前
计算机毕设 java 基于 java 的图书馆借阅系统 智能图书馆借阅综合管理平台 基于 Java 的图书借阅与信息管理系统
java·开发语言·课程设计
忆~遂愿41 分钟前
Runtime 上下文管理:计算实例的生命周期、延迟最小化与上下文切换优化
java·大数据·开发语言·人工智能·docker