VB - Übung 6
"FARBEN-GAMBLER"
Funktion mit Returnwert, DO-WHILE, DO-UNTIL, Schleifen-Exit

 

  1. Erzeuge im vorhandenen Form eine breite Textbox mit dem Namen Ausgabe. Erzeuge darunter in einer Ebene vier gleichgroße Textboxen mit den Namen rot, gruen, gelb und blau. Sperre die Eingabemöglichkeit aller Textbox-Elemente. Der Defaulttext dieser Textbox-Elemente ist wie in der Abbildung zu setzen. Erzeuge darunter in einer Ebene vier gleichgroße Commandbuttons mit den Namen FOR-GAMBLE, WHILE-GAMBLE und DO-WHILE-GAMBLE und DO-UNTIL-GAMBLE.

  2. Erzeuge eine eigene Funktion gamble(), welche Zufallszahlen zwischen 0 und 7 berechnet und die vier kleinen Textboxelemente entsprechend mit Texten belegt:
    <<< Erzeuge die Variable iWert vom Datentyp Integer, welche am Ende der Funktion zerstört wird. >>>
    <<< Erzeuge die Variable i vom Datentyp Integer, welche am Ende der Funktion zerstört wird. >>>
    <<< Beginn einer For-Schleife, die Variable i durchläuft die Werte von 1 bis 4 >>>
    Randomize
    iWert = Int(7 * Rnd + 1)
    <<< (Beginn von "Select Case") Im Falle, dass die Variable i nachfolgende Werte besitzt >>>
    Case 1
    <<< Wenn der Wert der Variablen iWert größer gleich 0 UND kleiner gleich 1 ist, dann >>>
    <<< Setze die Eigenschaft Text des Objektes rot auf den Wert "ROT" >>>
    <<< andernfalls >>>
    <<< Setze die Eigenschaft Text des Objektes rot auf den Wert "---">>>
    <<< Ende von "Wenn">>>
    Case 2
    <<< Wenn der Wert der Variablen iWert größer gleich 2 UND kleiner gleich 3 ist, dann >>>
    <<< Setze die Eigenschaft Text des Objektes gruen auf den Wert "GRÜN" >>>
    <<< andernfalls >>>
    <<< Setze die Eigenschaft Text des Objektes gruen auf den Wert "---">>>
    <<< Ende von "Wenn">>>
    Case 3
    <<< Wenn der Wert der Variablen iWert größer gleich 4 UND kleiner gleich 5 ist, dann >>> Then
    <<< Setze die Eigenschaft Text des Objektes gelb auf den Wert "GELB" >>>
    Else
    <<< Setze die Eigenschaft Text des Objektes gelb auf den Wert "---">>>
    End If
    Case 4
    <<< Wenn der Wert der Variablen iWert größer gleich 6 UND kleiner gleich 7 ist, dann >>>
    <<< Setze die Eigenschaft Text des Objektes blau auf den Wert "BLAU" >>>
    <<< andernfalls >>>
    <<< Setze die Eigenschaft Text des Objektes blau auf den Wert "---">>>
    <<< Ende von "Wenn">>>
    <<< Ende von "Select Case" >>>
    <<< Ende der For-Schleife >>>
    End Sub

  3. Erzeuge eine Funktion ergebnis(), welche die vier kleinen Textbox-Elemente evaluiert und einen Bool'schen-Wert zurückliefert:
    Private Function ergebnis() As Boolean
    <<< Wenn der Ausdruck (rot.Text = "ROT" And gruen.Text = "GRÜN" And gelb.Text = "GELB" And blau.Text = "BLAU") zutrifft, dann >>>
    <<< Setze den Rückgabewert der Funktion ergebnis auf den Wert True >>>
    <<< andernfalls >>>
    <<< Setze den Rückgabewert der Funktion ergebnis auf den Wert False >>>
    <<< Ende von "Wenn">>>
    End Function

  4. Ergänze die Funktion forgamble_Click() wie folgend:
    Private Sub forgamble_Click()
    <<< Erzeuge eine Variable iMax vom Datentyp Integer, welche am Ende der Funktion zerstört wird. >>>
    <<< Setze die Variable iMax auf den Wert 1000 >>>
    <<< Beginn einer For-Schleife, die Variable i durchläuft die Werte von 1 bis iMax >>>
    <<< Rufe die Funktion gamble() auf >>>
    If (ergebnis = True) Then 'Wenn die aufgerufenen Funktion ergebnis() den Rückgabewert True liefert
    <<< Setze die Eigenschaft Text des Objektes ausgabe auf nachfolgenden Wert: "FARBEN-JACKPOT IN RUNDE " + CStr(i) >>>
    Exit For ' Vorzeitige Beendigung der For-Schleife
    End If
    <<< Ende der For-Schleife>>>
    <<< Wenn die Variable i den Wert iMax + 1 besitzt, dann >>>
    <<< Setze den Text des Objektes ausgabe auf nachfolgenden Wert: "YOU HAVE LOST NACH " + CStr(i - 1) + " RUNDEN" >>>
    <<< Ende von "Wenn">>>
    End Sub

  5. Ergänze die Funktion whilegamble_Click() wie folgend:
    Private Sub whilegamble_Click()
    <<< Definiere die Variable iMax vom Datentyp Integer, welche am Ende der Funktion zerstört wird >>>
    <<< Setze die Variable iMax auf den Wert 1000 >>>
    <<< Setze die Variable i auf den Wert 1 >>>
    <<< (Beginn einer While-Wend-Schleife) Solange der Wert der Variablen i kleiner gleich dem Wert der Variablen iMax ist >>
    <<< Rufe die Funktion gamble() auf >>>
    <<< Wenn die aufgerufenen Funktion ergebnis() den Rückgabewert True liefert >>>
    <<< Setze die Eigenschaft Text des Objektes ausgabe auf nachfolgenden Wert: "FARBEN-JACKPOT IN RUNDE " + CStr(i) >>>
    i = 2000 'Eigener Exit
    <<< Ende von "Wenn">>>f
    <<< Erhöhe die Variable i um den Wert 1 >>>
    <<< Ende der While-Wend-Schleife>>>
    <<< Wenn die Variable i den Wert iMax + 1 besitzt, dann >>>
    <<< Setze die Eigenschaft Text des Objektes ausgabe auf nachfolgenden Wert: "YOU HAVE LOST NACH " + CStr(i - 1) + " RUNDEN">>>
    <<< Ende von "Wenn" >>>
    End Sub

  6. Ergänze die Funktion dowhilegamble_Click() wie folgend:
    Private Sub dowhilegamble_Click()
    <<< Erzeuge eine Variable iMax vom Datentyp Integer, welche am Ende der Funktion zerstört wird. >>>
    <<< Setze die Variable iMax auf den Wert 1000 >>>
    <<< Setze die Variable i auf den Wert 1 >>>
    <<< Beginn einer Do-Loop-While-Schleife >>>
    <<< Rufe die Funktion gamble() auf >>>
    <<< Wenn die aufgerufenen Funktion ergebnis() den Rückgabewert True liefert >>>
    <<< Setze die Eigenschaft Text des Objektes ausgabe auf nachfolgenden Wert: "FARBEN-JACKPOT IN RUNDE " + CStr(i) >>>
    Exit Do 'Vorzeitige Beendigung der Do-While-Schleife
    <<< Ende von "Wenn" >>>
    <<< Erhöhe die Variable i um den Wert 1 >>>
    Loop While i <= iMax '(Ende der Schleife) Solange der Wert der Variablen i kleiner gleich dem Wert der Variablen iMax ist
    <<< Wenn die Variable i den Wert iMax + 1 besitzt, dann >>>
    <<< Setze die Eigenschaft Text des Objektes ausgabe auf nachfolgenden Wert: "YOU HAVE LOST NACH " + CStr(i - 1) + " RUNDEN" >>>
    <<< Ende von "Wenn" >>>
    End Sub

  7. Ergänze die Funktion dountilgamble_Click() wie folgend:
    Private Sub dountilgamble_Click()
    <<< Erzeuge eine Variable iMax vom Datentyp Integer, welche am Ende der Funktion zerstört wird. >>>
    <<< Setze die Variable iMax auf den Wert 1000 >>>
    <<< Setze die Variable i auf den Wert 1 >>>
    <<< Beginn einer Do-Loop-Until-Schleife >>>
    <<< Rufe die Funktion gamble() auf >>>
    <<< Wenn die aufgerufenen Funktion ergebnis() den Rückgabewert True liefert >>>
    ausgabe.Text = "FARBEN-JACKPOT IN RUNDE " + CStr(i)
    Exit Do 'Vorzeitige Beendigung der Do-Until-Schleife
    <<< Ende von "Wenn">>>
    <<< Erhöhe die Variable i um den Wert 1 >>>
    Loop Until i = iMax + 1 '(Ende der Schleife) Bis der Wert der Variablen i kleiner gleich dem Wert der Variablen iMax ist
    <<< Wenn die Variable i den Wert iMax + 1 besitzt, dann >>>
    <<< Setze die Eigenschaft Text des Objektes ausgabe auf nachfolgenden Wert: "YOU HAVE LOST NACH " + CStr(i - 1) + " RUNDEN" >>>
    <<< Ende von "Wenn" >>>
    End Sub