java專案之 坦克大戰08

2021-07-16 14:15:42 字數 910 閱讀 1999

功能:然坦克向八個方向行走。(以前只有四個方向)。

內容:新增代表方向的量(列舉)

新增記錄按鍵狀態的布林量

根據按鍵狀態確定坦克方向

根據方向進行下一步的移動(move方法)

以下修改的全為tank類中的**:

1.為了方便改變移動速度:常量

public static final int xspeed =5;

public static final int yspeed =5;

2.新增記錄按鍵狀態的布林量

private boolean bl=false,bu=false,bd=false,br=false;

3.注意有sotp

enum direction ;

private direction dir = direction.stop;

4.按鍵監聽方法(新增記錄按鍵狀態的布林量)

public void keypressed(keyevent e) 

}

5.在 keypressed 方法中呼叫  locatedirection()

void locatedirection()

6.在draw方法裡面呼叫move()

void move()	   

}

總結:控制8個方向的移動,列舉出8個量來代表,然後keypress方法監聽四個方向的變化(設定布林變數),locatedirection方法來判斷移動方向,傳遞給move(),通過判斷方向來控制移動,傳給draw方

法,在介面畫出。

java專案之 坦克大戰 04

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

java專案之 坦克大戰09

問題 由於上乙個版本的方向控制出現乙個問題,比如向右走,然後向下走,不過此時坦克將不會向下走,而是向右下走,而且是一去不回頭。功能 實習坦克八個方向運動 2 內容 建立鍵盤抬起監聽,每次抬起坦克將會使坦克脫離按鍵控制。1.在tankclient中 public void keyreleased ke...

java專案之 坦克大戰11

功能 1.根據主戰坦克的方向和位置,打出子彈,ctrl鍵的按鍵處理 2.根據 坦克打出一發子彈 這句話,來確定 tank 中的方法 fire 其返回值為 missle 3.根據 tank 方向和位置設定子彈的方向和位置並 new出來,然後返回 fire 方法的實現 1.在按鍵監聽裡面加ctrl按鍵處...