設計模式之坦克大戰04

2021-10-06 14:56:11 字數 1131 閱讀 2702

分為敵軍坦克,和自己坦克兩部分:

public class resourcemgr 

} catch (ioexception e)

}}

listexplodes = new arraylist<>();
然後在paint方法中:依次遍歷:**如下

for (int m = 0;m調整**的位置:

int ex = tank.getx() + tank.tankwidth/2 - explode.width/2;

int ey = tank.gety() + tank.tankheight/2 - explode.height/2;

tf.explodes.add(new explode(ex, ey, tf));

思路:利用隨機函式,private random random = new random();

在move方法裡面寫隨機移動的方法。

if(this.group == group.bad && random.nextint(100) > 95)

private void randomdir()

private void boundscheck()
在tank類的move方法中,呼叫邊界檢測方法就好了

config:

#tanks count at initialization

inittankcount=10

tankspeed=5

bulletspeed=10

game_width=1080

game_height=720

讀取配置檔案的管理類:

public class propertymgr  catch (ioexception e) 

}public static object get(string key)

public static void main(string args)

}

以上四篇文章完成了坦克大戰的第一版的開發,主要學習了物件導向的思想,後面的篇幅主要學習坦克大戰中設計模式的實際運用。

java專案之 坦克大戰 04

功能 讓坦克動起來 內容 改變位置,坦克就會動。a.設定成員變數,x y b.每一段時間重畫一次 y 5 c.重畫執行緒類。優點 執行緒重畫坦克,比較均勻。public class tankclient extends frame public void lauchframe this.setres...

JAVA之坦克大戰(三)我方坦克發射炮彈

思路 新增子彈類,並且寫出子彈執行的線,然後在mytank中新增新的fire 方法,用於發射子彈時獲得當前炮管的方向,因為子彈較多所以需要把子彈放在vector集合裡,並且需要開多執行緒,因為子彈運動需要進行重繪,所以就需要panel開多執行緒。1.bullet類 public class bull...

java專案之 坦克大戰08

功能 然坦克向八個方向行走。以前只有四個方向 內容 新增代表方向的量 列舉 新增記錄按鍵狀態的布林量 根據按鍵狀態確定坦克方向 根據方向進行下一步的移動 move方法 以下修改的全為tank類中的 1.為了方便改變移動速度 常量 public static final int xspeed 5 pu...