如果(condition1&& condition2&& condition3&& condition4 == condition1)? Objective-C的

时间:2012-04-23 18:01:14

标签: objective-c if-statement parameters

我正在为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");
}

卡片是NSMuatableArray。如果我有一个2x2数组,数据为4:3:2:1

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

2 个答案:

答案 0 :(得分: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");
}

希望有帮助!

答案 1 :(得分:1)

或者你也可以这样做:

NSSet *distinctCardSet = [NSSet setWithArray:[cards subarrayWithRange:NSMakeRange(3, 4)]];
if (distinctCardSet.count == 1)
{
    //Deck one is good!
    NSLog(@"P1D1, all clear");
}