java项目之——坦克大战22

原创 2016年08月29日 20:50:22

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

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();		
	}
	

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

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

java项目之——坦克大战20

本版本:添加两堵墙。 1.在主类中:墙对象 Wall w1 = new Wall(100, 200, 20, 150, this), w2 = new Wall(300, 100, 300, 20,...

java项目之——坦克大战26

本版本做最后的修正:敌人死光重新加入,主战坦克死掉F2重新开始。 1.主类中: 画方法里面判断,如果无敌方坦克,就添加。 if(tanks.size()...

java项目之——坦克大战10

实现了坦克的移动,现在要实现坦克可以打出炮弹: 功能:添加子弹类,添加方法和参数。 1.位置和方向属性 int x,y; Tank.Direction dir; 2.构造方法...

java项目之——坦克大战14

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

java项目之——坦克大战05

功能:代码重构(设置常量,比较简单) 内容:需要多处改变的量定义为常量。 public static final int GAME_WIDTH =800; public static final ...

java项目之——坦克大战19

本版本:让敌人的坦克更加智能(人工智能) 1.首先让它动起来:方向(move) 然后 随机数产生器 a.坦克中加方法: public Tank(int x,int y,Boolean good,...

java项目之——坦克大战08

功能:然坦克向八个方向行走。(以前只有四个方向)。 内容:添加代表方向的量(枚举)             添加记录按键状态的布尔量             根据按键状态确定坦克方向     ...

java项目之——坦克大战24

图形化表示主战坦克的生命值 a.我们在坦克里面创造内部类: private BloodBar bb= new BloodBar(); b.根据不同 的life值来显示,吧它放在坦克的上面...

java项目之——坦克大战12

解决坦克停下来也可以打出炮弹:画出炮筒,在fire中把子弹方向给炮筒 1.创建坦克炮筒常量并初始化: private Direction ptDir = Direction.D;2.在draw...

java项目之——坦克大战17

版本:写出爆炸类,实现爆炸功能 1.爆炸类创建及测试: public class Explode { int x,y; private boolean live = true;...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java项目之——坦克大战22
举报原因:
原因补充:

(最多只允许输入30个字)