java專案之 坦克大戰17

2021-07-22 04:24:59 字數 1530 閱讀 6050

版本:寫出**類,實現**功能

1.**類建立及測試:

public class explode ;

int step = 0;

public explode(int x,int y,tankclient tc)

public void draw(graphics g)

color c = g.getcolor();

g.setcolor(color.orange);

g.filloval(x, y, diameter[step], diameter[step]);

g.setcolor(c);

step++;

}}

然後在主類中建立物件,測試**:

explode e = new explode(122,123,this);

public void paint(graphics g) 

e.draw(g);

mytank.draw(g);

enemytank.draw(g);

}

2.**很多,應該寫在坦克類中(list)

listmissiles = new arraylist();     //泛型  刪加 效率相對高

listexplodes = new arraylist();

同樣,利用迴圈建立**物件

public void paint(graphics g) 

for (int i = 0; i < explodes.size(); i++)

mytank.draw(g);

enemytank.draw(g);

}

3.當子彈打到敵方坦克時,畫出**

public boolean hittank(tank t)

return false;

}

4.同理,要處理集合,remove

if(!live)
總結:新增**類還是運用了物件導向的思想,集合的應用。

附**類**:

public class explode ;

int step = 0;

public explode(int x,int y,tankclient tc)

public void draw(graphics g)

if(step== diameter.length)

color c = g.getcolor();

g.setcolor(color.orange);

g.filloval(x, y, diameter[step], diameter[step]);

g.setcolor(c);

step++;

}}

java專案之 坦克大戰 04

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

java專案之 坦克大戰08

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

java專案之 坦克大戰09

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