[英]How to generate random sequence of numbers between a given range in c#
我想在計時器滴答事件的指定范圍內生成隨機數量的序列。 第一個和下一個隨機數之間的差值應為 0.5 並繼續該模式。
public MainWindow()
{
InitializeComponent();
aTimer = new System.Timers.Timer(500);
aTimer.Elapsed += new ElapsedEventHandler(timer_Tick);
aTimer.AutoReset = true;
}
Random random = new Random();
private void timer_Tick(object sender, ElapsedEventArgs e)
{
Dispatcher.Invoke(() => CreatePoint(random.Next(0, 5), random.Next(0, 5)));
}
我能夠生成隨機數,但如何指定兩個隨機數之間的距離?
只需使用隨機生成 -0.5 到 0.5 的值並將其添加到以前的值。 通過重用您的代碼的一部分,這是您可以執行的示例修改
Random random = new Random();
double currentX = 0d;
double currentY = 0d;
private void timer_Tick(object sender, ElapsedEventArgs e)
{
// add the random modifier between -0.5 and 0.5 to each x/y values
currentX += GetRandomModifier();
currentY += GetRandomModifier();
}
private double GetRandomModifier()
{
// generate a number between -0.5 and 0.5
return random.Next(-50, 50) / 100d;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.