本文实例为大家分享了java抖音飞机大作战的具体代码,供大家参考,具体内容如下

Airplane.java

package zmf.game.shoot;

import java.util.Random;

/**

* @author jcf

* @Description: Airplane----敌机既是飞行物

* @date 2018-03-28 11:17:16

*/

public class Airplane extends FlyingObject implements Enemy{

/** 敌机走步的步数 **/

private int speed = 2;

public Airplane(){

image = ShootGame.airplane;

width = image.getWidth();

height = image.getHeight();

Random rand = new Random();

x = rand.nextInt(ShootGame.WIDTH - this.width);

//y:负的敌机的高

y = -this.height;

}

@Override

public int getScore(){

return 5;

}

@Override

public void step(){

y += speed;

}

/**

* 是否越界

* @return

*/

@Override

public boolean outOfBounds(){

//敌机的y坐标大于窗口的高

return this.y > ShootGame.HEIGHT;

}

}

FlyingObject.java

package zmf.game.shoot;

import java.awt.image.BufferedImage;

/**

* @author jcf

* @Description: 飞行物主类

* @date 2018-03-28 11:17:16

*/

public abstract class FlyingObject {

/** 图片命名--java包自有的 **/

protected BufferedImage image;

/** 宽 **/

protected int width;

/** 高 **/

protected int height;

/** x坐标 **/

protected int x;

/** y坐标 **/

protected int y;

/**

* 飞行物走步

*/

public abstract void step();

/**

* 是否越界

* @return

*/

public abstract boolean outOfBounds();

/**

* 敌人被子弹撞

* @param bullet

* @return

*/

public boolean shootBy(Bullet bullet){

//this:敌人 other:子弹

int x1 = this.x;

int x2 = this.x + this.width;

int y1 = this.y;

int y2 = this.y + this.height;

int x = bullet.x;

int y = bullet.y;

return x > x1 && x < x2

&&

y > y1 && y < y2;

}

}

完整源码下载地址:飞机大作战

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐