牧師與惡魔 動作分離版

2021-09-27 10:08:07 字數 1937 閱讀 8268

完整工程檔案在github(

在之前的牧師與惡魔的遊戲製作中,我們使用firstcontroller來控制遊戲中人物的動作,這樣寫出了的**低內聚高耦合。在這裡,我們對上一版的牧師與惡魔進行更新迭代,將動作從firstcontroller中分離出來,減少程式的耦合提高內聚性。

我們首先建立乙個類action用來管理所有遊戲事物的動作,然後在firstcontroller中建立這個類的例項,用來管理遊戲事物的運動。

public action actionmanager;   //動作管理
在這個版本中,遊戲事物的所有動作都由action來管理,而遊戲事物的資訊、狀態等都由roleboat來管理。比如遊戲角色(牧師和惡魔)上下船的動作,由fristcontrolleraction進行通訊,讓action來管理動作的改變,同時告知role進行狀態的改變。

firstcontroller的**如下所示:

if(obj.position == 0 && obj.position == boat.position && boat.num < 2)

else

}

public void getboat(role role, int i)

else if (i == 2)

else if (i == 3)

else

}

public void getboat(int i)

else if(i == 2)

else if(i == 3)

else

}

其餘的更改基本跟上下船相同,action類**如下所示。

也談領域物件的資料與動作分離

說來慚愧,某日專案組成員交上來領域模型類圖,將物件的屬性和方法分類,基本上統統使用了domainobject domainobjectmanager的方式,前者之後屬性以及對應的getter setter方法,後者包含具體的業務操作.在我詢問為什麼要這麼做的時候,對方反問為什麼不能呢,我說這樣不符合...

動作識別與動作檢測

目前動作檢測研究難點主要有以下三點 2 邊界不明確。不同於動作識別,動作檢測要求做精確的動作區間檢測,而生活中乙個動作的產生往往邊界不是十分確定的,所以這也是導致目前動作檢測map偏低的原因 3 時間跨度大。在生活中,乙個行為動作往往跨度非常大,揮手等短動作幾秒左右,而攀岩 騎行等長動作可能持續數十...

前後端分離與不分離

前後端分離 在前後端分離的應用模式中,後端僅返回前端所需的資料,不再渲染html頁面,不再控制前端的效果。至於前端使用者看到什麼效果,從後端請求的資料如何載入到前端中,都由前端自己決定,網頁有網頁的處理方式,有的處理方式,但無論哪種前端,所需的資料基本相同,後端僅需開發一套邏輯對外提供資料即可。在前...