项目-坦克大战学习-游戏结束
当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);//绘制结束页面
}
游戏结束
相关文章:
项目-坦克大战学习-游戏结束
当boos受到伤害时游戏结束,游戏结束时我们需要将窗体全部绘制从别的画面,这样我们可以在游戏运行类中的update设置条件,在游戏运行类thread创建一个枚举类型定义是否游戏结束 public enum Game { play, over };//定义现在游戏运行状态 如果…...
MySQL基础之约束
MySQL基础之约束 概述 概念:约束是作用在字段的规则,限制表中数据 演示 # 多个约束之间不需要加逗号 # auto_increment 自增 create table user(id int primary key auto_increment comment 主键,name varchar(10) not null unique comment 姓名,age i…...
2024新版IDEA创建JSP项目
1. 创建项目 依次点击file->new->Project 配置如下信息并点击create创建项目 2. 配置Web项目 点击file->Project Structure 在点击Project Settings->Module右键右边模块名称->ADD->Web 点击Create Artifact 出现如下界面就表示配置完毕,…...
Conda创建,打包,删除环境相关及配置cuda
conda创建新环境Anaconda删除虚拟环境conda删除环境conda环境打包迁移及部署Python | Conda pack 进行环境打包Anaconda创建环境、删除环境、激活环境、退出环境Anaconda环境离线迁移_CondaPackError处理Anaconda环境离线迁移移植Anaconda-用conda创建python虚拟环境anaconda 配…...
Linux和指令初识
前言 Linux是我们在服务器中常用的操作系统,我们有必要对这个操作系统有足够的认识,并且能够使相关的指令操作。今天我们就来简单的认识一下这个操作的前世今生,并且介绍一些基础的指令操作 Linux的前世今生 要说Linux,还得从U…...
Vortex GPGPU的github流程跑通与功能模块波形探索(二)
文章目录 前言一、环境配置和debugging.md文档1.1 调试 Vortex GPU1.1.1测试 RTL 或模拟器 GPU 驱动的更改1.1.2 SimX 调试1.1.3 RTL 调试1.1.4 FPGA 调试1.1.5 分析 Vortex 跟踪日志 二、跑出波形文件和日志文件总结 前言 昨天另辟蹊径地去探索了子模块的波形仿真,…...
【X线源】微焦点X射线源的基本原理
【X线源】微焦点X射线源的基本原理 1.背景2.原理 1.背景 1895年11月8日,德国物理学家威廉伦琴在研究阴极射线时偶然发现了X射线。当时,他注意到阴极射线管附近的荧光屏发出了光,即使它被纸板遮挡住。经过进一步实验,他意识到这种…...
LeetCode hot100---栈专题(C++语言)
1、有效的括号 (1)题目描述以及输入输出 (1)题目描述: 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。(2)输入输出描述: 输入:s "()&…...
STM32-MPU6050+DAM库源码(江协笔记)
目录 1、MPU6050简介 2、MPU6050参数 3、MPU6050硬件电路 4、MPU6050结构 5、MPU6000和MPU6050的区别 6、MPU6050应用场景 7、MPU6050电气参数 8、MPU6050时钟源选择 9、MPU6050中断源 10、MPU6050的I2C读写操作 11、DMP库移植 1、MPU6050简介 10轴传感器࿱…...
Ruby 数组(Array)
Ruby 数组(Array) 引言 Ruby,作为一种高级编程语言,以其简洁明了的语法和强大的功能而闻名。在Ruby中,数组(Array)是一种基本的数据结构,用于存储一系列有序的元素。本文将深入探讨…...
分享几个做题网站------学习网------工具网;
以下是就是做题网站;趣IT官网-互联网求职刷题神器趣IT——互联网在线刷题学习平台,汇集互联网大厂面试真题,拥有java、C、Python、前端、产品经理、软件测试、新媒体运营等多个热门IT岗位面试笔试题库,提供能力测评、面试刷题、笔…...
Spring MVC__入门
目录 一、SpringMVC简介1、什么是MVC2、什么是SpringMVC 二、Spring MVC实现原理2.1核心组件2.2工作流程 三、helloworld1、开发环境2、创建maven工程3、配置web.xml4、创建请求控制器5、创建springMVC的配置文件6、测试HelloWorld7、总结 一、SpringMVC简介 1、什么是MVC MV…...
MATLAB GUI组件全解析:构建交互式应用程序
MATLAB的图形用户界面(GUI)是一个功能强大的工具,它允许开发者创建直观且用户友好的界面。这些界面,也称为应用程序或app,提供了点击控制,使得用户无需学习编程语言或输入命令即可运行应用程序。本文将详细…...
MySQL 实验 2:数据库的创建与管理
MySQL 实验 2:数据库的创建与管理 目录 MySQL 实验 2:数据库的创建与管理一、查看数据库1、语法2、举例 二、创建数据库1、语法2、举例 三、选择数据库1、语法2、举例 四、删除数据库1、语法2、举例 一、查看数据库 1、语法 show databases;2、举例 m…...
LeetCode 2390. 从字符串中移除星号【栈】1347
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
springboot文件上传(阿里云oss)
本地存储 使用uuid是为了避免文件名的重复,防止覆盖 RestController public class FIleUploadController {PostMapping("/upload")public Result<String> upload(MultipartFile file) throws IOException {//把文件的内容存储到本地磁盘上String …...
Linux下Nodejs应用service配置
Linux 的 service 命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。service 命令本身是一个 shell 脚本,它在…...
设计模式-结构型-常用:代理模式、桥接模式、装饰者模式、适配器模式
代理模式 快速入门 代理模式是指在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能。 比如这段统计性能的代码: public class UserController {//...省略其他属性和方法...private MetricsCollecto…...
用多了编程工具,还是Editplus3最贴心
编程久了,发现越是复杂的编程工具越是烦人,而不是帮助人。 早期Java届是没有统一的IDE的,有些人习惯用文本编辑器,但苦于缺乏提示,有些人从一些渠道用上了JBuilder,但毛病不少,直到Eclipse化解…...
Angular基础学习(入门 --> 入坑)
目录 一、Angular 环境搭建 二、创建Angular新项目 三、数据绑定 四、ngFor循环、ngIf、ngSwitch、[ngClass]、[ngStyle]、管道、事件、双向数据绑定--MVVM 五、DOM 操作 (ViewChild) 六、组件通讯 七、生命周期 八、Rxjs 异步数据流 九、Http …...
ThinkPad风扇控制革命:TPFanCtrl2如何让你的笔记本更安静、更凉爽
ThinkPad风扇控制革命:TPFanCtrl2如何让你的笔记本更安静、更凉爽 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 你是否曾经在深夜工作时被ThinkPad风扇的…...
电赛小白也能搞定的二维云台:用K210+舵机实现色块追踪(附完整代码)
电赛入门实战:K210舵机构建高响应色块追踪云台 第一次参加电子设计竞赛时,面对复杂的视觉控制项目总有种无从下手的感觉。直到发现用K210开发板配合普通舵机就能搭建出反应灵敏的二维云台系统,整个过程就像拼乐高一样充满乐趣。本文将带你从零…...
初创团队如何利用 Taotoken 以更低成本试用多种大模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初创团队如何利用 Taotoken 以更低成本试用多种大模型 对于初创团队和独立开发者而言,在产品原型验证阶段,…...
RK3588核心板赋能无人机智能飞控:异构计算与AI视觉实践
1. 项目概述:当高性能核心板遇上无人机最近在折腾一个挺有意思的项目,核心是把一块高性能的核心板——迅为的RK3588,塞进无人机里,让它成为飞控大脑。这听起来可能有点“大材小用”,毕竟RK3588这玩意儿算力不低&#x…...
如何在Windows上快速安装ViGEmBus虚拟手柄驱动:终极指南
如何在Windows上快速安装ViGEmBus虚拟手柄驱动:终极指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 想要在Windows电脑上畅玩所有游戏&#…...
将HermesAgent项目接入Taotoken的详细配置步骤与注意事项
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 将HermesAgent项目接入Taotoken的详细配置步骤与注意事项 本文旨在为开发者提供一份清晰的指南,帮助你将HermesAgent项…...
如何在Mac上完美读写NTFS硬盘:Free NTFS for Mac终极指南
如何在Mac上完美读写NTFS硬盘:Free NTFS for Mac终极指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management…...
Supabase AI Agent技能库:安全集成数据库操作与边缘函数调用
1. 项目概述:当Supabase遇上AI Agent,一个技能库的诞生最近在捣鼓AI Agent应用开发,发现一个挺有意思的现象:大家都能用LangChain、LlamaIndex这些框架快速搭出个Agent的架子,但真想让这个Agent去干点具体、有用的活儿…...
从零构建团队技能仓库:结构化知识管理与VuePress实践
1. 项目概述:一个技能仓库的诞生与价值 最近在整理团队内部的技术资产时,我一直在思考一个问题:如何让那些散落在个人笔记、项目代码片段、会议纪要里的“隐性知识”和“最佳实践”沉淀下来,变成团队可复用、可传承的“显性资产”…...
MySQL 视图使用场景与限制
视图是把查询封装成「虚拟表」的方式,用对了简化查询,用错了性能爆炸。这篇说说视图的用法和注意事项。 什么是视图? -- 视图:保存好的 SQL 查询,像表一样使用 CREATE VIEW view_name AS SELECT column1, column2 FROM…...
