1. 程式人生 > >狀態機--狀態機1,關於戰鬥中兵種狀態的初步設計

狀態機--狀態機1,關於戰鬥中兵種狀態的初步設計

戰鬥中的主要物件是兵種,最前期只有待機,行走,攻擊三種狀態,而這些都由兵種AI去呼叫切換

簡單的AI如:向前行走,如果攻擊範圍內出現敵人,則切換為待機狀態,攻擊間隔一到就開始攻擊

工程是用quick-cocos2dx建立的,用的是lua指令碼語言,程式碼如:

local Soldier = class("Soldier")

function Soldier:ctor()

end

--待機
function Soldier:onIdle()
    print("切換到待機狀態")
end

--行走
function Soldier:onWalk()
    print("切換到行走狀態")
end

--攻擊
function Soldier:onAttack()
    print("切換到攻擊狀態")
end

return Soldier

程式碼相當的簡單,在各自的介面下實現對應的邏輯就行了,三種狀態的切換沒有約束條件

相互之間的切換都是可以的

待機狀態--->行走狀態,待機狀態--->攻擊狀態
行走狀態--->待機狀態,行走狀態--->攻擊狀態
攻擊狀態--->待機狀態,攻擊狀態--->行走狀態