2016-02-04 4 views
0

Я создаю оснастку, чтобы игрок мог сопоставить две карты. Я создал два массива для английских карт и один для испанских карт. Пакет генерирует случайные карточки, но я не могу получить одинаковые карты, которые игрок выигрывает 1 очко, когда карты правильно совпадают.Как сопоставить одни и те же карты в двух массивах

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) 

Я пытался соответствием «грустного» с «расстроенным», но счет остается прежнего

 if ["sad"] == ["triste"] { 

     print("match") 

     self.playerScore += 1 
     self.playerScoreLabel.text = String(self.playerScore) 

    } 
+2

Поскольку Xcode не является синхронист, сравните номера (массив индексы) 'if firstRandomNumber == secondRandomNumber' – vadian

+0

Спасибо. Это сработало – Miguel

ответ

0

По крайней мере, два различных способа сделать это, в зависимости от того, как далеко вы от генерации случайного чисел :

Если у вас есть случайные числа доступных, вы можете использовать:

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

Если йо у до сих пор не имеют случайные числа доступны, но только есть строки, вы можете использовать indexOf, чтобы найти строку в соответствующем массиве:

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

Спасибо, что сработало. Как насчет того, когда карты совпадают, они очищаются, чтобы они снова не появлялись – Miguel

Смежные вопросы