0

我正在开发一款 Pong 游戏来学习一些 iPhone 编程。

我有一个 NSString* playerName 和 int playerScore。

比赛结束后我得到这个。

现在我需要一种在用户设备上存储高分的方法。但是,有一些警告。

如果它是前 10 名的高分,我只会费心存储一个分数。并且如果用户的名字已经在列表中并且分数值得添加(例如> 10th score),则更新分数并根据分数重新排列列表。

我来自 C++ 世界。

在 C++ 中,我会使用一个简单的文件,我会解析该文件,在内存中使用,然后重写该文件。

不过,我想知道的是,这应该如何在 Obj-C 中完成。是否有课程或其他东西可以使此类任务变得简单方便?

谢谢

4

2 回答 2

1

只需使用字典包含您的分数(如s)和名称NSArray的实例。然后,您可以使用and直接将其读写到磁盘(作为属性列表)。NSDictionaryNSNumberinitWithContentsOfFile:writeToFile:atomically:

于 2013-11-09T20:59:03.800 回答
0

试试这个

创建一个NSMutableArray将存储用户分数的。每次游戏结束时,找到NSMutableArray具有 10 最高值的分数。之后存储PlayerNameHighestScores使用NSUserDefaults

NSUserDefaults将允许您将对象保存在用户的设备中

NSString *PlayerName;
int PlayerScore;


//SAVING

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

// saving an NSString
[prefs setObject:PlayerName forKey:@"name"];

// saving an NSInteger
[prefs setInteger:PlayerScore forKey:@"score"];

//GETTING

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

// getting an NSString
NSString *myString = [prefs stringForKey:@"name"];

// getting an NSInteger
int myInt = [prefs integerForKey:@"score"];

这只是一些我认为会有所帮助的指南:)

于 2013-11-10T17:15:45.687 回答