2016-08-03 4 views
0

Я пытаюсь сделать это, когда я нажимаю кнопку, он генерирует случайное значение int между 1 и 13 (включительно), он не дает одинаковый номер дважды в ряд. Невероятно новый по отношению к быстрому btwОстановите одно и то же случайное число int, которое появляется дважды в строке

Ive рассмотрел многие другие темы здесь и до сих пор не может заставить его работать.

случайная ИНТ функция:

func randomIntBetween(low:Int, high:Int) -> Int { 
    let range = high - (low - 1) 
    return (Int(arc4random()) % range) + (low - 1) 
} 

и кнопка:

@IBAction func higher(sender: AnyObject) { 
    //Random Number between 1-13 
    numberLabel.text = String(randomIntBetween(2, high: 14)) 
    print(numberLabel.text) 

Благодаря

ответ

0

Создайте переменную, которая хранит последний использовавшийся Int, и если это соответствует новому случайную вспомнить функцию ,

var lastUsedRandom: Int = 0 

func randomIntBetween(low:Int, high:Int) -> Int { 
    let range = high - (low - 1) 
    let newRandom = (Int(arc4random()) % range) + (low - 1) 
    if newRandom == lastUsedRandom{ 
     randomIntBetween(low, high: high) 
    }else{ 
     lastUsedRandom = newRandom 
     return newRandom 
    } 
} 
+0

Спасибо :) я просто редактировал его, как я получил несколько ошибок при использовании его в Xcode – Jeremy

+0

Нет проблем, внесите изменения здесь, а также и пометить как ответ пожалуйста. – TheValyreanGroup

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