Eine Art ,,Stoppuhr'' bauen ???

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von FloFuchs.

    Eine Art ,,Stoppuhr'' bauen ???

    Hallo mein Freund hat mir eines seiner selbstgemachten Spiele gesendet in Visual Basic.
    Er fragte mich ob ich evtl. in dem Projekt noch eine Art Stoppuhr einbauen könnte.
    Sodass jede Sekunde in ein Label eine Zahl kommt, also 1,2,3,4 usw. bis hin zu 20.
    Man soll sozusagen eine Zeit zum Spielen haben und danach sollte man seinen Namen
    eingeben und speichern. Am Ende soll eine Art ,,Highscore-System'' herauskommen.

    Weiß jemand wie man das mit dem Label (und dem Timer) macht ???
    ?( ?( ?(
    Wenn du nen Countdown meinst, verwendest du einfach ne Integer Variable, der du den wert 20 zuweißt. Im Timer, den du auf 1000ms stellst packst du ne If-Schleife rein, die abfragt, ob die Zahl 0 ist, wenn nicht dann ziehst du von der Variable eins ab. Wenn sie dann 0 ist beendest du das Spiel. Wo ist da das Problem?
    C&P Code wird dir hier keiner geben nur Hilfestellung

    Du legst eine Integer variable an die du im timer_tick event hochzählen lässt. Gleichzeitig nimmt das Label den Wert der Variable an. Wenn die Variable so groß wie die gesetze Grenze ist enablest du den Timer. Das eintragen in die Liste würde ich mit einem Streamwriter machen und die werte einfach miteinander vergleichen, den größten aussuchen und als highscore anzeigen.

    8-) faxe1008 8-)
    someway like....

    VB.NET-Quellcode

    1. Dim counter As Integer = 0
    2. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    3. With Timer2
    4. .Interval = 100
    5. .Start()
    6. End With
    7. End Sub
    8. Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
    9. Label2.Text = counter.ToString
    10. If counter = 1000 Then
    11. Timer2.Stop()
    12. counter = 0
    13. Else
    14. counter += 2
    15. End If
    16. End Sub
    Für ne Zeitdarstellung tät ich als Counter aber eher ne Timespan nehmen und im Timer mit Counter.Add(new Timespan(x,y,z)) zählen. Die Darstellung im Label mit toString sieht dann kompletti formatiert auch wie eine Zeit aus.

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:

    VB.NET-Quellcode

    1. Dim counter As New TimeSpan(0, 0, 0)
    2. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    3. With Timer2
    4. .Interval = 100
    5. .Start()
    6. End With
    7. End Sub
    8. Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
    9. Label2.Text = counter.ToString
    10. If counter.Seconds = 20 Then
    11. Timer2.Stop()
    12. counter = New TimeSpan(0, 0, 0)
    13. Else
    14. counter = counter.Add(New TimeSpan(0, 1, 0))
    15. End If
    16. End Sub