# Problem bei Mastermind mit Zahlen



## funkyfried (3. Mai 2009)

Guten Tag!

Für die Uni soll ich ein kleines Spiel programmieren, dass auf Mastermind basiert.
Allerdings sollen keine 4 farbigen Pins, sondern eine vierstellige Zahl <=9999 erraten werden.

Es soll nun möglich sein, dass man selbst spielen kann und dass man den Computer spielen lässt.

Das mit dem selbst spielen hat ohne Probleme geklappt, nur mit dem Algorithmus für den Computer habe ich meine Probleme. Er soll einigermaßen "intelligent" spielen. Also nicht blind Runde für Runde eine Zahl von 0000 bis 9999 raten, sondern jeden Zug mit Beachtung des letzten Zugs abwägen. Hat da jemand eine Idee oder so etwas schon einmal realisiert, so dass ich mich da ein bisschen inspirieren lassen kann? mir fehlt da nämlich etwas die "Idee", brauche einen Denkanstoß!


----------



## Marco13 (3. Mai 2009)

Versuche, möglichst formal zu beschreiben, wie man als Mensch schnell zur Lösung kommt. Beschreibe ggf. auch hier im Forum, wie man die Aktuellen Hinweise des "Masters" abfragen kann, und wie man einen neuen Lösungsvorschlag macht.


----------



## funkyfried (3. Mai 2009)

Also der Mastercode ist ein int[4] array und befindet sich in der Klasse Spiel.
Die Klasse beinhaltet Methoden, mit denen man die Positionen 0-3 des Arrays ändern kann und Methoden, die jeweils die direkten Treffer und die indirekten Treffer(also richtige Zahl an falscher Stelle) des aktuellen Tipps zurückgibt.


----------



## Marco13 (3. Mai 2009)

Und ... jetzt fehlt noch eine Beschreibung, was du als Mensch machst, wenn du als Tipp sowas wie "Schwarz Weiß Weiß" bekommst. Oder probierst du als Mensch etwa alle 10000 Kombinationen durch?


----------



## funkyfried (3. Mai 2009)

Natürlich nicht .

Nur ist mein Lösungsansatz wohl nicht immer vollkommen gleich.
Nunja, erstmal muss ich schlafen. Morgen versuch ich dann mal, das ganze irgendwie niederzuschreiben, wie man vorgehen könnte.

Ich hatte halt nur gelesen, dass es Lösungsalgorithmen für Mastermind gibt, die das Spiel in ziemlich wenigen Zügen lösen können. Diese wären wahrscheinlich sehr viel effektiver als meine eigene Methode. Ich hatte gehofft jemand hätte so einen Algorithmus irgendwo gefunden.


----------



## ARadauer (4. Mai 2009)

du willst einen mastermind solver schreiben?

mastermind solver java - Google-Suche

ein mathematisches Problem für das es sicher unzählige Löungen im netz gibt...


----------

