- Offizieller Beitrag
Heyho,
ich bins mal wieder mit dem gleichen Spiel und mit fast dem selben Problem.
Vor paar Tagen hat Bernd mir geholfen eine rekursive Funktion zu schreiben, welche die Differenz zwischen 2 Feldern berechnet, und auch den Weg dorthin. Nachteil: Sie musste bei jedem Zug erneut mehrmals rechnen und war relativ langsam.
Also habe ich mir überlegt ganz am Anfang eine Funktion zu schreiben, die mir ausgibt wie weit 2 Felder von einander entfernt sind (Differenz) um dann später so den besten Weg zu finden und das Array einfach nur noch abfragen zu müssen.
Sie funktioniert auch perfekt, hat nur einen kleinen Nachteil: Sie ist langsam. Sehr langsam. Auf meinem PC braucht sie ca. 100ms, aber auf meinem Netbook ca. 1000ms Und da die spätere Serverumgebung wohl eher wie mein Netbook als mein PC aussehen wird, versuche ich es darauf zu optimieren. Die Regeln des Spiels lauten nämlich: Kein Zug über 2000ms, ich selbst habe mir zum Ziel gesetzt kein Zug über 1000ms. Bisher dümpel ich immer so bei 100-400ms pro Zug auf meinem Netbook rum, aber da ich die Strategie nun nochmals verbessere, brauchte ich was schnelleres.
Zwar wird die Funktion wiegesagt nur einmal am Start aufgerufen, aber das zählt leider auch schon zu der ersten Zugzeit mit.
Also... Lange Rede, kurzer Sinn. Fällt euch was ein, wie man diese Funktion Geschwindigkeitsmäßig aufpolieren kann? Länge ist relativ egal...
Im Anhang das Beispiel Script und ein Screenshot vom Spielfeld, danke schonmal für eure Hilfe
GRuß
Spider