java实现抖音飞机大作战
人气:0Airplane.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; } }
完整源码下载地址:飞机大作战
您可能感兴趣的文章:
加载全部内容