java怎么连发子弹_【Java_项目篇1】--JAVA实现坦克大战游戏--子弹连发+爆炸效果(四)...
前期相关文章
【Java_项目篇<1>】–JAVA实现坦克大战游戏–画出坦克(一)
【Java_项目篇<1>】–JAVA实现坦克大战游戏–坦克移动+添加敌方坦克(二)
【Java_项目篇<1>】–JAVA实现坦克大战游戏–坦克发射子弹(三)
一、任务需求
实现子弹连发(屏幕中子弹数量可控)+击中目标+爆炸效果。
二、思路
-子弹连发,并且子弹数量可控
1.在Hero类中新建Vector,每颗子弹存到Vector中。
Vector ss = new Vector();
2.在KeyPressed中加入按键J控制发射子弹,并且加入if语句,限制子弹数量。
if (e.getKeyCode() == KeyEvent.VK_J) {
// 开火
if (hero.ss.size() <= 4) {
hero.shotEnemy();
}
}
3.在paintComponet中画出子弹,如果子弹存在画出,子弹死亡,将子弹从vector中删除remove.
for (int i = 0; i < hero.ss.size(); i++) {
Shot myShot = hero.ss.get(i);
// 画出子弹
if (myShot.isLive == true) {
// System.out.format("%d %d ", hero.s.x,hero.s.y);
g.setColor(Color.red);
g.draw3DRect(myShot.x, myShot.y, 1, 1, false);
}
if (myShot.isLive == false) {
hero.ss.remove(myShot);// 记住是myShot 不是i
}
}
-判断击中目标
1.写一个函数专门判断: 子弹是否击中敌人坦克
hitTank(参数:子弹s,地方坦克et)当子弹进入到敌方坦克的区域内,将子弹和坦克都设置为islive=false表示死亡,在画图时进行存活判断,死亡后将不再画出该坦克和子弹。
public void hitTank(Shot s, EnemyTank et) {
// 判断该坦克的方向
switch (et.Direct) {
// 方向上或者下,是相同的
case 0:
case 1:
if (s.x > et.x && s.x < et.x + 20 && s.y > et.y && s.y < et.y + 30) {
// 击中,子弹死亡
s.isLive = false;
// 坦克死亡
et.isLive = false;
}
break;
// 方向左右,相同
case 2:
case 3:
if (s.x > et.x && s.x < et.x + 30 && s.y > et.y && s.y <= et.y + 20) {
s.isLive = false;
et.isLive = false;
}
break;
default:
break;
}
}
2.
三、代码如下
MyTankGame.java
members.java
四、程序演示
java怎么连发子弹_【Java_项目篇1】--JAVA实现坦克大战游戏--子弹连发+爆炸效果(四)...相关推荐
- java个人介绍代码_个人项目WC(Java)
1.WC项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数.单词 ...
- 【Java_项目篇1】--JAVA实现坦克大战游戏--坦克移动+添加敌方坦克(二)
前期文章: [Java_项目篇<1>]--JAVA实现坦克大战游戏--画出坦克(一) 控制小球移动 1.外部类 实现KeyListener监听接口写法 package com.test3; ...
- Java练手项目2:基于Java的坦克大战游戏(学习Java必备!!!)
1.引言 随着社会和时代的进步,来自各个方面的压力让人没精打采,为了分解人们的压力,休养那变得疲顿的头脑和劳累的身心,特设计了坦克大战小游戏,游戏操作非常容易,只要将手指放在键盘上敲击相关的游戏键就可 ...
- 【java项目】全程无水分,Java老师带你实践,教你一小时做出java坦克大战游戏
游戏介绍: 保留了射击类游戏的操作性,也改进了射击类游戏太过于复杂难玩的高门槛特点,集休闲与竞技于一身.经典再度袭来,流畅的画面,疯狂的战斗,让玩家再次进入疯狂坦克的世界.玩家的目标是控制坦克躲避危险 ...
- java 坦克大战_基于JAVA实现的坦克大战游戏
一.课程题目 实现一个java版本的坦克大战游戏. 功能提示: 游戏要有图形用户界面,界面能够反映游戏所有的细节 界面中要有坦克,墙,树林,河流 界面中要有一个"家"," ...
- 纯Java实现坦克大战游戏,源码公开
文章目录 前言 一.源码 二.成员类 前言 近日最做项目,很多网友在问题是否有游戏的代码分享,故总结了去年开发的一款小游戏坦克大战,源码公开,大家一起研究改进 * 功能:坦克大战游戏* 1.画出我的坦 ...
- 一文教你使用java开发一款坦克大战游戏
导读:随着人们对生活质量的要求一天比一天高,为了让人们更好地开掘自身的智慧,游戏就此进入了大众的视野,在人们的生活中有着重要的位置,已然变得必不可少.游戏产业推动高新技术不断升级,极大地促进了经济的增 ...
- 基于Java的坦克大战游戏的设计与实现(论文+PPT+源码)
幻灯片1 基于Java的坦克大战游戏的设计与实现 幻灯片2 CONTENTS 1 4 设计工具与相关技术 详细设计 2 5 系统分析 结论 3 总体设计 幻灯片3 PPT模板下载:http://www ...
- 坦克大战游戏Java网络版设计
目 录 1.引言 1 2.系统分析 2 2.1需求和技术分析 2 2.2功能分析 2 3.总体设计 2 3.1总体功能 2 3.2坦克大战总体流程图 4 4.详细设计 5 4.1面板功能设计 5 4. ...
最新文章
- Cocos2d-x坐标系介绍
- python3.6.4安装教程-Centos7 安装Python3.6.4
- 腾讯企点总经理张晔:To B企业存在的价值是什么?丨鲸犀峰会
- linux写程序四则运算,Shell编程之变量及四则运算
- .NET 6新特性试用 | 常量内插字符串
- 提升安全性WindowsXP必禁的十大服务
- Java 设计模式 之 访问者模式
- 使用docker部署skywalking
- 进入传奇荣耀显示服务器不存在,传奇荣耀————【合区】5月10日合区公告
- java .entryset_Java中map的entrySet()方法返回的是什么内容啊?有点晕
- Runner站立会议03
- 视频教程-WPF MVVM 编程模式/框架 基础+提高 项目开发实战视频教程-.NET
- Eclipse 可视化插件Windows Builder在线更新地址
- python在excel中的应用:freeze_panes冻结不是第一行的问题,其实可能是一个小细节。
- 3D真人手办,做一个迷你版的自己
- 批处理应用:IE问题修复
- H5创建一个简单的自动幻灯片
- docker desktop
- 常见杀毒软件、特点及其查杀原理
- excel日期转换为周数,Excel如何将日期转换为周别
热门文章
- VS报错:fatal error LNK1104: 无法打开文件“kernel32.lib”解决办法
- 光速宽带连接服务器无响应,【硬件向】解决登录“网络连接中断”的方法
- 轻松画图标!一分钟玩转PS路径描边
- 计算机三种桌面图标,电脑桌面图标都变成lnk后缀的三种解决办法
- 漫画 | 给乔布斯提供肩膀的巨人
- QQ 中所使用的GIPS语音技术
- 【java】jdom解析xml文件
- 蓝桥杯-九宫重排 (搜索)
- 贵州开启“大数据+旅游+工业”新时代
- 大数据技术之HBase(超级详细)