1

iPad 用のカードゲームを作っています (パニック、神経衰弱、ストレス)。勝つには、一致する 4 枚のカードの完全なセットが必要です。4 枚のカードがすべて等しいことを確認するために機能する IF ステートメントを取得しようとしています。これが私の現在のコードです:

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 配列がある場合

上記のステートメントが true を返すには、スロット 4 と 2 のカードを一致させるだけで済みます。

4

2 に答える 2

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 に答える
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 に答える