Mailinglisten-Archive |
Nico Haase wrote: > Moin, Hallo Nico, > kurz vor Neujahr habe ich ein kleines Kartenproblem. Für ein Onlinegame versuche ich, eine Entfernungsliste auf die Beine zu stellen. Die Spielerdörfer befinden sich jeweils mit X- und Y-Koordinaten verteilt über das Spielfeld. Wie kann ich nun aus der MySQL-DB die Spieler herausfiltern, die am nächsten an einem anderen Spieler dran sind und das am besten auch noch geordnet nach Entfernung? sehe ich das richtig, dass Du die Koordinaten der Spielfigur gegeben hast die momentan am Zug ist, und jetzt die Koordinaten der umstehenden Spieler brauchst? > Über einen kleinen Denkanstoß freut sich Ich bin mir nicht sicher was man jetzt geschickterweise als Anhaltspunkt für die Entfernung nehmen kann. Da wir uns in einem kartesischen Koordinatensystem befinden könnte man ja den Betrag (Abstand zum Nullpunkt) und den Winkel dieser Strecke zur X-Achse nehmen. Mit den trigonometrischen Funktionen sollte das ja möglich sein. Da mysql auch direkt beim Selecten rechnen kann (http://www.mysql.de/doc/en/Mathematical_functions.html) könntest Du auch direkt die Differenz zum jetzigen Spieler ausrechnen und danach Sortieren. Ob das jetzt besonders geschickt ist weiß ich nicht, aber wahrscheinlich kommen auch noch bessere Ideen von anderen Listenmitgliedern ;) > Nico Gruß André
php::bar PHP Wiki - Listenarchive