Also wenn ich das Spiel „Mastermind“ (teilweise auch unter „Logik“ bekannt) programmiere. welceh datenstruckturen und so sollte ich da am besten verwenden und warum??
kurz zu dem spiel - wer es nicht kennt. Also man hat 7 farben zur auswahl, der Computer entwickelt dann eine zufällige Farbreihnfolge aus 5 unterschiedlichen Farben (Farben werde nicht mehrfach verwendet). der Benutzer muss nun durch raten und logisches denken über 10 runden die entsprechende zahlenreihnfolge ermitteln. wenn die geratenen zahlen an der richtigen position stehen und die richtige farbe (entsprechend der zufälligen farbreihnfolge) hat gibt der computer einen schwarzen punkt aus, ist nur die farbe richtig, aber an der falschen position so wird ein weißer punkt angezeigt. so kann man dann über logisches denken die reihenfolge ermitteln. Bekommt man sie über die 10 Runden nicht raus hat man verloren
Ein Bekannter meinte das es mit Array ganz praktisch wäre. Also dass man die auszuwählenden Farben darunter speichert.
Dannach würde ich eine procedur schreiben die sich einen zufälligen farbcode merkt - wie könnte man das am bessten umsetzten (also mit welchen datenstruckturen und so), und warum?
der benutzer sollte dann am besten in einem stringgrid die jeweiligen farben einstellen können, die ausgabe ob die geratenen Zahlen an der richtigen position ist bzw. die richtige farbe haben… da dachte ich dass sich eine if-Funktion am bessten eignet in der art von
if StringGrid1.Cells[1,1]=1. Position und Farbe des zufälligen Farbcodes
then färbe StringGrid2.Cells[1,1] schwarz
if StringGrid1.Cells[1,1]= Farbe in zufälligen Farbcodes enthalten
then färbe StringGrid2.Cells[1,1] weiß
oder kann man dass vllt. irgendwie mit ner rekursion vereinfachen?
bzw. wie kann ich das verallgemeiner dass wenn man auf einen Button „Vergleichen“ klickt. die jeweilige runde verglichen wird. oder muss ich dass dann doch alles einzeln mit der oben beschriebene if-Funktion machen??
hoffe ihr könnte mir helfen und tipps geben ^-^