Open Smeagle opened 8 years ago
Ich habe bei der Implementierung des Spielbretts inzwischen mit einem Axialkoordinatensystem angefangen. R stellt dabei die Zeile dar und Q die schräg-nach-unten Spalte.
Ich würde einfach eine CSV mit drei Spalten machen. Für R und Q dann dementsprechend die Koordinaten, und für Terrain einen Buchstaben oder Zahl. Buchstaben F und W symbolisieren Boden und Wand, S den Startpunkt des Spielers (Sonderform von Boden), Zahlen den Startpunkt von Wachen.
R Q Terrain
0 0 S
1 0 W
0 -1 F
…
Wegpunkte der Routen der Wache könnten dann in Form einer Liste von Koordinaten im Anschluss definiert werden.
Alternativ das ganze als XML o.ä.
Muss nicht als XML, das brauchen wir glaube ich nicht. So wie du geschrieben hast ist doch gut. Whitespaces+ trennen dann einfach die Spalten (quasi whitespace separated).
Ich meine eher ein Format in der Art wie:
F-F-F
W = Wall F = Floor
Ist aber nicht unmittelbar notwendig.
Ah stimmt, das wäre eigentlich noch intuitiver. Wobei man dann entweder whitespace zählen muss, oder ein bestimmtes Format (e.g. sechseckig) zwingend vorschreibt. Aber da kann man ja gleich nochmal drüber reden.
Weil mich genervt hat GameBoards von Hand anzulegen, habe ich mal mit GameBoardUtils angefangen.
Eingelesene Syntax ist im Moment: F F $ F W W $ W P $ Für ein Hexfeld: F F F W W W P P ist hier ein FLOOR-Feld mit einem Spieler.
Ist hier zu finden: https://github.com/Xekyo/dungeongame/commit/d6dce0ac80250c4e676272bdbd57b460e5d48ad2
Das könnte nach dem Merge meines "Player-backend"-branches auch von DevUtilities verwendet werden um das Brett zu bauen. :)
Es muss auf möglichst komfortable Weise (für den Entwickler...) ein Spielbrett eingelesen werden, mit dem man als Entwickler arbeiten kann (Algorithmen testen etc.). Z.B. soll man per Textdatei Shub's Spar-Wars-Brett einlesen können. Das Format der Datei kann beliebig definiert werden, sollte aber möglichst wenig zu schreiben sein und trotzdem verständlich.