1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
813
813
EMPFEHLEN
-
02.12.11 12:11 #1
- Registriert seit
- Dec 2011
- Beiträge
- 5
Hi,
ich suche für mein Mastermindspiel ein paar Lösungsalgorithmen, sprich der NPC soll den von mir vorgegebenen Farbcode ermitteln.
Durch das stöbern in Wikipedia bin ich auf 2 Algorithmen gestoßen:
- Six-guess algorithm
- Five-guess algorithm
Da ich durch googlen keinen Javacode gefunden habe frage ich hier nach. Wenn keiner einen Javacode hat, würde mir auch eine umsetzbare Beschreibung genügen.
Danke im Vorraus
-
Hi und Willkommen bei tutorials.de

Die Beschreibung steht doch dort?
Bei welchem Punkt/welchen Punkten hast du Probleme?
Hast du einen eigenen Codeversuch?Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
02.12.11 13:28 #3
- Registriert seit
- Dec 2011
- Beiträge
- 5
Dankeschön

Es steht zwar da, allerdings hab ich keine ahnung wie ich sowas in java realisieren soll. Hättest du evtl einen Ansatz, an dem ich mich orientieren kann?
-
02.12.11 16:23 #4
Für einen Computer-Gegner würde ich auf jeden Fall den Six-Guess Algorithm nehmen, ich denke niemand mag es, wenn der eigene Code immer so früh erraten werden würde

Ein Hinweis von mir vorab, ich würde Abstand davon nehmen einen Buchstaben bei der Erklärung einer festen Farbe zuzuordnen, also musst du auf jeden Fall in jeder Runde die Zuordnung immer neu festlegen. Da Fallen mir Stichworte wie Random oder Shuffle ein.
Dann generierst du die Liste, kategoriesortiert, innerhalb der Kategorie alphabetisch sortiert. Ich würde dazu 4 einzelne ArrayLists für die Kategorien und eine für die verbleibenden Lösungen wählen. Letztere baust du zusammen mit addAll() und kannst du später mit remove() bzw. removeAll() kürzen.
Dann nimmst du abcd. In folgenden 3 Fällen kannst du die Liste so stark kürzen, dass du mit dieser weiterabreiten kannst:
a) Alle schwarz --> Gewonnen
b) Alle schwarz/weiß oder weiß -->
- Kategorie 2, 3 und 4 werden entfernt
- alle Lösungen aus Kategorie 1 mit e oder f werden entfernt
- weiter mit dem ersten Eintrag der verbleibenden Liste welcher nach den Farbangaben möglich ist
c) Alle Leer -->
- Kategorie 1 wird entfernt
- alle Lösungen aus Kategorie 2, 3 und 4 werden entfernt, welche andere Buchstaben enthalten als e und f
- weiter mit dem ersten Eintrag der verbleibenden Liste welcher nach den Farbangaben möglich ist
d) mixed -->
- weiter mit bcde
Bei dem Punkt "weiter mit dem ersten Eintrag der verbleibenden Liste welcher nach den Farbangaben möglich ist" kann man sich sicher streiten, ob man alle nicht mehr möglichen Einzelnen Lösungen löscht und dann den ersten Eintrag nimmt, oder diese erstmal alle drin lässt und eben immer nur die Lösung überprüft, welche man gerade einfügen möchte. Aber ich denke die genannte Variante ist weitaus performanter.
Der Vorgang weiderholt sich insgesamt 4 mal, falls bei den ersten 3 Fälllen d auftreten sollte. Beim vierten Mal gibt es dann eine Fallunterscheidung anhand der ersten möglichen Lösung.
Näheres ist sicher in deinem guide beschrieben.
Hoffe es konnte dir eine Orientierung bieten.Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
03.12.11 17:27 #5
- Registriert seit
- Dec 2011
- Beiträge
- 5
Vielen Dank für deinen Post honni. Ich werde es mal mit deiner Anleitung probieren und schauen wie weit ich komme.
Ähnliche Themen
-
Mastermind mit Zahlen
Von Borsti1982 im Forum JavaAntworten: 11Letzter Beitrag: 11.01.11, 09:06 -
Mastermind
Von tittli im Forum Java GrundlagenAntworten: 11Letzter Beitrag: 28.10.08, 08:45 -
Game: MasterMind unter die Lupe nehmen / testen :-)
Von Kryptaesthesie im Forum JavaAntworten: 0Letzter Beitrag: 17.08.07, 14:31 -
Mastermind Treffer abfrage (Ich bin am Verzweifeln)
Von desperade im Forum Algorithmen & Datenstrukturen mit JavaAntworten: 7Letzter Beitrag: 06.07.07, 13:17 -
[SUCHE] C++ Quellcode für Mastermind ohne Design Oberfläche
Von SViethy im Forum C/C++Antworten: 2Letzter Beitrag: 27.03.07, 15:14





Zitieren

Login





