Show whole topic Oct 10, 2007 1:26 pm
Didi Offline
Approved Member
Registered since: May 24, 2005
Location: 48165 Münster


Subject: M.A.X. Clone von Dieter
Oh. Sorry. Hab die Save Dateien vergessen zu löschen. Hab das SAVE Format neulich noch geändert. Das Format wird sich auch in Zukunft noch erheblich ändern.
19 und 20 solten aber funzen.

Die Berechnung des Pfadfinders geschitt bei mir in 3 Abschnitten. Darf ich mich dazu erklären? Smiling
Abschnitt 1:
Es wird ein 2D Array genommen Größe wie die Map. Die Koordinate im Array wo sich die Einheit befindet wird auf "1" gesetzt.
Alle anliegenden befahrbaren Felder werden auf eine Zahl höher gesetzt. usw. usw.
Diese Schleife wird entweder dadurch verlassen das das Array mit den zielkoordinaten >0 ist. Oder im schleifengurchgang konnte das Array nicht erweitert werden.
Abschnitt 2:
Es werden alle Zahlen rückwärts eleminiert die nicht zum Pfad gehören. Z.B. die Ziehlkoordinate hat den Wert "10" sprich 10 schritte sind nötig um von start zum ziel zu gelangen. nun werden alle "10"er im Array gelöscht die nicht die Zielkoordinate sind. und dann alle "9"er die nicht an der "10" benachbart sind. usw. usw. bis 1
Abschnitt 3:
Es kann sein das ein Step z.B. "3" öffters vorkommt.(Nachbarfelder haben immer den gleichen Step)
Nun wird wieder jeder Step einer Entfernungsmeßung unterzogen. Die kürzeste entfernung bekommt den zuschlag.

Ich hoffe das kann man nachfolziehen? Hinzu kommen noch ein paar sachen wie die Ausrichtung der Einheit usw. usw.

Ich würde mich freuen euch zu unterstützen. C++ macht mit mir keinen Sinn. Aber ich könnte Externe Programme/Proceduren schreiben die mit Variablenübergabe mit eurem Main-Programm in verbindung stehen.