Ich mache ein Bomberman-Spiel. Ich möchte den Abstand zwischen zwei Punkten berechnen; Spieler können sich in vier Richtungen bewegen. Wenn ich bei (0,0) bin und zu (5,5) gehen möchte, kann ich die Entfernung berechnen, indem ich die Taxicab-Abstandsformel ((5-0) + (5-0)) verwende, da ich mich nur horizontal bewegen kann und vertikal.Berechnen Sie die Entfernung in 2D int-Array effizient
Aber jetzt möchte ich Wände im Spiel implementieren, die der Spieler nicht durchziehen kann.
Meine aktuelle Implementierung der Entfernung, die nur Taxicab Formel verwendet.
int distanceTo(Position Pos)
{
return (abs(this->x - Pos.x) + abs(this->y - Pos.y));
}
Wie finde ich den Abstand zwischen zwei Punkten (x1, y1) und (x2, y2), die unbeweglich Boxen/Wände betrachtet, das zwischen reinkommen?
Ihr Problem ist nicht sehr klar – eyllanesc
@eyllanesc Bitte sagen Sie, welcher Teil nicht klar ist, so dass ich es entsprechend bearbeiten. –
Ich verstehe nicht, was Sie wollen. – eyllanesc