Hallo,
erstmal ein bisschen zu mir. Ich bin gerade dabei VB.Net zu lernen. Ich habe bis jetzt nur einen Taschenrechner geschafft. Ich bin jetzt gerade dabei ein Dynamisches Lottospiel zu bauen. Leider hänge ich nun seid 2 Tagen an einem Fehler und komme da nicht so recht weiter.
Bei der Ausgabe gibt er mir bei egal vielen Spielen, immer wieder die selben Zahlen aus.
Ich denke es liegt an der numberField. Diese müsste eigentlich nach jedem schleifendurchlauf zurückgesetzt werden. Leider will das mit numberField.Clear() nicht so recht klappen.
Ich hoffe ihr habe eine Antwort für mich.
Grüße
Chris
Public Class Lotto
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles Me.Load
lstBox.Items.Clear()
ltrFehler.Visible = False
ltrFehlerBereich.Visible = False
txtWerteBereich.BackColor = Drawing.Color.White
txtAnz.BackColor = Drawing.Color.White
End Sub
Private Sub Start() Handles btnStart.Click
If (IsNumeric(txtWerteBereich.Text)) And (IsNumeric(txtAnz.Text)) And ( _
IsNumeric(txtGames.Text)) Then
Dim randomZahl As New System.Random
Dim zList As New SortedList
Dim Zahl As Integer
Dim i As Integer
Dim wBereich As Double = Replace(txtWerteBereich.Text, ".", ",")
Dim anZahl As Double = Replace(txtAnz.Text, ".", ",")
Dim ausg As Integer = 0
Dim secList As New SortedList
Dim numberField As IList = zList.GetValueList
Dim secValues As IList = secList.GetValueList
Dim sZahl As New System.Random
Dim superZahl As Integer
Dim Games As Double = Replace(txtGames.Text, ".", ",") - 1
Dim gSchleife As Integer
Dim a As String = String.Empty
For gSchleife = 0 To Games
If rdbJa.Checked Then
superZahl = sZahl.Next(0, 9)
End If
If anZahl > 2500000 Then
ltrFehlerBereich.Visible = True
txtAnz.BackColor = Drawing.Color.LightGray
txtAnz.Focus()
ElseIf wBereich > 2500000 Then
ltrFehlerBereich.Visible = True
txtWerteBereich.BackColor = Drawing.Color.LightGray
txtWerteBereich.Focus()
ElseIf wBereich < anZahl Then
ltrFehler.Visible = True
txtAnz.BackColor = Drawing.Color.LightGray
txtAnz.Focus()
Else
For i = 1 To anZahl
Do
Zahl = randomZahl.Next(1, wBereich + 1)
If Not zList.ContainsValue(Zahl) Then
zList.Add(Zahl, Zahl)
Exit Do
End If
Loop
Next i
lstBox.Items.Add("Die Lottozahlen lauten: ")
For i = 0 To numberField.Count - 1
secList.Add(numberField(i), numberField(i))
Next
For Each item In secList.Values
a &= item & ", "
Next
lstBox.Items.Add(a)
If rdbJa.Checked Then
superZahl = sZahl.Next(0, 9)
lstBox.Items.Add("SuperZahl= " & superZahl)
End If
End If
secList = New SortedList
zList = New SortedList
Next
End If
End Sub
End Class
Beitrag wurde zuletzt am 17.08.12 um 10:16:02 editiert. |