如何匹配两个阵列中的相同卡

时间:2016-02-04 19:27:43

标签: arrays xcode swift

我正在创建一个快照游戏,玩家必须匹配两张牌。我创建了两个阵列,一个用于英语卡,一个用于西班牙语卡片。包生成随机卡但我无法获得相同的卡匹配,当卡正确匹配时,玩家赢得1分。

O(n)

我尝试将“悲伤”与“triste”匹配,但得分保持不变

 var cardNamesArray: [String] = ["sad", "sleepy","angry"]
 var cardNamesArray2: [String] = ["triste", "cansado","enfadado"]

    //first card generate random number
    let firstRandomNumber = Int (arc4random_uniform(3))
    let firstCardString:String = self.cardNamesArray[firstRandomNumber]
    self.FirstCardImageView.image = UIImage(named: firstCardString)

    //Second Card generate random number
    let SecondRandomNumber = Int (arc4random_uniform(3))
    let SecondCardString:String = self.cardNamesArray2[SecondRandomNumber]
    self.SecondCardImageView.image = UIImage(named: SecondCardString)

1 个答案:

答案 0 :(得分:0)

至少有两种不同的方法,取决于你与随机数生成的距离:

如果您仍有可用的随机数,则可以使用:

if firstRandomNumber == secondRandomNumber {
    print("number match")
}

如果您仍然没有可用的随机数,但只有字符串,则可以使用indexOf在相应的数组中查找字符串:

if cardNamesArray.indexOf(firstCardString) == cardNamesArray2.indexOf(secondCardString) {
    print("index match")
}