top of page

Woche 6 - neue Tankenfunktion

Nachdem wir uns in der Woche zuvor viel mit dem richtigen Einbauen des neuen Tankweges in unsere restlichen Teile des Tankens beschäftigt haben, haben wir in dieser Woche nochmal etwas Grundlegendes bei der Berechnung des optimalen Tankwegs geändert.

Wir haben gemerkt, dass der beste Tankweg allein über die Winkel zwischen den Vektoren zwischen den Tankstellen definierbar ist. Das bedeutet, dass der beste Tankweg der Weg ist, bei dem die Summe der Winkel zwischen den Tankstellen am geringsten ist, sodass so wenig Richtungsänderungen wie nötig vorgenommen werden müssen. Da wir zusätzlich noch die Minen bei der Betrachtung des optimalen Tankwegs mit einberechnen, haben wir uns Folgendes überlegt: Wenn zwischen den Tankstellen Minen liegen, werden jeweils Hilfspunkte zum Umfahren der Minen berechnet. Diese Hilfspunkte liegen auf dem kürzesten Weg um die Mine herum zur nächsten Tankstelle. Sie werden dann zur Berechnung des besten Tankweges genutzt. Wenn eine Mine auf dem Weg ist, wird zusätzlich zu der Betrachtung der Winkel zwischen den Vektoren zwischen den Tankstellen, der Winkel zwischen dem Vektor von der einen Tankstelle und dem Hilfspunkt und dem Vektor von dem Hilfspunkt zur anderen Tankstelle berechnet und zur Winkelsumme addiert.

So kann die geringste Winkelsumme zwischen den Tankstellen unter Betrachtung der Minen errechnet werden. Noch ist diese Berechnung aber nicht vollständig fertiggestellt und muss noch verbessert werden. Größere Probleme bei dieser Möglichkeit zur Berechnung des Tankweges hatten wir dabei mit der Rechenzeit, die zwischenzeitlich ca. 8 Minuten betrug. Daraufhin haben wir uns dazu entschieden, zu Beginn zwei Matrizen zu bilden. In der einen sind alle Hilfspunkte bei dem Fall, dass eine Mine zwischen den Tankstellen liegt, eingetragen. In der anderen sind alle Hilfspunkte zwischen unserer Position und der Tankstellen eingetragen. Dadurch, dass jetzt nur noch auf diese Matrizen zurückgegriffen werden muss, und nicht jeder Hilfspunkt immer komplett neu berechnet werden muss, konnten wir die Rechenzeit drastisch reduzieren.

Weiterhin haben wir aufgrund dieser Änderung entschieden, dass der neue Tankweg wieder berechnet werden soll, wenn eine Tankstelle auf dem Spielfeld verschwindet, wodurch wir viele Zeilen Code aus der vorherigen Woche einsparen konnten.


Featured Posts
Recent Posts
Archive
Search By Tags
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square

© 2016 How we met your Spaceballs. Erstellt mit Wix.com

bottom of page