前期相关文章

【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实现坦克大战游戏--子弹连发+爆炸效果(四)...相关推荐

  1. java个人介绍代码_个人项目WC(Java)

    1.WC项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数.单词 ...

  2. 【Java_项目篇1】--JAVA实现坦克大战游戏--坦克移动+添加敌方坦克(二)

    前期文章: [Java_项目篇<1>]--JAVA实现坦克大战游戏--画出坦克(一) 控制小球移动 1.外部类 实现KeyListener监听接口写法 package com.test3; ...

  3. Java练手项目2:基于Java的坦克大战游戏(学习Java必备!!!)

    1.引言 随着社会和时代的进步,来自各个方面的压力让人没精打采,为了分解人们的压力,休养那变得疲顿的头脑和劳累的身心,特设计了坦克大战小游戏,游戏操作非常容易,只要将手指放在键盘上敲击相关的游戏键就可 ...

  4. 【java项目】全程无水分,Java老师带你实践,教你一小时做出java坦克大战游戏

    游戏介绍: 保留了射击类游戏的操作性,也改进了射击类游戏太过于复杂难玩的高门槛特点,集休闲与竞技于一身.经典再度袭来,流畅的画面,疯狂的战斗,让玩家再次进入疯狂坦克的世界.玩家的目标是控制坦克躲避危险 ...

  5. java 坦克大战_基于JAVA实现的坦克大战游戏

    一.课程题目 实现一个java版本的坦克大战游戏. 功能提示: 游戏要有图形用户界面,界面能够反映游戏所有的细节 界面中要有坦克,墙,树林,河流 界面中要有一个"家"," ...

  6. 纯Java实现坦克大战游戏,源码公开

    文章目录 前言 一.源码 二.成员类 前言 近日最做项目,很多网友在问题是否有游戏的代码分享,故总结了去年开发的一款小游戏坦克大战,源码公开,大家一起研究改进 * 功能:坦克大战游戏* 1.画出我的坦 ...

  7. 一文教你使用java开发一款坦克大战游戏

    导读:随着人们对生活质量的要求一天比一天高,为了让人们更好地开掘自身的智慧,游戏就此进入了大众的视野,在人们的生活中有着重要的位置,已然变得必不可少.游戏产业推动高新技术不断升级,极大地促进了经济的增 ...

  8. 基于Java的坦克大战游戏的设计与实现(论文+PPT+源码)

    幻灯片1 基于Java的坦克大战游戏的设计与实现 幻灯片2 CONTENTS 1 4 设计工具与相关技术 详细设计 2 5 系统分析 结论 3 总体设计 幻灯片3 PPT模板下载:http://www ...

  9. 坦克大战游戏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. ...

最新文章

  1. Cocos2d-x坐标系介绍
  2. python3.6.4安装教程-Centos7 安装Python3.6.4
  3. 腾讯企点总经理张晔:To B企业存在的价值是什么?丨鲸犀峰会
  4. linux写程序四则运算,Shell编程之变量及四则运算
  5. .NET 6新特性试用 | 常量内插字符串
  6. 提升安全性WindowsXP必禁的十大服务
  7. Java 设计模式 之 访问者模式
  8. 使用docker部署skywalking
  9. 进入传奇荣耀显示服务器不存在,传奇荣耀————【合区】5月10日合区公告
  10. java .entryset_Java中map的entrySet()方法返回的是什么内容啊?有点晕
  11. Runner站立会议03
  12. 视频教程-WPF MVVM 编程模式/框架 基础+提高 项目开发实战视频教程-.NET
  13. Eclipse 可视化插件Windows Builder在线更新地址
  14. python在excel中的应用:freeze_panes冻结不是第一行的问题,其实可能是一个小细节。
  15. 3D真人手办,做一个迷你版的自己
  16. 批处理应用:IE问题修复
  17. H5创建一个简单的自动幻灯片
  18. docker desktop
  19. 常见杀毒软件、特点及其查杀原理
  20. excel日期转换为周数,Excel如何将日期转换为周别

热门文章

  1. VS报错:fatal error LNK1104: 无法打开文件“kernel32.lib”解决办法
  2. 光速宽带连接服务器无响应,【硬件向】解决登录“网络连接中断”的方法
  3. 轻松画图标!一分钟玩转PS路径描边
  4. 计算机三种桌面图标,电脑桌面图标都变成lnk后缀的三种解决办法
  5. 漫画 | 给乔布斯提供肩膀的巨人
  6. QQ 中所使用的GIPS语音技术
  7. 【java】jdom解析xml文件
  8. 蓝桥杯-九宫重排 (搜索)
  9. 贵州开启“大数据+旅游+工业”新时代
  10. 大数据技术之HBase(超级详细)