Universität Ulm - Abteilung Angewandte Informationsverarbeitung
Sicher kennt jeder von Ihnen das erfolgreiche Spiel Mastermind. Ein Spieler setzt 4 verschiedenfarbige Kegel (unsichtbar für den Gegner) auf ein Spielbrett (Geheimcode). Nun bleiben für den Gegenspieler maximal 10 Rateschritte, um diesen Geheimcode zu knacken. Dabei zeigen pro Rateschritt schwarze Stöpsel an, bei wievielen Kegeln die Position und die Farbe mit dem Geheimcode übereinstimmen. Weiße Stöpsel zeigen an, daß nur die Farbe aber nicht die Position mit dem Geheimcode übereinstimmt.
Beispiel:
Geheimcode sei 4 2 1 4 1. Tipp: 2 4 3 3 (2 weisse Stöpsel) 2. Tipp: 2 3 1 7 (1 weisser, 1 schwarzer Stöpsel) 3. Tipp: 2 4 4 3 (3 weisse Stöpsel) 4. Tipp: 4 2 1 4 (4 schwarze Stöpsel)
Achtung: Die Anzahl der schwarzen und weissen Stöpsel darf nie größer sein als die Anzahl der Kegel einer Farbe. Sei der Geheimcode z.B. 4242 und der Tip des Spielers 4444, so werden nur 2 schwarze Stöpsel, aber kein weißer gesetzt.
Implementieren Sie eine Mastermindversion, die den obigen Spielregeln
entspricht. Das heißt der Computer erzeugt mit Hilfe des Zufallsgenerators
den Geheimcode, wobei Farben - wie im obigen Beispiel - auch doppelt
vorkommen dürfen. Anschliessend gibt der Spieler solange einen Tipp ab, bis
er den Geheimcode erraten hat. Maximal koennen aber nur 10 Tipps abgegeben
werden, wobei diese Zahl als Konstante im Programm definiert werden soll.
Danach gibt der Computer die Anzahl der schwarzen und weißen Stöpsel aus.
Definieren Sie im Programm als weitere Konstante die maximale Anzahl der
Farben ().
Viel Erfolg!