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

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

}

游戏结束

相关推荐
扶风ff5 小时前
新品知识更新太快?用练题簿在线刷题,安排企业培训的小测与复盘
前端·学习·小程序
传奇开心果编程8 小时前
【SwiftUI提高练中学】第13课 实时活动与灵动岛:ActivityKit 实战
学习·ui·ios·swiftui·swift
欣欣之王来了8 小时前
Python入门:什么是Python以及为什么选择它
学习·架构·面向对象·项目·python教程
dadaobusi9 小时前
pcie原子操作和nvme原子操作
学习
sunshine22 girl9 小时前
Java学习五 面向对象高级5 内部类1
java·学习
bryant_meng10 小时前
【Game】Powerful——Pets(4.4)125~135
游戏·幻唐志·墨虎·贪狼·蚩尤武魂
每天题库11 小时前
架子工脚手架工题库:安全操作考点与模拟题练习指南
学习·安全·考试·题库·考证
yangmu320312 小时前
Codex 提示词优化教程:用四要素把模糊需求变成可执行任务
人工智能·学习
无敌贵点大王13 小时前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread
bryant_meng13 小时前
【Game】Powerful——Pets(4.3)75~115
游戏·幻唐志·瑶光·赤炎童子·罗刹女