java實現(xiàn)抖音飛機大作戰(zhàn)
本文實例為大家分享了java抖音飛機大作戰(zhàn)的具體代碼,供大家參考,具體內(nèi)容如下
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{
/** 敵機走步的步數(shù) **/
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;
}
}
完整源碼下載地址:飛機大作戰(zhàn)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java在創(chuàng)建文件時指定編碼的實現(xiàn)方法
本文主要介紹了Java在創(chuàng)建文件時指定編碼的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
Java的synchronized關(guān)鍵字深入解析
這篇文章主要介紹了Java的synchronized關(guān)鍵字深入解析,在并發(fā)編程中,多線程同時并發(fā)訪問的資源叫做臨界資源,當多個線程同時訪問對象并要求操作相同資源時,分割了原子操作就有可能出現(xiàn)數(shù)據(jù)的不一致或數(shù)據(jù)不完整的情況,需要的朋友可以參考下2023-12-12
java實現(xiàn)動態(tài)上傳多個文件并解決文件重名問題
這篇文章主要為大家詳細介紹了java實現(xiàn)動態(tài)上傳多個文件,并解決文件重名問題的方法,感興趣的小伙伴們可以參考一下2016-03-03
用Java設(shè)計模式中的觀察者模式開發(fā)微信公眾號的例子
這篇文章主要介紹了用Java設(shè)計模式中的觀察者模式開發(fā)微信公眾號的例子,這里Java的微信SDK等部分便不再詳述,只注重關(guān)鍵部分和開發(fā)過程中觀察者模式優(yōu)點的體現(xiàn),需要的朋友可以參考下2016-02-02
基于Springboot實現(xiàn)JWT認證的示例代碼
本文主要介紹了基于Springboot實現(xiàn)JWT認證,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
關(guān)于如何正確地定義Java內(nèi)部類方法詳解
在Java中,我們通常是把不同的類創(chuàng)建在不同的包里面,對于同一個包里的類來說,它們都是同一層次的,但其實還有另一種情況,有些類可以被定義在另一個類的內(nèi)部,本文將詳細帶你了解如何正確地定義Java內(nèi)部類,需要的朋友可以參考下2023-05-05
解決Intellij IDEA 使用Spring-boot-devTools無效的問題
下面小編就為大家?guī)硪黄鉀QIntellij IDEA 使用Spring-boot-devTools無效的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07

