任务
代码
添加子弹类,和坦克类其实类似
import java.awt.Color;
import java.awt.Graphics;
public class Missile {
private static final int MISSILE_WIDTH = 10;
private static final int MISSILE_HEIGH = 10;
private static final int STEPS = 10;
int x,y;
Tank.Direction dir;
public Missile(int x, int y,Tank.Direction dir) {
super();
this.x = x;
this.y = y;
this.dir = dir;
}
public void draw(Graphics g) {
Color c = g.getColor();
g.setColor(Color.BLUE);
g.fillOval(x, y, MISSILE_WIDTH, MISSILE_HEIGH);
g.setColor(c);
move();
}
public void move() {
switch(dir) {
case U: y -=STEPS;break;
case D:y +=STEPS;break;
case L: x -=STEPS;break;
case R:x +=STEPS;break;
case UL:x -=STEPS;y -=STEPS;break;
case UR:x +=STEPS;y -=STEPS;break;
case DR:x +=STEPS;y +=STEPS;break;
case DL:x -=STEPS;y +=STEPS;break;
}
}
}
在 TankClient 类中试着画出子弹,初始子弹
Missile m = new Missile(50,50,Tank.Direction.R);
并在 paint() 类中调用 draw() 方法
m.draw(g);