这篇文章给大家分享的是有关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;
}
}
感谢各位的阅读!关于“java如何实现抖音飞机大作战”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。