Java.坦克大战小游戏【1.0】

任务

代码
添加子弹类,和坦克类其实类似

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

猜你喜欢

转载自blog.csdn.net/liyuanyue2017/article/details/80244741