如何在c#

时间:2019-06-26 13:08:34

标签: 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)));
}

我能够生成随机数,但是如何指定两个随机数之间的距离?

1 个答案:

答案 0 :(得分:0)

只需使用随机数生成-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;
}