Loading .idea/misc.xml +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ </option> <option name="workspaceImportForciblyTurnedOn" value="true" /> </component> <component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="22" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="22" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/out" /> </component> </project> No newline at end of file src/main/java/Shape/ObstacleField.java +4 −7 Original line number Diff line number Diff line Loading @@ -10,10 +10,7 @@ import javafx.scene.paint.PhongMaterial; import javafx.scene.shape.Box; import javafx.scene.shape.MeshView; import java.util.ArrayList; import java.util.HashSet; import java.util.Random; import java.util.Set; import java.util.*; public class ObstacleField { Loading Loading @@ -60,13 +57,13 @@ public class ObstacleField { return obstacleBounds; } public String checkCollision(Bounds otherBounds) { public List<Object> checkCollision(Bounds otherBounds) { for (Obstacle o : obstacles) { if(o.shapeBound.intersects(otherBounds)){ return o.checkCollision(otherBounds); return Arrays.asList(o.checkCollision(otherBounds), o); } } return "NONE"; // No collision detected return Arrays.asList("NONE", null); // No collision detected } public void addToField(Obstacle o){ Loading src/main/java/org/example/newmat/GraphicsAndWindowsTest.java +6 −5 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import javafx.stage.Stage; import java.io.IOException; import java.util.Arrays; import java.util.List; import static java.lang.Math.abs; Loading Loading @@ -58,7 +59,7 @@ public class GraphicsAndWindowsTest extends Application { sceneWindow.getYOffset(),350,50, 100, 60, "Box", Color.ORANGERED, false); String[] ob2 = {"--image", "src/teapot.txt", "--speed", "15", "--dir", "4,", "7,", "10"}; String[] ob2 = {"--image", "src/teapot.txt", "--speed", "32", "--dir", "4,", "7,", "10"}; String[] ob3 = {"--image", "src/teapot.txt", "--speed", "5", "--dir", "1,", "1,", "1"}; //String[] ob4 = {"--image", "src/teapot.txt", "--speed", "100", "--dir", "3,", "5,", "7"}; MovingObject newObject1 = new MovingObject(getParameters().getRaw().toArray(new String[0])); Loading Loading @@ -200,7 +201,7 @@ public class GraphicsAndWindowsTest extends Application { // Reverse direction at bounds for (int i = 0; i < objects.length; i++) { double GRAVITY = 1; double AIRRESISTANCE = 0.05; double AIRRESISTANCE = 0.03; //Physics updates //Gravity direction[i][1] += GRAVITY; Loading Loading @@ -262,9 +263,9 @@ public class GraphicsAndWindowsTest extends Application { lastChanged = 3; } String collisionSide = obs.checkCollision(meshBounds[i]); if(!(collisionSide.equals("NONE"))){ switch (collisionSide){ List<Object> collisionSide = obs.checkCollision(meshBounds[i]); if(!(collisionSide.get(0).equals("NONE"))){ switch ((String)collisionSide.get(0)){ case "LEFT": direction[i][0] = abs(direction[i][0]); break; Loading target/classes/Shape/ObstacleField.class +227 B (3.93 KiB) File changed.No diff preview for this file type. View original file View changed file target/classes/org/example/newmat/GraphicsAndWindowsTest$1.class +151 B (4.88 KiB) File changed.No diff preview for this file type. View original file View changed file Loading
.idea/misc.xml +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ </option> <option name="workspaceImportForciblyTurnedOn" value="true" /> </component> <component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="22" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="22" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/out" /> </component> </project> No newline at end of file
src/main/java/Shape/ObstacleField.java +4 −7 Original line number Diff line number Diff line Loading @@ -10,10 +10,7 @@ import javafx.scene.paint.PhongMaterial; import javafx.scene.shape.Box; import javafx.scene.shape.MeshView; import java.util.ArrayList; import java.util.HashSet; import java.util.Random; import java.util.Set; import java.util.*; public class ObstacleField { Loading Loading @@ -60,13 +57,13 @@ public class ObstacleField { return obstacleBounds; } public String checkCollision(Bounds otherBounds) { public List<Object> checkCollision(Bounds otherBounds) { for (Obstacle o : obstacles) { if(o.shapeBound.intersects(otherBounds)){ return o.checkCollision(otherBounds); return Arrays.asList(o.checkCollision(otherBounds), o); } } return "NONE"; // No collision detected return Arrays.asList("NONE", null); // No collision detected } public void addToField(Obstacle o){ Loading
src/main/java/org/example/newmat/GraphicsAndWindowsTest.java +6 −5 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import javafx.stage.Stage; import java.io.IOException; import java.util.Arrays; import java.util.List; import static java.lang.Math.abs; Loading Loading @@ -58,7 +59,7 @@ public class GraphicsAndWindowsTest extends Application { sceneWindow.getYOffset(),350,50, 100, 60, "Box", Color.ORANGERED, false); String[] ob2 = {"--image", "src/teapot.txt", "--speed", "15", "--dir", "4,", "7,", "10"}; String[] ob2 = {"--image", "src/teapot.txt", "--speed", "32", "--dir", "4,", "7,", "10"}; String[] ob3 = {"--image", "src/teapot.txt", "--speed", "5", "--dir", "1,", "1,", "1"}; //String[] ob4 = {"--image", "src/teapot.txt", "--speed", "100", "--dir", "3,", "5,", "7"}; MovingObject newObject1 = new MovingObject(getParameters().getRaw().toArray(new String[0])); Loading Loading @@ -200,7 +201,7 @@ public class GraphicsAndWindowsTest extends Application { // Reverse direction at bounds for (int i = 0; i < objects.length; i++) { double GRAVITY = 1; double AIRRESISTANCE = 0.05; double AIRRESISTANCE = 0.03; //Physics updates //Gravity direction[i][1] += GRAVITY; Loading Loading @@ -262,9 +263,9 @@ public class GraphicsAndWindowsTest extends Application { lastChanged = 3; } String collisionSide = obs.checkCollision(meshBounds[i]); if(!(collisionSide.equals("NONE"))){ switch (collisionSide){ List<Object> collisionSide = obs.checkCollision(meshBounds[i]); if(!(collisionSide.get(0).equals("NONE"))){ switch ((String)collisionSide.get(0)){ case "LEFT": direction[i][0] = abs(direction[i][0]); break; Loading
target/classes/Shape/ObstacleField.class +227 B (3.93 KiB) File changed.No diff preview for this file type. View original file View changed file
target/classes/org/example/newmat/GraphicsAndWindowsTest$1.class +151 B (4.88 KiB) File changed.No diff preview for this file type. View original file View changed file