gpt4 book ai didi

ios - 如果游戏使用 MVC 模式(在 iOS 上),则有 3 个类 : MVC, 但为什么要使用额外的类 ComputerPlayer?

转载 作者:行者123 更新时间:2023-11-28 20:36:41 25 4
gpt4 key购买 nike

我有点疑惑,在一本书中,iOS 上的游戏设计是使用MVC 模式。所以我们有

  1. View,由 Interface Builder 完成,并为控件的属性/值(作为导出)和事件处理程序(作为操作)绘制连接

  2. 模型,存储游戏状态,例如剩余时间和当前玩家的分数(人类玩家)

  3. Controller ,在加载 View 后运行,将模型的数据填充到 View ,为游戏设置计时器,处理用户在屏幕上的点击等(事件处理程序),并实现计时器事件的事件处理程序。

所以这是有道理的,但是还有第四个类叫做 ComputerPlayer,它负责处理游戏的规则和机制,比如创建供人类玩家猜测的单词,告诉玩家如何许多剩余的单词供人类玩家猜测,并提供下一个单词供人类玩家猜测。 (更新:模型类 100% 使用此 ComputerPlayer...模型代码实例化了 ComputerPlayer 对象,然后调用它)。

我不太明白为什么在这个MVC模型中,多了一个类ComputerPlayer?为什么不将这部分作为 Model 类,甚至作为 Controller 类的一部分?

(如果与 Ruby on Rails 的 MVC 模式相比,它有点像帮助器。但帮助器主要由 View 代码调用。)

最佳答案

正如 Fuhrmanator 所说,ComputerPlayer 似乎被认为是模型层的一部分。但是,您也可以将其视为实用程序类。

在 MVC 中,Utility Class 不是任何 Layer 的一部分,可以被任何 Layer 访问。

关于ios - 如果游戏使用 MVC 模式(在 iOS 上),则有 3 个类 : MVC, 但为什么要使用额外的类 ComputerPlayer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10171351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com