Zufallsgenerator

Arster-Boy

Erfahrenes Mitglied
Hallo,
ich habe ein Problem mit dem Zufallsgenerator(Randomize)
Ich möchte per Zufall ein Bild anzeigen lassen.
Es wird aber immer das gleiche Bild angezeigt.
Hier der Quelltext...
Code:
        Randomize()
        If Variable1 = "Name1" Then
            If Variable2 = 6 Or 7 Or 8 Or 9 Or 10 Or 11 Or 12 Or 13 Or 14 Or 15 Or 16 Or 17 Or 18 Or 19 Then
                Variable3 = Int(22 * Rnd())
            End If
            If Variable3 = 1 Then
                PictureBox6.Image = My.Resources.Image1
            End If
            If Variable3 = 2 Or 3 Or 4 Or 5 Or 6 Or 7 Then
                PictureBox6.Image = My.Resources.Image2
            End If
            If Variable3 = 8 Or 9 Or 10 Or 11 Then
                PictureBox6.Image = My.Resources.Image3
            End If
            If Variable3 = 12 Or 13 Then
                PictureBox6.Image = My.Resources.Image4
            End If
            If Variable3 = 14 Or 15 Or 16 Or 17 Then
                PictureBox6.Image = My.Resources.Image5
            End If
            If Variable3 = 18 Or 19 Or 20 Or 21 Or 22 Then
                PictureBox6.Image = My.Resources.Image6
            End If
        End If
 
Zuallererst kann man den übersichtlicher gestalten:
Code:
 Randomize()
        If Variable1 = "Name1" Then
            If Variable2 => 6 and Variable2 <= 19 Then
                Variable3 = Int(22 * Rnd())
            End If
            If Variable3 = 1 Then
                PictureBox6.Image = My.Resources.Image1
            Elseif Variable3 => 2 and Variable3 <= 7 Then
                PictureBox6.Image = My.Resources.Image2
            ElseIf Variable3 => 8 and Variable3 <= 11 Then
                PictureBox6.Image = My.Resources.Image3
           Elseif Variable3 = 12 Or Variable3  = 13 Then
                PictureBox6.Image = My.Resources.Image4
           Elseif Variable3 => 14 and Variable3 <= 17 Then
                PictureBox6.Image = My.Resources.Image5
            Elseif Variable3 => 18 and Variable3 <= 22 Then
                PictureBox6.Image = My.Resources.Image6
            End If
        End If


Und ich denke, er macht immer Bild6, weil die Bedingung immer zutrifft.
Du hast geschrieben:
Code:
If Variable3 = 18 Or 19 Or 20 Or 21 Or 22 Then
                PictureBox6.Image = My.Resources.Image6
End If

Dies ist immer wahr, weil es eigentlich so heißen müsste:

Code:
If Variable3 = 18 Or Variable3 = 19 Variable3 = Or Variable3 = 20 [...]Then
                PictureBox6.Image = My.Resources.Image6
End If

Ich hoffe das hat dir geholfen.
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück