Zwei verschiedene Zufallszahlen mit einem Knopfdruck erzeugen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Zwei verschiedene Zufallszahlen mit einem Knopfdruck erzeugen

    Hallo, ich möchte per Knopfdruck zwei verschiedene Zufallszahlen erzeugen.
    Allerdings werden immer die gleichen Zahlen erzeugt. Entweder übersehe ich etwas, oder der Code stimmt nicht.
    Hier ist mal der Code zum überprüfen:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. Dim rnd As New Random()
    3. Dim zahl As Integer = rnd.Next(1, 4)
    4. If zahl = 1 Then
    5. Label1.Text = "1"
    6. End If
    7. If zahl = 2 Then
    8. Label1.Text = "2"
    9. End If
    10. If zahl = 3 Then
    11. Label1.Text = "3"
    12. End If
    13. If CheckBox1.Checked = True Then
    14. Dim rnd2 As New Random()
    15. Dim zahl2 As Integer = rnd2.Next(1, 4)
    16. Label2.Visible = True
    17. If zahl2 = 1 Then
    18. Label2.Text = "1"
    19. End If
    20. If zahl2 = 2 Then
    21. Label2.Text = "2"
    22. End If
    23. If zahl2 = 3 Then
    24. Label2.Text = "3"
    25. End If
    26. End If


    Ich bedanke mich im Vorraus und hoffe, dass mir jemand helfen kann :)
    Das Problem gab's schon mal vor einiger Zeit. Lag daran, dass 2 Random-Instanzen verwendet wurden. Eine reicht. Probier's mal, indem Du Zeile 14 auskommentierst und im weiteren nur die erste Instanz aus Zeile 2 verwendest.

    EDIT: Falls das gezeigte tatsächlich Dein aktuelle Code ist, dann als kleiner Tipp:

    VB.NET-Quellcode

    1. Dim rnd As New Random()
    2. Dim zahl As Integer = rnd.Next(1, 4)
    3. Label1.Text = zahl.ToString()
    4. If CheckBox1.Checked Then
    5. zahl = rnd.Next(1, 4)
    6. Label2.Visible = True
    7. Label2.Text = zahl.ToString()
    8. End If
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @Chritation Wenn Du die Random-Instanz noch öfter brauchst, erstell Dir eine zentrale Instanz davon in der MainForm.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!