首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单iPhone游戏的实现/设计建议

简单iPhone游戏的实现/设计建议
EN

Stack Overflow用户
提问于 2011-06-28 11:31:02
回答 1查看 177关注 0票数 1

问题

我正在为某个纸牌游戏创建一个分数计算器。它在导航和视图控制器方面变得相当复杂。

基本上,我需要的是一种跟踪当前分数的方法,在启动时实例化4个玩家的对象,以及一个跟踪游戏进度的方法(游戏有4种“级别”或“周期”)。

可能的解决方案

所以我想做的是为分数管理器创建一个Singleton类。我还创建了一个Player对象,可能会在AppDelegate类中实例化,并在新的VC加载时将它们传递到数组中。

继续最后一场游戏

我希望应用程序存储的最后一个游戏,如果应用程序已经终止,和一个选项,以恢复它的启动。我必须记录:球员的名字,每个球员的分数,以及每一轮比赛的详细记分表。

我的问题

  • 是我的解决方案,可以在AppDelegate中创建4个玩家的对象,并在VC上传递给每个VC,推动一个好的解决方案?如果不是,游戏通常如何实现一个Player对象?我以前使用C++和Java创建过游戏,但是太简单了,而“游戏管理器”只是一个类,所以我以前从来不需要处理传递玩家对象的问题。此外,如果一个播放器点击了"Back“,导航控制器从它的堆栈中弹出一个项,那么该player对象是否还会在以前的VC中被实例化?如果没有,当点击“后退”按钮时,我也必须通过它吗?
  • 我可能会让分数管理器也跟踪游戏的进度,或者游戏在使用Singleton类时的位置。这是一个很好的设计决策吗?
  • 用来存储名称、分数和整个计分表,是只使用NSUserDefault还是使用plist更好,特别是因为我需要跟踪计分表?

任何实施建议都将受到高度赞赏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-28 11:50:09

问得好。我喜欢你实施游戏的想法。我不建议您实现的唯一概念是在AppDelegate中创建播放器。这样做没有坏处,但是改变AppDelegate也不是一个好的实践。相反,您可以创建一个单独的类,比如Player.h和Player.m (如果您使用的是Player.mm)。做你想做的事情,并在场景中调用类变量和函数。

其次,如果您想存储小数据,希望存储大量数据和反向代码时,使用PList over NSUserDefault的想法会更有效。This是一个很好的讨论,可能对您也有帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6505727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档