Hallo zusammen,
Ich bin grad dabei ein kleines Spielchen zu erstellen,
bei dem immer durch Zufall einer von vier Button für eine kurze, festlegbare Zeit (100 bis 1000 ms)
entsperrt wird, bei einem Klick gibts einen Punkt.
Ich habe, um diese Zeitspanne zu realisieren, einen Timer "Intervalgeber" eingebaut.
Innerhalb der Intervalgeber_Tick -Prozedur ist nun eine
For - Next - Schleife, die je nach gewählter Rundenanzahl unterschiedlich oft durchlaufen soll.
Aber leider - und natürlich - startet die Schleife bei jedem "Tick" erneut.
Wie kann ich das anders Regeln?
Anbei mal der (bisherige ) ganze Quelltext.
Vielen Dank schon mal im voraus,
Paulchenchen
Ich bin grad dabei ein kleines Spielchen zu erstellen,
bei dem immer durch Zufall einer von vier Button für eine kurze, festlegbare Zeit (100 bis 1000 ms)
entsperrt wird, bei einem Klick gibts einen Punkt.
Ich habe, um diese Zeitspanne zu realisieren, einen Timer "Intervalgeber" eingebaut.
Innerhalb der Intervalgeber_Tick -Prozedur ist nun eine
For - Next - Schleife, die je nach gewählter Rundenanzahl unterschiedlich oft durchlaufen soll.
Aber leider - und natürlich - startet die Schleife bei jedem "Tick" erneut.
Wie kann ich das anders Regeln?
Anbei mal der (bisherige ) ganze Quelltext.
VB.NET-Quellcode
- Public Class Form1
- Private Sub nudSpeed_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nudSpeed.ValueChanged
- Dim Speed As Decimal = nudSpeed.Value
- End Sub
- Private Sub nudRunden_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nudRunden.ValueChanged
- Dim Runden As Decimal = nudRunden.Value
- End Sub
- Private Sub bnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnStart.Click
- bnStart.Enabled = False
- bnStop.Enabled = True
- Intervalgeber.Start()
- Intervalgeber.Interval = nudSpeed.Value * 1000
- nudRunden.Enabled = False
- nudSpeed.Enabled = False
- End Sub
- Private Sub Intervalgeber_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Intervalgeber.Tick
- For z As Short = 1 To nudRunden.Value
- bnKlickMe1.Enabled = False
- bnKlickMe2.Enabled = False
- bnKlickMe3.Enabled = False
- bnKlickMe4.Enabled = False
- Dim R As New Random(Now.Millisecond)
- Dim Zufall As Short = R.Next(1, 5)
- If Zufall = 1 Then
- bnKlickMe1.Enabled = True
- ElseIf Zufall = 2 Then
- bnKlickMe2.Enabled = True
- ElseIf Zufall = 3 Then
- bnKlickMe3.Enabled = True
- Else
- bnKlickMe4.Enabled = True
- End If
- Next
- End Sub
- Private Sub bnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnStop.Click
- bnStop.Enabled = False
- bnStart.Enabled = True
- Intervalgeber.Stop()
- bnKlickMe1.Enabled = False
- bnKlickMe2.Enabled = False
- bnKlickMe3.Enabled = False
- bnKlickMe4.Enabled = False
- nudRunden.Enabled = True
- nudSpeed.Enabled = True
- End Sub
- End Class
Vielen Dank schon mal im voraus,
Paulchenchen