0

您好,我正在为 ios 制作纸牌游戏,这是国王饮酒游戏,

为此,我使用以下代码填充字典

 cardValues = [[NSMutableArray alloc] init];



for (card1 = 1; card1 <= 13; card1++) {

    card2 = card1;

    [cardValues addObject:[NSNumber numberWithInt:card2]];
    [cardValues addObject:[NSNumber numberWithInt:card2]];
    [cardValues addObject:[NSNumber numberWithInt:card2]];
    [cardValues addObject:[NSNumber numberWithInt:card2]];
}
 dict = [[NSDictionary alloc] initWithObjects:cardValues forKeys:cardKeys];

cardvalues 是一个 NSMutableArray,经过 1 到 13 次,4 次为 4 套牌

cardkeys 是一个 NSArray,其中填充了 52 张卡片的名称,例如

  cardKeys = [[NSArray alloc] initWithObjects:
@"clubace",
@"diamondace",
@"heartace",
@"spadeace",

@"club2",
@"diamond2",
@"heart2",
@"spade2",

等等通过数组。

我在获取与数字匹配的卡片值以显示所绘制卡片所遵循的规则时遇到问题

例如,如果红心 5 被抽中,我将显示一条消息喝 5 秒,其他任何红心 5 都一样

我希望有人能告诉我如何完成这项工作。

任何帮助表示赞赏

感谢您

4

1 回答 1

2

我认为更好的方法是创建一个PlayingCard既包含花色又包含卡片价值的类。然后,您可以拥有一个包含 52 个PlayingCard对象的数组。您可以从数组中随机拉出这 52 个PlayingCard对象中的任何一个(和/或从数组中删除它们)。该类PlayingCard还可以有一个UIImage属性,您可以使用该属性将卡片绘制到屏幕上。

如果您发现自己将相关数据存储在两个或多个单独的容器中,那么您最好将这些数据封装在一个类中并使用单个容器来存储类的实例。

于 2012-12-11T17:24:15.913 回答