In diesem kurzen Projekt programmierst du das klassische Knobelspiel Mastermind. Du brauchst dazu nur die bekannten Werkzeuge: Variablen, Verzweigungen (if/elif/else), Schleifen (while/for), Listen und das random-Modul.
Der Computer denkt sich einen geheimen Code aus 4 Ziffern aus. Jede Ziffer liegt zwischen 1 und 6. Du hast 12 Versuche, den Code zu erraten. Nach jedem Tipp verrät dir der Computer zwei Zahlen:
Mehr sagt er nicht – welche Ziffern es sind, musst du selbst herausfinden. Genau das ist der Reiz.
Wir programmieren zwei Varianten des Spiels:
Beispiel (Original). Der geheime Code sei 3 3 1 2 (beachte: die $3$ kommt doppelt vor).
| Dein Tipp | rot | weiss | Erklärung |
|---|---|---|---|
1 2 3 4 | 0 | 3 | 1, 2, 3 sind im Code, aber am falschen Platz; 4 gar nicht |
3 3 3 3 | 2 | 0 | zwei 3er sitzen richtig; die beiden übrigen 3er zählen nicht, weil der Code nur zwei 3er enthält |
3 3 1 2 | 4 | 0 | geknackt! |
Die mittlere Zeile ist der springende Punkt: Jede Ziffer im Code kann nur einmal getroffen werden. Das macht die Auswertung interessanter, als sie auf den ersten Blick aussieht.
1234.while True.break), sobald Player richtige Zahlen erraten hat oder $12$ Versuche erreicht wurde.3 3 3 3 gegen 3 3 1 2 verhinderst, dass du eine Ziffer doppelt zählst.