我有一个应用程序,如果我的程序使用具有基于其种子的模式的RNG,它会变得非常明显,因为它根据景观的x坐标构建了景观.虽然每次Random
调用Next()
时效果都很好,但每次使用相同的输入时我都需要能够输出相同的输出,因此无法依赖Next()
.相反,我试图Random
用输入种子每次都做一个新的.我知道,这不是一个好主意,它表明了.模式非常明显,具有交替的高值和低值,并且在整个景观中具有明显的整体趋势.我不想每次都制作新的发生器,但即便如此,我仍然密切关注加密RandomNumberGenerator
,看看我是否至少可以暂时使用它.然而,正如预期的那样,我不能播种它,让我没有任何可重复的输出(这是相当的意义RandomNumberGenerator
).
简而言之,两个常见的RNG似乎都不适合我的目的.我需要能够接收一个数字并根据该值返回一个随机数,而输出中没有明显的模式.有没有其他方法可以使用上述两种,或者是否有一种我以前没用过的方法会更符合我的目的?
为清楚起见,我尝试编写的方法如下:
public int RandomInt(int input)
{
int randomOutput;
//Be random
return randomOutput;
}
Run Code Online (Sandbox Code Playgroud)
每次input
给出相同的值时,它将返回相同的值.
我使用a MKMapView
来显示总共约700个注释.我的问题是,有时我得到一个像这样的大日志:
2013-06-05 17:32:12.395 tiet[1493:1c52b] Can't render polygon (can't reserve indicies: 324): featureID: 1547811419 key: 73.35.7 (512)
2013-06-05 17:32:12.396 tiet[1493:1c52b] Can't render polygon (can't reserve indicies: 480): featureID: 1547811419 key: 73.35.7 (512)
2013-06-05 17:32:12.396 tiet[1493:1c52b] Can't render polygon (can't reserve indicies: 30): featureID: 1547811419 key: 73.35.7 (512)
2013-06-05 17:32:12.396 tiet[1493:1c52b] Can't render polygon (can't reserve indicies: 18): featureID: 1547811419 key: 73.35.7 (512)
2013-06-05 17:32:12.396 tiet[1493:1c52b] Can't render polygon (can't reserve indicies: 18): featureID: 1547811419 key: 73.35.7 (512)
2013-06-05 17:32:12.397 …
Run Code Online (Sandbox Code Playgroud)