1

我正在为 iPad 制作纸牌游戏(恐慌、神经崩溃、压力)。要赢,您需要拥有一整套 4 张匹配的卡片,我正在尝试获取一个 IF 语句,以确保所有 4 张卡片都相等。这是我当前的代码:

if ([cards objectAtIndex:4] && [cards objectAtIndex:5] && [cards objectAtIndex:6] && [cards objectAtIndex:7] == [cards objectAtIndex:5]) {
        //Deck one is good!
        NSLog(@"P1D1, all clear");
}

Cards 是一个 NSMuatableArray。如果我有一个数据为 4:3:2:1 的 2x2 数组

我只需要匹配插槽 4 和 2 中的卡,上述语句即可返回 true。

4

2 回答 2

1

尝试:

if([[cards objectAtIndex:4] isEqual:[cards objectAtIndex:5]] && [[cards objectAtIndex:6] isEqual:[cards objectAtIndex:5]] && [[cards objectAtIndex:7] isEqual:[cards objectAtIndex:5]]){
  //Deck one is good!
  NSLog(@"P1D1, all clear");
}

希望有帮助!

于 2012-04-23T18:08:26.727 回答
1

或者,您可以执行以下操作:

NSSet *distinctCardSet = [NSSet setWithArray:[cards subarrayWithRange:NSMakeRange(3, 4)]];
if (distinctCardSet.count == 1)
{
    //Deck one is good!
    NSLog(@"P1D1, all clear");
}
于 2012-04-23T18:15:33.537 回答