Mac OS X:实现纸牌游戏GUI的最佳方式

时间:2009-10-13 20:55:12

标签: objective-c cocoa xcode user-interface macos

我已经开始在Objective-C上使用Mac OS X进行编程,并决定创建一个小卡片游戏。首先,我创建一个命令行版本。如果一切正常我想实现一个GUI:没什么大的,只是一个带有可以拖放的卡片的绿色窗口。

由于我不知道如何做到这一点:我可以用什么来实现我的纸牌游戏GUI?

由于Objective-C和Cocoa在Mac OS X上看起来像一个“捆绑”,是否可以使用Cocoa(以及如何)?如果没有,我还应该使用什么,或者已经存在......像这样?

此致

INNO

2 个答案:

答案 0 :(得分:6)

Apple有一些示例代码here可以指向正确的方向。

答案 1 :(得分:4)

这是一项关于MVC的精彩研究。

  • 你的模特(一个活跃的游戏,玩家和非玩家角色,游戏中的牌等)将完全在基金会,至少在开始时。您可以稍后添加依赖于AppKit的属性(如图像),如果要继续维护命令行程序,可以使用C预处理器来条件化该代码。
  • 您的控制人员通常也会使用纯粹的基础。我说“控制器”,因为你将拥有两个程序(拥有模型,响应用户操作,运行游戏 - 即交易卡,执行规则等),一个专门用于命令行程序(持有readline /输出循环),以及至少一个专门用于GUI程序(拥有游戏窗口)。
  • 在GUI应用程序中,您当然会用AppKit编写视图。在命令行应用程序中,您可能希望创建一个与控制器分开的View类,以便快速从根本上彻底更改输出(即使在运行时,如果您想允许)。当然,该View不会从NSView下载,而是使用终端输出而不是图形绘制。

我建议您在制作GUI版本后保持程序的命令行版本,至少在一段时间内。当你能够毫不费力地维护程序的两个工作版本时,你会知道你正在做的事情,甚至在一个版本的程序中找到一个错误并在两个版本中修复它。