基本上我有一個控制遊戲角色攻擊的狀態機,其時間基於動畫長度。實現大型狀態機的最佳方式?
因此,例如:
我開始在默認狀態下,如果玩家擊中的攻擊按鈕,它開始攻擊,切換狀態並設置基於攻擊長度的計時器。然而,當我考慮可以取消的電荷攻擊時,狀態機會變得更加複雜,而攻擊可以根據它們的命中而移動到不同的狀態,並且每個狀態都有獨特的方式來處理被攻擊的角色。 目前我有大量的switch語句。我想過多態,但這需要爲每一個有很多狀態的國家開設一個新的課程(開始攻擊,攻擊和終結攻擊都需要單獨的狀態)。
switch語句有效,但它非常大,也不像基於繼承的系統那樣容易修改。
關於外觀美觀的任何建議?編輯: 這是使用java。
我用於模板編程,但是我目前使用java我可能應該提到這一點。 – deek0146 2011-06-16 20:56:33