NSMutableDictionary和NSMutableArray

时间:2012-12-11 17:15:53

标签: objective-c xcode nsmutablearray nsmutabledictionary

您好我正在为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",

依旧通过数组。

我遇到的问题是将cardvalues与数字相匹配,以显示该卡被绘制后的规则

例如,如果绘制了5个心脏,我将显示5秒的消息饮料,其他5个消息相同

我希望somone可以告诉我如何完成这件事。

感谢任何帮助

感谢你

1 个答案:

答案 0 :(得分:2)

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

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