【发布时间】:2015-05-31 19:45:33
【问题描述】:
我正在使用 swift,并希望在我的游戏中拥有许多可复制的模式。
理想情况下,我会有某种类似这样工作的共享类(这是一种伪 Swift 代码):
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)
}
}
然后,开始这个系列,在我的程序中的任何地方我都可以这样:
RandomNumberUtility.sharedInstance.seedNumber1(7)
RandomNumberUtility.sharedInstance.seedNumber2(12)
然后我会知道(例如)我打电话的前 4 次
RandomNumberUtility.sharedInstance.getRandom1()
我总是会得到相同的值(例如:6、1、2、6) 这将一直持续到某个时候我再次播种该数字,然后我会得到完全相同的系列(如果我使用相同的种子)或不同的系列(如果我使用不同的种子)。
我想同时拥有多个数字系列(随机 1 和随机 2)。
我不知道如何开始把它变成一个真正的 Swift 类。
【问题讨论】: