Also ich versuche es nochmal. Glaube mein Problem ist einfach, dass ich nicht richtig ausdrücken kann, was ich haben will!
Ich hab als Eingang für meine Funktion "Minesweeper lösen" folgende Werte:
n und m die die Dimension angeben (=nxm Matritze), die Anzahl der vorhandenen Minen (=K) und ein teileweise "offenens" Spielfeld. Auf diesem Spielfeld befinden sich Zahlen zwischen 1 und 8, welche angeben, wie viele Minen sich um diese Zahl befinden.
Ich möchte zuerst eine komplett leere nxm Matitze erstellen (was ich ja schon gemacht habe). Diese möchte ich dann mit 0 oder 1 auffüllen. (0=keine Mine und 1=Mine). Die ersten 0en kann ich sofort anhand der Eingangsmatrix erstellen. Überall dort wo eine Zahl ist, kann ja keine Mine sein.
Dannach kommt das eigentliche Programm (und ab da komme ich nicht mehr weiter).
Prolog soll mir jetzt alle möglichen Matritzen bestimmen, die anhand der vorhandenen Eingangsmatrix möglich sind. Um dies zu tun, hatte ich an folgenden Algo gedacht:
1. Ich nehme mir jedes Feld, indem in der Eingangsmatrix eine Zahl steht. Dann beginne ich die umliegenden Felder mit Minen zu füllen und prüfe jedesmal, ob die Summer der umliegenden Felder bereits = der Zahl in der Mitte ist. Wenn ja höre ich auf und wenn nein mache ich weiter. Dann gehe ich zur nächsten Zahl und prüfe zuerst wieder die Summe. Ist diese gleich mal größer (weil ich bereits durch vorherige Zahlen zuviele Minen eingesetzt hab), dann ist diese Lösung nicht richtig.
...wenn ich dann alle zahlen durch hab und es keine Probleme gab, dann bin ich fertig!
Hoffe, dass der Algo so auch funzt. Was meinst du?
Gruß Kiki
PS: Sorry für die ganzen Rechtschreibfehler, ist schon spät!