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

news/2024/12/4 11:26:37/

在这里插入图片描述
在这里插入图片描述

文章目录

  • 一、设计来源
    • 飞机大战小游戏讲解
    • 1.1 主界面
    • 1.2 游戏运行界面
    • 1.3 游戏结束界面
  • 二、效果和源码
    • 2.1 动态效果
    • 2.2 源代码
  • 源码下载
  • 更多优质源码分享

作者: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飞机大战小游戏源码(源码) 点击下载
在这里插入图片描述

更多优质源码分享

  • 【百篇源码模板】html5各行各业官网模板源码下载

  • 【模板源码】html实现酷炫美观的可视化大屏(十种风格示例,附源码)

  • 【VUE系列】VUE3实现个人网站模板源码

  • 【HTML源码】HTML5小游戏源码

  • 【C#实战案例】C# Winform贪吃蛇小游戏源码


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

请添加图片描述

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

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

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

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

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

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


     ① 🉑提供云服务部署(有自己的阿里云);
     ② 🉑提供前端、后端、应用程序、H5、小程序、公众号、大作业等相关业务;
     如🈶合作请联系我,期待您的联系。
    :本文撰写于CSDN平台,作者:xcLeigh(所有权归作者所有),https://blog.csdn.net/weixin_43151418,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


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


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


http://www.ppmy.cn/news/1552254.html

相关文章

3248. 矩阵中的蛇

3248. 矩阵中的蛇 题目链接&#xff1a;3248. 矩阵中的蛇 代码如下&#xff1a; class Solution { public:int finalPositionOfSnake(int n, vector<string>& commands){int i 0, j 0;for (string& command : commands){if (command "LEFT") { j…

mysql数据库之三范式

三范式&#xff08;Third Normal Form&#xff0c;3NF&#xff09;是关系数据库设计中的一种规范化方式&#xff0c;旨在消除冗余数据并保持数据的一致性和完整性。 三范式的设计原则如下&#xff1a; 1. 第一范式&#xff08;1NF&#xff09;&#xff1a;关系表中的每个字段必…

RK3568国产处理器_教学实验箱_操作教程:1-22 密码学编程实验

一、实验目的 本节视频的目的是了解常见的加密方法并掌握加密与解密的开发实例演示方法。 二、实验原理 反转加密法 常见的加密方法有反转加密法、凯撒加密法和换位加密法。 凯撒加密法 凯撒加密法是一种简单的消息编码方式。它根据字母表将消息中的每个字母移动常量位k。…

TiDB 架构

整体架构 与传统的单机数据库相比&#xff0c;TiDB 具有以下优势&#xff1a; 纯分布式架构&#xff0c;拥有良好的扩展性&#xff0c;支持弹性的扩缩容支持 SQL&#xff0c;对外暴露 MySQL 的网络协议&#xff0c;并兼容大多数 MySQL 的语法&#xff0c;在大多数场景下可以直…

SpringAi整合大模型(进阶版)

进阶版是在基础的对话版之上进行新增功能。 如果还没弄出基础版的&#xff0c;请参考 https://blog.csdn.net/weixin_54925172/article/details/144143523?sharetypeblogdetail&sharerId144143523&sharereferPC&sharesourceweixin_54925172&spm1011.2480.30…

头歌作业 数据库与大数据管理 期末复习资料

1、 下列说法错误的是&#xff1f;c A、UserCF算法推荐的是那些和目标用户有共同兴趣爱好的其他用户所喜欢的物品 B、ItemCF算法推荐的是那些和目标用户之前喜欢的物品类似的其他物品 C、UserCF算法的推荐更偏向个性化 D、UserCF随着用户数目的增大&#xff0c;用户相似度…

vue 中那些理解应用的点=》生命周期=》自定义指令=》this=>defineProperty=>proxy

文章目录 vue阶段详解&#xff0c;对标上篇文章 [点这里](https://blog.csdn.net/m0_51244077/article/details/143170970)vue2 created 阶段 详解beforemount 之 render 函数beforemount 之 dom 处理updated 函数应用vue中全局属性设置vue3中 this 为什么去除vue 中 directive…

学习ASP.NET Core的身份认证(基于Session的身份认证3)

开源博客项目Blog中提供了另一种访问控制方式&#xff0c;其基于自定义类及函数的特性类控制访问权限。本文学习并测试开源博客项目Blog的访问控制方式&#xff0c;测试程序中直接复用开源博客项目Blog中的相关类及接口定义&#xff0c;并在其上调整判断逻辑。   首先是接口A…