¿Número aleatorio de una matriz sin repetir el mismo número dos veces seguidas?
Estoy haciendo un juego usando Swift y SpriteKit donde muevo un objeto a ubicaciones aleatorias en función de una matriz.
La matriz que se compone de CGPoints:
let easyArray = [CGPointMake(0,0), CGPointMake(126.6,0), CGPointMake(253.4,0), CGPointMake(0,197.5), CGPointMake(126.7,197.5), CGPointMake(253.4,197.5), CGPointMake(0,395), CGPointMake(126.7,395), CGPointMake(253.4,395)]
Uso esta función para generar un número aleatorio:
func randomNumber(maximum: UInt32) -> Int {
var randomNumber = arc4random_uniform(maximum)
while previousNumber == randomNumber {
randomNumber = arc4random_uniform(maximum)
}
previousNumber = randomNumber
return Int(randomNumber)
}
Utilicé esto para mover el objeto en función del número aleatorio generado:
let greenEasy = randomNumberNew(9)
let moveSelector = SKAction.moveTo(easyArray[greenEasy], duration: 0)
selector.runAction(moveSelector)
He leído un poco en línea y descubrí que la condición "Mientras" debería hacer que el mismo número aleatorio no se genere dos veces seguidas. Pero aún sucede.
¿Alguien puede ayudarme a hacerlo para que no obtenga el mismo número dos veces seguidas?