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

当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);//绘制结束页面

}

游戏结束

相关推荐
海绵宝宝转agent21 小时前
leetcodehot100个人题解
java·笔记·学习·算法
学长毕设1 天前
基于SpringBoot的青少年编程学习平台系统-附源码
spring boot·学习·青少年编程
ShyanZh1 天前
【GTA】无法启动游戏排查:RockstarLauncher-C0000005与IDA环境冲突排查
游戏·gta
小小de风呀1 天前
de风——【从零开始学习Linux】(九):进程基础 —— 从冯诺依曼体系到 fork 创建进程
linux·学习
李某学编程1 天前
基于ARM的微机原理学习笔记(一)
arm开发·笔记·学习
Song_RsHt1 天前
Redis 与微服务,什么场景下无可替代
java·redis·后端·学习·微服务
~kiss~2 天前
PRO-LONG: Programmatic Memory Enables Long-Horizon Reasoning 程序式记忆赋能长程推理
学习
程序猿编码2 天前
不依赖 vLLM/llama.cpp:一套面向学习的 DeepSeek-R1 CUDA 推理实现
c++·学习·语言模型·llama·vllm·大模型推理
ms72wx2 天前
Docker 命令学习笔记:从入门到进阶的实战指南
笔记·学习·docker
外收内放2 天前
FastAPI猜字谜实战(4):让AI主持人开口
开发语言·python·学习·fastapi