坦克小戰 之敵人AI

2021-07-17 00:22:16 字數 1274 閱讀 7898

這是另乙個自己隨手做的小東西,就乙個場景,畫面簡單粗暴

我的經驗,乙個好的地形,包含了太多人的辛酸淚啊,看看人家的碰撞體,再看我自己搗鼓的,完全不是乙個階級,還好弄來了地形,

主體思想,鍵盤控制自己移動,空格發射炮彈,隨機生成敵人小坦克,細心的你有沒有發現,有乙個小坦克出來的時候是豎著出來的!豎著走!跑的還比別人一點不慢,我也是醉了,

下面是敵人小坦克的ai,要把子彈做成預設體,每隔幾秒發乙個,這回沒重力,子彈是直的,因為我試過有重力的,對於我這種數學小白,完全打不中啊,

public transform gun;//槍管頭的位置

public gameobject bulletpre;//子彈預設體

public

float attackrate = 80f;//攻擊概率

public

float thinktime = 2f;//思考時間

public

float rotatetime = 4;//每過多長時間換方向

public

float currenttime = 0f;//當前時間

public

float currentrotatetime = 0f;//當前時間

public

bool istriggerwall= false;//檢查是否撞牆了

void start ()

void update ()

void think()

currenttime += time.deltatime;

transform.translate (vector3.forward*2f*time.deltatime);

}void attack()

bool checkiscanattack()//看能否攻擊,在不在範圍中

void rotatebody()

}bool checkiscanrotatebody()

void oncollisionenter(collision other)

void shoot()

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

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

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