比起將物件沿著直線移動更進一步,就是隨機移動目標。說實話,隨機運動在某些情況下可以被認為是無腦運動。我們就試著用**來模擬一下蒼蠅的大腦(我們姑且認為蒼蠅飛行是無腦的)。
這裡我們會用到
rand
隨機函式,這個寫過**的人都知道吧~
隨機飛行就是隨機改變蒼蠅在x軸和
y軸上的速度值。所以**如下:
x_velocity = -8 + rand()%16;
y_velocity = -8 + rand()%16;
x_velocity和y_velocity就分別代表蒼蠅在x軸和y軸上的速度。是不是非常簡單?然後你就可以用上一章介紹的直線運動的**來對蒼蠅進行座標移動
x = x + x_velocity;
y = y + y_velocity;
但這樣的**實際顯示效果不太好,會讓蒼蠅看起來在乙個點上發抖。因為蒼蠅總會在乙個方向上運動一段時間。所以,為了模仿的真實性,我們可以將以上這段**包裹在乙個while語句中,讓蒼蠅在乙個方向上多運動一會兒。
int count = 0;
while(++count < 10)
這章課程就到這裡了,也相當簡單吧?不過畢竟是無腦運動,雖然這對於模擬智慧型生物行為是非常重要的。下一章會教給你跟蹤演算法。想象一下跟蹤飛彈的威力吧~哈哈。快翻開下一章的面紗吧~
遊戲AI 2 遊戲AI模型
在這本書中有大量的演算法和技術。讀者很容易迷失其中,所以從全域性著眼去了解各個部分是如何組合在一起的十分重要。為了有所幫助,我使用了乙個統一的結構來討論遊戲中使用的ai。這不是唯一可選的模型,也不是唯一貼合本書中技術的模型。但是為了使討論更清楚,我將展示每種技術如何適用於製作遊戲 ai 角色的通用結...
AI 隨機迷宮 迷宮求解
本文記錄了,人工智慧中簡單的搜尋策略中的路徑搜尋策略中的a 演算法,來實現迷宮尋路的問題.這只是一次本人的課外作業 完整的程式原始碼已經傳送到我的git.這裡只記錄了我的思路和感想以及收穫.產生隨機迷宮 迷宮求解沒有迷宮怎麼可以呢.而本人是個懶人,每次都要手動輸入迷宮,重複性的工作讓我很不爽.你可以...
vb隨機移動滑鼠
新建一工程,放乙個按鈕command1,放乙個時鐘timer1,拷貝下列 執行,按按鈕一下會發現滑鼠隨機移動,碰到邊界會 再按按鈕一下 或回車鍵 會停止。拷貝下列 private type pointapi x aslong y as long endtype private declare fun...