dimanche 31 mai 2015

I want multiple non-random numbers in swift

I am using swift and want to have a number of duplicatable patterns throughout my game.

Ideally I would have some sort of shared class that worked sort of like this (this is sort of pseudo-Swift code):

class RandomNumberUtility {
    static var sharedInstance = RandomNumberUtility()
    var random1 : Random()
    var random2 : Random()

    func seedRandom1(seed : Int){
        random1 = Random(seed)
    }
    func seedRandom2(seed : Int){
        random2 = Random(seed)
    }
    func getRandom1() -> Int {
        return random1.next(1,10)
    }
    func getRandom2() -> Int {
        return random2.next(1,100)
    }
}

Then, to begin the series, anywhere in my program I could go like this:

RandomNumberUtility.sharedInstance.seedNumber1(7)
RandomNumberUtility.sharedInstance.seedNumber2(12)

And then I would know that (for example) the first 4 times I called

RandomNumberUtility.sharedInstance.getRandom1()

I would always get the same values (for example: 6, 1, 2, 6) This would continue until at some point I seeded the number again, and then I would either get the exact same series back (if I used the same seed), or a different series (if I used a different seed).

And I want to have multiple series of numbers (random1 & random2) at the same time.

I am not sure how to begin to turn this into an actual Swift class.




Aucun commentaire:

Enregistrer un commentaire