2016-08-03 28 views
0

Ich versuche es so zu machen, wenn ich auf eine Schaltfläche klicke, erzeugt es einen zufälligen int zwischen 1 und 13 (inklusive), es gibt nicht die gleiche Nummer zweimal in eine Reihe. Ziemlich neu zu Swift BTWStoppen Sie den gleichen zufälligen Int zweimal hintereinander in Folge

Ive sah sich viele andere Themen hier und immer noch nicht zur Arbeit.

Zufalls int Funktion:

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

und die Taste:

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

Dank

Antwort

0

Erstellen Sie eine Variable, die den zuletzt verwendeten Int speichert und wenn das entspricht dem neuen Zufalls Rückruf die Funktion .

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

Thanks :) ich es gerade bearbeitet, wie ich ein paar Fehler bekam, wenn es in Xcode – Jeremy

+0

Kein Problem verwenden, um Ihre Änderungen hier bitte auch und Marke als Antwort zu machen. – TheValyreanGroup