本版本:讓敵人的坦克更加智慧型(人工智慧)
1.首先讓它動起來:方向(move) 然後 隨機數產生器
a.坦克中加方法:
public tank(int x,int y,boolean good,direction dir,tankclient tc)
修改主類中的**:
tank mytank = new tank(50, 50,true,tank.direction.stop,this);
修改敵方坦克**:
for(int i=0;i<10;i++)
b.隨機讓坦克運動
if(!good)
2.讓敵軍坦克發射炮彈:a.本軍炮彈不打本軍,新增bgood
private boolean good; //子彈類
使用方法呼叫good
public boolean isgood()
修改構造方法:
public missile(int x, int y,boolean good,tank.direction dir,tankclient tc)
b.修改坦克fire方法
public missile fire()
c.修改hittank方法 好不能打好的,壞不能打壞的
public boolean hittank(tank t)
return false;
}
3.敵軍坦克炮火不能太猛
if(r.nextint(40)>38) this.fire();
if(r.nextint(40)>38) this.fire();
總結:人工智慧很複雜,在這裡如果要做的更加智慧型,需要使敵方坦克的炮筒總是對準我方坦克 這時候需要角度的計算,比較複雜,有興趣的可以嘗試一下。
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...