Kennen Sie das Spiel Sokoban? Was das kennen Sie nicht! Ja, dann müssen wir das jetzt aber schleunigst nachholen. Also ein typisches Spielfeld sieht bei diesem Spiel wie folgt aus:
Jetzt stellen wir uns mal auf den etwas abstrakteren Standpunkt. Das Spielfeld ist also eine -Matrix. Für jeden Matrixeintrag gibt es mehrere mögliche Belegungen: leer, Wand, Kiste, Zielposition, Kiste auf Zielposition, Männchen und Männchen auf Zielposition. Das Männchen kann sich bei jedem Schritt in eine von vier Richtungen um einen Schritt weiter bewegen, wenn
Schreiben Sie nun ein Programm, mit dem man ein Level Sokoban spielen kann. Ihr Programm soll das Spielfeld aus einer Datei einlesen. Stehen alle Kisten an der richtigen Stelle, so ist das Spiel zu Ende. Während des Spieles soll es jederzeit möglich sein, den Spielstand in eine (weitere) Datei zu speichern (als das Level-Spielfeld) und auf diesen Spielstand zurückzukehren (auch nach einem Neustart).
Tipps:
19 11 ##### # # #* # ### *## # * * # ### # ## # ###### # # ## ##### __# # * * __# ##### ### #.## __# # ######### #######Dabei steht 19 für die Breite und 11 für die Höhe des Spielfeldes,
#
für die Wand, *
für eine Kiste, _
für eine Zielposition und .
für die Startposition des Männchens.
Leere Positionen sind durch Leerzeichen dargestellt.