Lassen Sie Ihren PC Mastermind-Aufgaben knacken!

Von Mastermind, also diesem bekannten Kombinationenratespiel, gibt es mittlerweile sehr viele Implementationen im Public Domain-Bereich, auch Online-Versionen wie Secret Code sind mittlerweile auffindbar. Auch der SF2-Teletext des Schweizer Fernsehens bietet davon schon seit längerem eine interaktive Version auf Seite 810 an.

Mastermind-Spiel. Grösserer Umfang von 21¾ KB

Besonderheiten dieser Version

Bei dieser speziellen Version sind die Rollen ganz schlicht und einfach vertauscht! :-) Das heisst, dass Sie sich eine Kombination ausdenken können und Ihr Rechner muss sie herausfinden. Zu Beginn legt man die Dimensionen des Spiels fest:

Ok
run
Anzahl mögliche Zustände pro Element? 6
Anzahl Elemente? 4
Kann ein Elementzustand mehrfach auftreten? (J/N) J
Wird auch die Anzahl der in der Lösung vorkommenden Elemente
angegeben? (J/N) J

In der ersten Frage geben Sie ganz einfach die Anzahl vorhandenen Farben an, also 3 bedeutet beispielsweise, dass A, B und C möglich sind. Am besten erstellen Sie für sich persönlich eine kleine Buchstaben-Farben-Zuordnungstabelle, wenn Sie dieses Programm anwenden. Statt Farben können dies auch Zahlen sein oder wie im einstigen Fernsehquiz Persona gar persönliche Charaktermerkmale. Daher sind die Dialogtexte bewusst neutral formuliert. Bei der nächste Frage geben Sie also die Anzahl der Farbstecker pro Kombination an, anschliessend noch, ob Farbwiederholungen möglich sind oder nicht und letztendlich, ob man auch die Anzahl falsch plazierten Stecker mitteilt (beim Original-Mastermind immer der Fall) oder nicht (bei Persona erfuhr man nur die Anzahl der »schwarzen« Stecker).

Daraufhin beginnt Ihr PC mit Raten:

Mein Vorschlag: CBDA
Wieviele Buchstaben kommen in der Lösung vor? 2
Wieviele Buchstaben stimmen überein? 1

Bei der ersten Frage geben Sie immer die Summe der »schwarzen« und »weissen« Stecker an, bei der zweiten Frage nur die Zahl der »schwarzen« Stecker alleine.

Mein Vorschlag: CACF
Wieviele Buchstaben kommen in der Lösung vor? 1
Wieviele Buchstaben stimmen überein? 0
Mein Vorschlag: FBBD
Wieviele Buchstaben kommen in der Lösung vor? 2
Wieviele Buchstaben stimmen überein? 1
Mein Vorschlag: ABAB
Wieviele Buchstaben kommen in der Lösung vor? 3
Wieviele Buchstaben stimmen überein? 0
Moment mal, hab gleich die richtige Lösung ...
Sie lautet: BEBA
Einverstanden?
Ok
_

Meine Warnung an Sie: Seien Sie vorsichtig mit Betrügereien, denn Ihr PC wird Ihnen bei Schummeleien einmal rasch auf die Schliche kommen... ;-)

Wie arbeitet dieses Programm im Hintergrund?

Als Grundalgorithmus kommt eine Streichtabelle zum Einsatz, welche zu Beginn einfach alle nur erdenklichen Kombinationen enthält. Bei jedem Rateversuch werden jeweils die nicht mehr in Frage kommenden Möglichkeiten laufend gestrichen. Da diese Liste kleiner wird, wird auch das Programm entsprechend schneller. Gleichzeitig merkt unser intelligenter Roboterspieler dadurch auch Betrügereien, sobald diese Liste keine Elemente hat oder wenn die Lösung eindeutig bestimmt werden kann, weil noch genau ein Eintrag übrig ist.

Versionsunterschiede

BASIC-Versionen

Die Versionen für BASIC entstanden zuerst. Aufgrund der dortigen Limitationen auf nur vorzeichenbehaftete 16-Bit-Ganzzahlwerte bei Feldvariablen-Indizies ist die Ratekomplexität entsprechend auf 32'767 Einträge limitiert.

C++-Portierung

Die C++-Version entstand viel später, daher verfügt sie über wesentlich mehr Features; dieses Programm können Sie beispielsweise simultan bei einem Ratespiel verwenden, wo der Moderator spezielle Hilfestellungen bietet wie beispielsweise: »Der zweite Buchstabe lautet C.«. Daher müssen Sie dort auch explizit sagen, dass Ihr PC mit Hilfe des Zufallsgenerators einen Rateversuch von sich aus unternehmen soll, da diese Version eigentlich mehr als Assistent aufgebaut ist.

Ausserdem arbeitet diese Version voll im 32-Bit-Modus sowie mit 32-Bit-Arithmetik, so dass Sie wesentlich komplexere Aufgaben stellen können. Streichtabellen von mehreren Millionen Einträgen stellen also kein Problem dar. Ausserdem wird pro Tabelleneintrag wirklich nur ein einziges Bit Arbeitsspeicher verwendet, so dass für ungefähr eine Million Einträge lediglich 128 KB RAM alloziert werden.


Microsoft GW-BASIC®-Logo aus Windows® Version für GW-BASIC herunterladen

Umfang: 3,5 KB Bitte dann noch von Hand File und Save anwählen!


Workbench-Icon von AmigaBASIC Version für AmigaBASIC herunterladen

Umfang: 3,3 KB Bitte dann noch von Hand File und Save anwählen!


Titel »djgpp« vom GNU-C++-Compiler für DOS Version für DJGPP herunterladen

Umfang: 34 KB + Laufzeitumgebung 59 KB


Zurück ins Downloadmenü


© 2000 by Andreas Meile