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)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java在創(chuàng)建文件時指定編碼的實現(xiàn)方法
本文主要介紹了Java在創(chuàng)建文件時指定編碼的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2022-07-07Java的synchronized關(guān)鍵字深入解析
這篇文章主要介紹了Java的synchronized關(guān)鍵字深入解析,在并發(fā)編程中,多線程同時并發(fā)訪問的資源叫做臨界資源,當多個線程同時訪問對象并要求操作相同資源時,分割了原子操作就有可能出現(xiàn)數(shù)據(jù)的不一致或數(shù)據(jù)不完整的情況,需要的朋友可以參考下2023-12-12java實現(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