本文实例为大家分享了java抖音飞机大作战的具体代码,供大家参考,具体内容如下
airplane.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
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; }
} |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。