Hallo!
Hier hat sich ja waehrend meiner Abwesenheit viel um die Frage gedreht, wie ich sehe
.
Mein jetziger Stand:
Der Mapper funktioniert soweit.
Den Code der Map-Klasse findet ihr hier:
http://paste.pocoo.org/show/125687/
Verwendet wird das Ganze dann z.B. so:
Code: Alles auswählen
# liste der verschiedenen himmelsrichtungen,
# ihren positionsaenderung auf den achsen
# und den Gegenrichtungen
# (die in dem beispiel aber nicht gebraucht werden)
DIRECTIONS = {"n":(0, 1, "s"),
"o":(1, 0, "w"),
"s":(0, -1, "n"),
"w":(-1, 0, "o"),
"no":(1, 1, "sw"),
"so":(1, -1, "nw"),
"sw":(-1, -1, "no"),
"nw":(-1, 1, "so")}
# benutzung der klasse
map = Map()
current_cords = (0, 0)
# beispiel fuer norden:
direction = "n"
new_cords = (current_cords[0] + DIRECTIONS[direction][0],
current_cords[1] + DIRECTIONS[direction][1])
# ...
# hier werden im orginialscript noch informationen
# gespeichert, damit die aktion wieder rueckgaengig
# gemacht werden kann.
# ...
current_cords = new_cords
map.write_field(current_cords, DEFAULT_SYMBOL)
# karte in datei schreiben
map.write_into_file("map.txt")
Der Benutzer kann sich nun (in einem Spiel) durch die Himmelsrichtungen bewegen, und eine Funktion im Script wird dabei aufgerufen, die die Aenderungen dann in die Karte eintraegt. Nun habe ich allerdings noch ein grundsaetzliches Problem:
Der Spieler geht z.B. folgenden Weg: norden, nordem, norden, osten, sueden, sueden, sueden.
Man wuerde nun in der karte das hier sehen:
Keiner weiß nun, ob er nicht vielleicht immer zwischen Westen und Osten gewechselt hat, da man keine Verbindungen zwischen den einzelnen Feldern sieht.
Hat vielleicht jemand einen Vorschlag, wie ich diese Verbindungen noch mit in die Karte schreiben koennte? Mir wuerde ein Beispielcode sehr helfen.
lg und vielen Dank fuer die Hilfe
roschi
[edit]
Typo im Code gefixt.
[/edit]
[size=117]Fuer Alle, die in Python einsteigen wollen, kann ich das Buch [url=http://abop-german.berlios.de/]A Byte of Python[/url] nur waermstens empfehlen![/size]