关闭

java项目之——坦克大战22

标签: java项目
355人阅读 评论(0) 收藏 举报
分类:

本版本:超级炮弹,抬起一个键,八个方向发出子弹。

private void superFire() {
		Direction[] dirs = Direction.values();    //拿到数组
		for(int i=0; i<8; i++) {
			fire(dirs[i]);
		}
	}

添加fire()

public Missile fire(Direction dir) {
		if(!live) return null;
		int x = this.x + Tank.WIDTH/2 - Missile.WIDTH/2;
		int y = this.y + Tank.HEIGHT/2 - Missile.HEIGHT/2;
		Missile m = new Missile(x, y, good, dir, this.tc);             //ptdir 改为 dir
		tc.missiles.add(m);
		return m;
	}
	


处理按键:

case KeyEvent.VK_A :
            superFire();
            break;

public void keyReleased(KeyEvent e) {
		int key = e.getKeyCode();
		switch(key) {
		case KeyEvent.VK_CONTROL:
			fire();
			break;
		case KeyEvent.VK_LEFT :
			bL = false;
			break;
		case KeyEvent.VK_UP :
			bU = false;
			break;
		case KeyEvent.VK_RIGHT :
			bR = false;
			break;
		case KeyEvent.VK_DOWN :
			bD = false;
			break;
		case KeyEvent.VK_A :
			superFire();
			break;
		}
		locateDirection();		
	}
	

总结:本版本比较简单,超级炮弹,处理一个按键放超级技能,两个方法使八个方向打出子弹。

下一个版本:主战坦克的生命值。

0
0
查看评论

Java之详解坦克大战游戏(四)

目前我们的坦克能发子弹,但是只能发一颗,而且打到敌人坦克敌人还不会消失,本篇我们就来解决这个问题…子弹要想做到连发,就得初始化多个子弹,这个时候我们仍然还是跟定义敌人的坦克组一样用Vector集合..class Hero extends Tank { //子弹 Vector<S...
  • lxjstudyIT
  • lxjstudyIT
  • 2016-07-23 22:37
  • 1819

【Java_项目篇<1>】--JAVA实现坦克大战游戏--画出坦克(一)

为什么选择这个项目? 1.好玩,有趣 2.涉及到java基础的各个方面的技术: 面向对象思想、多线程、IO、绘图技术、监听事件、数据库、界面编程 3.巩固旧的知识 黑色框为JFrame 红色框为JPanel ,由于JFrame不提供画图方法,所以我们只能在JPanel里画图,最后把JPa...
  • qq_24653023
  • qq_24653023
  • 2016-08-16 22:43
  • 8899

java项目之——坦克大战06

功能:让坦克运动由我们来控制 内容:添加键盘监听类keyMonitor。            TankClient添加键盘监听器。      ...
  • chdyiboke
  • chdyiboke
  • 2016-08-12 17:43
  • 232

java项目之——坦克大战20

本版本:添加两堵墙。 1.在主类中:墙对象 Wall w1 = new Wall(100, 200, 20, 150, this), w2 = new Wall(300, 100, 300, 20, this); for (int i = 0; i < missiles.size(); i...
  • chdyiboke
  • chdyiboke
  • 2016-08-29 20:26
  • 468

java项目之——坦克大战15

在15版本之前解决了坦克和炮弹的问题,现在,开始写敌方坦克的代码。 1.加入区别敌我的量bGood(也可以建一个敌方坦克类,在这没有必要) private boolean good; 2。修改构造方法 public Tank(int x,int y,boolean good){ th...
  • chdyiboke
  • chdyiboke
  • 2016-08-28 08:56
  • 353

java项目之——坦克大战21

本版本:坦克不可相互穿越:                和墙类似,撞到时stay; 1.主方法中: t.collidesWithTanks(tanks)...
  • chdyiboke
  • chdyiboke
  • 2016-08-29 20:39
  • 214

java项目之——坦克大战08

功能:然坦克向八个方向行走。(以前只有四个方向)。 内容:添加代表方向的量(枚举)             添加记录按键状态的布尔量     &...
  • chdyiboke
  • chdyiboke
  • 2016-08-12 19:51
  • 363

java项目之——坦克大战14

上一个版本:坦克打出多发子弹; 功能:解决炮弹不消亡的问题,解决坦克出界问题。            子弹打中对方坦克或者出界,定义一个控制生死的变量。
  • chdyiboke
  • chdyiboke
  • 2016-08-28 08:01
  • 395

java项目之——坦克大战12

解决坦克停下来也可以打出炮弹:画出炮筒,在fire中把子弹方向给炮筒 1.创建坦克炮筒常量并初始化: private Direction ptDir = Direction.D;2.在draw方法里面画出炮筒 public void draw(Graphics g) { ...
  • chdyiboke
  • chdyiboke
  • 2016-08-14 11:45
  • 224

java项目之——坦克大战11

功能:1.根据主战坦克的方向和位置,打出子弹,Ctrl键的按键处理             2.根据“坦克打出一发子弹”这句话,来确定Tank中的方法fire,其返回值为Missl...
  • chdyiboke
  • chdyiboke
  • 2016-08-13 23:05
  • 415
    个人资料
    • 访问:69890次
    • 积分:1815
    • 等级:
    • 排名:千里之外
    • 原创:116篇
    • 转载:16篇
    • 译文:0篇
    • 评论:15条
    最新评论