🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
5 messages
5 total messages Started by bernd Tue, 09 May 2006 19:02
[VB.NET]Random functie
#709
Author: bernd
Date: Tue, 09 May 2006 19:02
19 lines
1771 bytes
hallo,

ik ben student informatica en heb een probleempje met de random functie in 
VB.net. telkens als ik een programma run waar 3 random waardes worden 
bepaald, leveren alle 3 die functies dezelfde waarde... hoe kan ik dit 
oplossen?

code:
Private Sub ButtonSpin_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles ButtonSpin.Click
Dim waarde1 As Random = New Random
Label1.Text = CStr(waarde1.Next(1, 100))
Dim waarde2 As Random = New Random
Label2.Text = CStr(waarde2.Next(1, 100))
Dim waarde3 As Random = New Random
Label3.Text = CStr(waarde3.Next(1, 100))
End Sub

bedankt 
Re: [VB.NET]Random functie
#710
Author: wem
Date: Tue, 09 May 2006 19:18
25 lines
2141 bytes
bernd wrote:
> hallo,
> 
> ik ben student informatica en heb een probleempje met de random functie in 
> VB.net. telkens als ik een programma run waar 3 random waardes worden 
> bepaald, leveren alle 3 die functies dezelfde waarde... hoe kan ik dit 
> oplossen?
> 
> code:
> Private Sub ButtonSpin_Click(ByVal sender As System.Object, ByVal e As 
> System.EventArgs) Handles ButtonSpin.Click
> Dim waarde1 As Random = New Random
> Label1.Text = CStr(waarde1.Next(1, 100))
> Dim waarde2 As Random = New Random
> Label2.Text = CStr(waarde2.Next(1, 100))
> Dim waarde3 As Random = New Random
> Label3.Text = CStr(waarde3.Next(1, 100))
> End Sub
> 
> bedankt 
> 
> 

Ik ken niet van VB.Net, maar het lijkt erop dat de functie telkens met 
dezelfde seed wordt opgeropen, misschien eens in die richting zoeken?
Re: [VB.NET]Random functie
#711
Author: Leon Zandman
Date: Tue, 09 May 2006 22:01
27 lines
2107 bytes
> ik ben student informatica en heb een probleempje met de random functie in 
> VB.net. telkens als ik een programma run waar 3 random waardes worden 
> bepaald, leveren alle 3 die functies dezelfde waarde... hoe kan ik dit 
> oplossen?

Ik denk dat dit beter werkt:

         Dim randomGenerator As Random = New Random
         Dim waarde1 As Integer
         Dim waarde2 As Integer
         Dim waarde3 As Integer

         waarde1 = randomGenerator.Next(1, 100)
         waarde2 = randomGenerator.Next(1, 100)
         waarde3 = randomGenerator.Next(1, 100)

         ListBox1.Items.Add(CStr(waarde1))
         ListBox1.Items.Add(CStr(waarde2))
         ListBox1.Items.Add(CStr(waarde3))

Jouw code gaat fout, omdat de drie Random objecten tegelijkertijd worden 
aangemaakt. Ze krijgen dan dezelfde (tijdsafhankelijke) seed en daarmee 
hetzelfde startpunt voor het genereren van de random numbers.

Groeten,

Leon
Re: [VB.NET]Random functie
#712
Author: bernd
Date: Wed, 10 May 2006 09:41
3 lines
1232 bytes
ja bedankt voor jullie hulp,

nu werkt het.... 
Re: [VB.NET]Random functie
#713
Author: Peter
Date: Thu, 11 May 2006 17:44
33 lines
2228 bytes
bernd wrote:
> hallo,
> 
> ik ben student informatica en heb een probleempje met de random functie in 
> VB.net. telkens als ik een programma run waar 3 random waardes worden 
> bepaald, leveren alle 3 die functies dezelfde waarde... hoe kan ik dit 
> oplossen?
> 
> code:
> Private Sub ButtonSpin_Click(ByVal sender As System.Object, ByVal e As 
> System.EventArgs) Handles ButtonSpin.Click
> Dim waarde1 As Random = New Random
> Label1.Text = CStr(waarde1.Next(1, 100))
> Dim waarde2 As Random = New Random
> Label2.Text = CStr(waarde2.Next(1, 100))
> Dim waarde3 As Random = New Random
> Label3.Text = CStr(waarde3.Next(1, 100))
> End Sub
> 
> bedankt 
> 
> 

Je 3 instanties vertrekken vanuit dezelfde seed. Starten met een andere 
seed kan met Randomize().

Trouwens,
Waarom 3 instanties.
Je kan toch 3x de next method aanroepen van 1 instantie?


mvg,
Peter
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads