diff --git a/Projekte/monopoly/client/src/main/java/pp/monopoly/client/gui/TestWorld.java b/Projekte/monopoly/client/src/main/java/pp/monopoly/client/gui/TestWorld.java index eabb48b..fea1a9a 100644 --- a/Projekte/monopoly/client/src/main/java/pp/monopoly/client/gui/TestWorld.java +++ b/Projekte/monopoly/client/src/main/java/pp/monopoly/client/gui/TestWorld.java @@ -134,6 +134,7 @@ public class TestWorld implements GameEventListener { private com.jme3.math.Quaternion calculateRotationForField(int fieldID) { com.jme3.math.Quaternion rotation = new com.jme3.math.Quaternion(); + // Berechne die Rotation basierend auf der Feld-ID if (fieldID >= 0 && fieldID <= 9) { // Untere Seite (0-9) rotation.fromAngleAxis(0, Vector3f.UNIT_Y); // Richtung: nach oben @@ -148,6 +149,18 @@ public class TestWorld implements GameEventListener { rotation.fromAngleAxis(3 * FastMath.HALF_PI, Vector3f.UNIT_Y); // Richtung: nach rechts } + // Korrigiere die Richtung für die Quadranten 10–19 und 30–39 (gegenüberliegende Richtung) + if ((fieldID >= 10 && fieldID <= 19) || (fieldID >= 30 && fieldID <= 39)) { + com.jme3.math.Quaternion oppositeDirection = new com.jme3.math.Quaternion(); + oppositeDirection.fromAngleAxis(FastMath.PI, Vector3f.UNIT_Y); // 180° drehen + rotation = rotation.multLocal(oppositeDirection); + } + + // Füge zusätzliche 90° nach links hinzu + com.jme3.math.Quaternion leftTurn = new com.jme3.math.Quaternion(); + leftTurn.fromAngleAxis(FastMath.HALF_PI, Vector3f.UNIT_Y); // 90° nach links + rotation = rotation.multLocal(leftTurn); + return rotation; }