2012-06-25 51 views
2

我正在構建一個定居者的卡坦遊戲,希望能夠了解正確的MVC設計模式。MVC - 彌補我的模型和其屏幕表示之間的差距

我創建了一個名爲和Corners的核心數據實體,它們代表遊戲板,每個圖塊與其(6)個角都有一對多的關係。這些代表了我的「模型」。

我還創建了相應的「視圖控制器」類,它們表示在屏幕上繪製的瓷磚和角的物理表示。我稱這些Cocos2D類爲BoardTilesBoardCorners

如何有效地探索我通過視圖控制器在模型中創建的關係?

我試着:

1)給VC到其相應的核心數據實體

2)查詢實體的拐角(boardTile.tile.corners)

3的引用)取得由此產生的CoreData角點,並通過唯一的ID查詢查詢其VC所有者。

是否有更好的方法來構造這個視圖控制器,以便更方便地訪問模型的關係數據?

回答

1

遊戲是理解MVC的一種非常糟糕的方式,純粹是因爲它們傾向於擁有如此小的模型域。

模型和視圖是對象的類別/集合/域。這些對象是完全獨立的。

我已經創建了稱爲Tiles和Corners的Core Data實體,它們表示遊戲板,每個tile與其(6)個角都有一對多的關係。這些代表了我的「模型」。

瓷磚和角落屬於您的視圖域(可視對象)。

一個可能存在於模型中的例子是某種形式的衛生系統或貨幣系統。雖然你的主角具有健康,但他(通常)並不代表這些信息,你會有某種進度條或%數字。

進度條是一個視圖對象,以及統計的有關衛生系統存儲在一個模型對象。您的健康系統域將包含規則/策略以及其他類/對象。

+0

說實話,戰略遊戲往往有資源/項目/隨機的東西一個龐大的數據庫。但是要指出,開發一款真正的**遊戲**並不是MVC相關的。 – Flater