当前位置: 首页 > news >正文

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

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

游戏结束

http://www.lryc.cn/news/454506.html

相关文章:

  • MySQL基础之约束
  • 2024新版IDEA创建JSP项目
  • Conda创建,打包,删除环境相关及配置cuda
  • Linux和指令初识
  • Vortex GPGPU的github流程跑通与功能模块波形探索(二)
  • 【X线源】微焦点X射线源的基本原理
  • LeetCode hot100---栈专题(C++语言)
  • STM32-MPU6050+DAM库源码(江协笔记)
  • Ruby 数组(Array)
  • 分享几个做题网站------学习网------工具网;
  • Spring MVC__入门
  • MATLAB GUI组件全解析:构建交互式应用程序
  • MySQL 实验 2:数据库的创建与管理
  • LeetCode 2390. 从字符串中移除星号【栈】1347
  • springboot文件上传(阿里云oss)
  • Linux下Nodejs应用service配置
  • 设计模式-结构型-常用:代理模式、桥接模式、装饰者模式、适配器模式
  • 用多了编程工具,还是Editplus3最贴心
  • Angular基础学习(入门 --> 入坑)
  • 吊打ChatGPT4o!大学生如何用上原版O1辅助论文写作(附论文教程)
  • Linux防火墙-常用命令
  • C++:STL常用算法随笔
  • Python NumPy学习指南:从入门到精通
  • Flutter笔记--通知
  • Aegisub字幕自动化及函数篇(图文教程附有gif动图展示)(二)
  • 系统分析师16:系统测试与维护
  • 详解Java中的堆内存
  • C++类和对象下详细指南
  • 【瑞昱RTL8763E】音频
  • videojs 播放监控