Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 |
#wenn ich Rechtsclick mache if(changed(owner():keyAttack2()) & owner():keyAttack2()) { Start = Nodes[1, vector] # Array, den ersten Punkt der gesetzt wurde als Startposition definieren. (Nodes enthalten die Positionen der Waypoints) Dest = Nodes[Nodes:count(), vector] #Ich nehme den letzten Punkt als Ziel Open[1, vector] = Start #Startposition in den Openlist hinzufügen OpenIsPushed[Start:toString(),number] = 1 #Setze Startposition als besucht aber noch nicht closed. Das ist eine Assoziale Array (Array["Vektor als STRING", number], number steht für integer. OpenScores[1, number] = 1 Action = 1 #Setze Action auf 1 um Suche zu starten. } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
if(Action == 1) { if(Open:count()) { while(Open:count() & perf()) { #Den kleinsten F Wert rausnehmen als Index (für die Arrays) K = OpenScores:minIndex() CurrentNode = Open[K, vector] Durchlauf = 0 #Wenn noch nicht geclosed if(!Closed[CurrentNode:toString(), number]){ while(perf()) { #Hole ein Punkt aus der Nodesliste Durchlauf++ NodeVec = Nodes[Durchlauf , vector] #Wenn der Punkt zuweit vom Punkt jetzt ist dann ist es unerreichbar und wird est mal übersprungen (Damit verbinde ich sozsagen die Knoten zusammen und zwar "live") if(CurrentNode:distance(NodeVec) > 400) { break } } } } } else { Action = 2 } |
So ab nachdem es überprüft wurde ob ein Punkt in der nähe liegt weiß ich nicht weiter =/.
Quellcode |
|
1 2 3 4 5 6 |
1 vorgaenger von 1 -- F von 1: 1 1 vorgaenger von 2 -- F von 2: 4301.363135724 2 vorgaenger von 3 -- F von 3: 3376.3886656224 3 vorgaenger von 4 -- F von 4: 2372.7225964861 4 vorgaenger von 5 -- F von 5: 1867.8513244202 5 vorgaenger von 25 -- F von 25: 1059.9489088838 |
Werbeanzeige