Jag försöker bygga en enkel win form med två bilder som ska växla efter en slumpmässig tid (en apa som rör på munnen :) ). Problemet är att min lösning inte alls verkar bli slumpmässig, det blir hela tiden ett "tidsmönster" i hur bilderna växlar mellan varandra? Någon som kan förklara varför? Koden:
public Form1()
{
InitializeComponent();
Timer t = new Timer();
t.Interval = 50;
t.Start();
t.Tick += new EventHandler(GetRandom);
}
public void GetRandom(object sender, EventArgs eArgs)
{
Random random = new Random();
if (random.Next(1, 3) == 1)
{
pictureBox1.Image = WinTest3.Properties.Resources.bild1;
}
else
{
pictureBox1.Image = WinTest3.Properties.Resources.bild2;
}
}
Det finns inte öht någon "slump" när det gäller datorer.
Ofta väljer man att basera slumpen på något som man likna slump, som till exempel millisekunderna. Det ger känslan av att vara slump, men är det egentligen inte alls.
Som Stefan säger så är det psuedo-slump man brukar prata om när man genererar slumptal med datorer. För att komma så nära "riktig" slump som möjligt brukar man använda någon sorts apparatur för att avläsa kvantmekaniska processer, som t.ex. sönderfallet hos radioaktivitet.