Vermutlich kennen Sie das Spiel, ein Spieler steckt sich 4 Farben in ein Kästchen ohne dass der Mitspieler es sieht. Dann muss dieser raten. Eine richtige Farbe am richtigen Platz ergibt ein schwarzer Stift, eine vorhandene Farbe am falschen Platz ergibt ein weisser Stift.
Zur Verdeutlichung des Thema Programmierlogik wollen wir hier den Logikteil des Spiel Mastermind nachprogrammieren. Dies ist eine herausfordernde Aufgabe für fortgeschrittenere Programmierer.
Sub AutoExec() ' Sub MasterMind() 'Mastermin Logikteil in VisualBasic 'Erstellt von MW 5.8.98 Dim F(4) As Boolean Dim E(4), Q(4) As String 'Die Farben Dim i, x, y As Byte p = 0 w = 0 Q(1) = "Violett" Q(2) = "Blau" Q(3) = "Türkis" Q(4) = "Gelb" For i = 1 To 4 F(i) = True Next E(1) = "Rot" E(2) = "Blau" E(3) = "Gelb" E(4) = "Schwarz" x = 1 y = 1 Do While y <= 4 'Solange es Farben zu prüfen gibt If F(x) = True Then 'Besser ist If F(x) If E(y) = Q(x) Then 'Ist eingabe und Quelle identisch F(x) = False If x = y Then 'Ist Position gleich? p = p + 1 ' Schwarz inkrementieren Else w = w + 1 ' Weiss inkrementieren End If y = y + 1 x = 1 Else If x = 4 Then 'Sind alle Farben durch? y = y + 1 x = 1 Else x = x + 1 End If End If Else If x = 4 Then 'Sind alle Farben durch y = y + 1 x = 1 Else x = x + 1 End If End If Loop 'Nächste Farbe prüfen MsgBox "Sie haben " & p & " Treffer und " & w & " richtige Farben." End Sub