2

我正在构建一个 Settlers of Catan 游戏,希望能够理解正确的 MVC 设计模式。

我创建了名为 的核心数据实体TilesCorners它们代表游戏板,每个图块与其 (6) 角具有一对多的关系。这些代表我的“模型”。

我还创建了相应的“视图控制器”类,它们代表屏幕上绘制的瓷砖和角的这些物理表示。我将这些 Cocos2D 类BoardTilesBoardCorners.

如何通过视图控制器有效地探索我在模型中创建的关系?

我试过了:

1) 为 VC 提供对其相应核心数据实体的引用

2)查询实体的角点(boardTile.tile.corners)

3) 获取生成的 CoreData 角并通过唯一 ID 查找查询其 VC“所有者”。

有没有更好的方法来构建它,以便视图控制器能够更轻松地访问模型的关系数据?

4

1 回答 1

1

游戏是理解 MVC 的一种非常糟糕的方式,纯粹是因为它们往往具有如此小的模型域。

模型和视图是对象的类别/集合/域。这些对象是完全独立的。

我创建了名为 Tiles 和 Corners 的 Core Data 实体,它们代表游戏板,每个 tile 与其 (6) 个角具有一对多的关系。这些代表我的“模型”。

瓷砖和角落属于您的视图域(视觉对象)。

模型中可能存在的一个例子是某种形式的卫生系统或货币系统。虽然您的主角有健康,但他(通常)不代表此信息,您会有某种进度条或百分比数字。

进度条是一个 View 对象,与健康系统相关的统计信息存储在一个 Model 对象中。您的 Health System 域将具有规则/策略和其他类/对象。

于 2012-08-24T09:21:45.190 回答