java專案之 坦克大戰19

2021-07-22 05:10:56 字數 1097 閱讀 5704

本版本:讓敵人的坦克更加智慧型(人工智慧)

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...