我正在构建一个Settlers of Catan游戏,希望能够了解正确的MVC设计模式。
我创建了名为Tiles
和Corners
的核心数据实体,它们代表游戏板,每个磁贴与其(6)角有一对多的关系。这些代表我的“模特”。
我还创建了相应的“视图控制器”类,它们代表了屏幕上绘制的图块和角落的这些物理表示。我打电话给这些Cocos2D课程BoardTiles
和BoardCorners
。
如何通过View Controllers高效探索我在模型中创建的关系?
我试过了:
1)为VC提供对应的核心数据实体的引用
2)查询实体的角落(boardTile.tile.corners)
3)获取生成的CoreData角点,并通过唯一的ID查找查询其VC'所有者'。
是否有更好的方法来构建它,以便View Controllers可以更轻松地访问模型的关系数据?
答案 0 :(得分:1)
游戏是理解MVC的一种非常糟糕的方式,纯粹是因为它们往往拥有如此小的模型域。
模型和视图是对象的类别/集合/域。这些对象完全独立。
我创建了名为Tiles和Corners的核心数据实体,代表游戏板,每个磁贴与其(6)角有一对多的关系。这些代表我的“模特”。
Tiles和Corners属于您的View域(可视对象)。
可能存在于模型中的一个例子是某种形式的卫生系统或货币系统。虽然你的主角有健康,但他(通常)并不代表这些信息,你会有某种进度条或%数字。
进度条是View对象,与健康系统相关的统计信息存储在Model对象中。您的健康系统域将具有规则/策略以及其他类/对象。