Jetzt bin ich schon weiter
Vielen Dank
1.
Also die Entfernungsberechnung klappt wunderbar, ist ja quasi Pythagoras mit drei dimensionen.. :-)
2.
Einen wirklichen Routfinding-Algorithmus benutze ich nicht. Es wird einfach Luftlinie von Pos1 nach Pos2 geflogen, ohne Berücksichtigung von auf dem Weg befindlichen Objekten. Diese sollen ggfs. zwar angezeigt, aber nicht umflogen werden.
In deinem Beispiel müßte das Schiff also nach 50 Schritten auf der Y-Achse einen Schritt nach rechts, damit ein glaubwürdiger Kurs zustande kommt.
3.
Also muß ich dann quasi einen Würfel mit der Kantenlänge r*2 mittels der for-Schleifen durchlaufen und für jede Position mittels der Entfernungsformel prüfen ob die Entfernung zum Spieler kleiner r ist?
Das klingt wirklich nach viel Rechenaufwand, gibt es da nicht eine Formel, die ich vielleicht nicht verstehe, aber schneller zu berechnen ist...? ^^
Die Datenbank muß für die Positionsberechnung nicht konsultiert werden. Ich habe eine Positionsklasse, die mir dann mittels $pos->getUmkreis(5) ein Array der Positionsklassen im Radius 5 zurück geben soll. Die Datenbank wird erst abgefragt, wenn ich mittels $pos->getOjekte() wissen möchte, was sich an der entsprechenden Position befindet.
1.
Also die Entfernungsberechnung klappt wunderbar, ist ja quasi Pythagoras mit drei dimensionen.. :-)
2.
Einen wirklichen Routfinding-Algorithmus benutze ich nicht. Es wird einfach Luftlinie von Pos1 nach Pos2 geflogen, ohne Berücksichtigung von auf dem Weg befindlichen Objekten. Diese sollen ggfs. zwar angezeigt, aber nicht umflogen werden.
In deinem Beispiel müßte das Schiff also nach 50 Schritten auf der Y-Achse einen Schritt nach rechts, damit ein glaubwürdiger Kurs zustande kommt.
3.
Also muß ich dann quasi einen Würfel mit der Kantenlänge r*2 mittels der for-Schleifen durchlaufen und für jede Position mittels der Entfernungsformel prüfen ob die Entfernung zum Spieler kleiner r ist?
Das klingt wirklich nach viel Rechenaufwand, gibt es da nicht eine Formel, die ich vielleicht nicht verstehe, aber schneller zu berechnen ist...? ^^
Die Datenbank muß für die Positionsberechnung nicht konsultiert werden. Ich habe eine Positionsklasse, die mir dann mittels $pos->getUmkreis(5) ein Array der Positionsklassen im Radius 5 zurück geben soll. Die Datenbank wird erst abgefragt, wenn ich mittels $pos->getOjekte() wissen möchte, was sich an der entsprechenden Position befindet.