项目-坦克大战学习-游戏结束

当boos受到伤害时游戏结束,游戏结束时我们需要将窗体全部绘制从别的画面,这样我们可以在游戏运行类中的update设置条件,在游戏运行类thread创建一个枚举类型定义是否游戏结束

public enum Game { play, over };//定义现在游戏运行状态

如果游戏没结束(play)或者游戏结束(over)运行不同的程序

if (game == Game.play)//如果没结束

{

duixiangweizhi.update(); //每帧调用集合

}

else if (game == Game.over) { duixiangweizhi.gameover(); }//如果结束调用绘制结束页面方法

我们需要在子弹类检测如果人机的子弹碰撞到boos那么就将游戏运行类的枚举类型修改为over

if (zd == zidanen.renji)//如果子弹是由人机发射出

{

if (duixiangweizhi.boospengzhuang(rec)!=null)

{

duixiangweizhi.boom(boomx, boomy);//爆炸特效

xiaohui = true;

tankthread.game = tankthread.Game.over;

}

}

然后定义一个可调用的方法,在游戏结束后绘制结束界面

首先定义一个画布变量获取到当前窗体画布

public static Graphics g=tankthread.g;

在在开始我们就将游戏运行类的画布变量获取到窗体画布了,所以这里直接赋值就可以

然后在方法中绘制游戏结束页面,顺便调整绘制位置保证结束页面在窗体中心

public static void gameover()//游戏结束

{

int x = 450 / 2 - Resources.GameOver.Width / 2;

int y =450/2-Resources.GameOver.Height / 2;

g.DrawImage(Resources.GameOver, x, y);//绘制结束页面

}

游戏结束

相关推荐
拾陆楼26 分钟前
PT: DMSA辅助调tree报告前后级余量脚本
后端·学习
sbjdhjd2 小时前
大三网安秋招核心学习前言(AI 安全 + Web 漏洞 + 内网渗透全考点)
人工智能·网络协议·学习·安全·网络安全·开源·php
LccKyI3 小时前
C#学习day06(方法/函数及其关键字,附思维导图)
经验分享·学习·c#
xian_wwq4 小时前
【学习笔记】Loop Engineering,从手动提示到目标驱动自动化-13/16
笔记·学习·自动化
殷忆枫4 小时前
K210 BOX学习笔记:环境搭建及模型训练部署
学习
qq_185198694 小时前
SpingBoot3入门学习-Web开发-三
java·数据库·学习
lifallen5 小时前
Avernet:Agent 的组织网络
人工智能·学习·ai·开源软件·ai编程
我爱cope5 小时前
【计算机网络 | 数据链路层2:差错检测与纠正:奇偶校验、校验和、CRC 分别怎么工作?】
网络·学习·计算机网络
知识分享小能手5 小时前
线性代数学习教程,从入门到精通,矩阵及其运算 — 完整知识点与详细推导(3)
学习·线性代数·矩阵
小弥儿6 小时前
Firecrawl:把整个网页变成 AI 可查询的数据库
数据库·人工智能·学习