diff --git a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_windows_3_2_2.xml b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_macos_3_2_2.xml similarity index 75% rename from project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_windows_3_2_2.xml rename to project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_macos_3_2_2.xml index 644bf2d454f700b66ef7349f6984b0af7693177e..ca1d198cac83d9120515f48d57197c2a5c16a968 100644 --- a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_windows_3_2_2.xml +++ b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_macos_3_2_2.xml @@ -1,13 +1,13 @@ -<component name="libraryTable"> - <library name="Maven: org.lwjgl:lwjgl-assimp:natives-windows:3.2.2"> - <CLASSES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-natives-windows.jar!/" /> - </CLASSES> - <JAVADOC> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-javadoc.jar!/" /> - </JAVADOC> - <SOURCES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-sources.jar!/" /> - </SOURCES> - </library> +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-assimp:natives-macos:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-natives-macos.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-sources.jar!/" /> + </SOURCES> + </library> </component> \ No newline at end of file diff --git a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_windows_3_2_2.xml b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_macos_3_2_2.xml similarity index 76% rename from project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_windows_3_2_2.xml rename to project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_macos_3_2_2.xml index 7d7306ff4ab48b0e0075667f893e239242f91ac4..f42095931774828fb8049a7c17d995404c248945 100644 --- a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_windows_3_2_2.xml +++ b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_macos_3_2_2.xml @@ -1,13 +1,13 @@ -<component name="libraryTable"> - <library name="Maven: org.lwjgl:lwjgl-glfw:natives-windows:3.2.2"> - <CLASSES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-natives-windows.jar!/" /> - </CLASSES> - <JAVADOC> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-javadoc.jar!/" /> - </JAVADOC> - <SOURCES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-sources.jar!/" /> - </SOURCES> - </library> +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-glfw:natives-macos:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-natives-macos.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-sources.jar!/" /> + </SOURCES> + </library> </component> \ No newline at end of file diff --git a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_windows_3_2_2.xml b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_macos_3_2_2.xml similarity index 77% rename from project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_windows_3_2_2.xml rename to project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_macos_3_2_2.xml index 229a0712502d4fc5d468de8c224c5213975cfc68..d806e09f7a1984918343ca6934604b8cd39b641e 100644 --- a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_windows_3_2_2.xml +++ b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_macos_3_2_2.xml @@ -1,13 +1,13 @@ -<component name="libraryTable"> - <library name="Maven: org.lwjgl:lwjgl:natives-windows:3.2.2"> - <CLASSES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-natives-windows.jar!/" /> - </CLASSES> - <JAVADOC> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-javadoc.jar!/" /> - </JAVADOC> - <SOURCES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-sources.jar!/" /> - </SOURCES> - </library> +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl:natives-macos:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-natives-macos.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-sources.jar!/" /> + </SOURCES> + </library> </component> \ No newline at end of file diff --git a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_windows_3_2_2.xml b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_macos_3_2_2.xml similarity index 75% rename from project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_windows_3_2_2.xml rename to project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_macos_3_2_2.xml index 202908194b24c93d8333d348203f6a33c983006d..c5f06cb55090320ab58648ec87fc4fb6487cf5bc 100644 --- a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_windows_3_2_2.xml +++ b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_macos_3_2_2.xml @@ -1,13 +1,13 @@ -<component name="libraryTable"> - <library name="Maven: org.lwjgl:lwjgl-openal:natives-windows:3.2.2"> - <CLASSES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-natives-windows.jar!/" /> - </CLASSES> - <JAVADOC> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-javadoc.jar!/" /> - </JAVADOC> - <SOURCES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-sources.jar!/" /> - </SOURCES> - </library> +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-openal:natives-macos:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-natives-macos.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-sources.jar!/" /> + </SOURCES> + </library> </component> \ No newline at end of file diff --git a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_windows_3_2_2.xml b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_macos_3_2_2.xml similarity index 75% rename from project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_windows_3_2_2.xml rename to project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_macos_3_2_2.xml index a1a2789a62becc1d45d8ceb0df06d8789479ac42..cc8c1f3e1574c7c549451fd2dffedf0ac6a56d4b 100644 --- a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_windows_3_2_2.xml +++ b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_macos_3_2_2.xml @@ -1,13 +1,13 @@ -<component name="libraryTable"> - <library name="Maven: org.lwjgl:lwjgl-opengl:natives-windows:3.2.2"> - <CLASSES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-natives-windows.jar!/" /> - </CLASSES> - <JAVADOC> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-javadoc.jar!/" /> - </JAVADOC> - <SOURCES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-sources.jar!/" /> - </SOURCES> - </library> +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-opengl:natives-macos:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-natives-macos.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-sources.jar!/" /> + </SOURCES> + </library> </component> \ No newline at end of file diff --git a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_windows_3_2_2.xml b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_macos_3_2_2.xml similarity index 76% rename from project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_windows_3_2_2.xml rename to project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_macos_3_2_2.xml index 4f8ca03319306ceaea6095f71256272b496faaf8..af9fd1a4d2c75bf9807766eab03e4aaf90ceee78 100644 --- a/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_windows_3_2_2.xml +++ b/project-1/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_macos_3_2_2.xml @@ -1,13 +1,13 @@ -<component name="libraryTable"> - <library name="Maven: org.lwjgl:lwjgl-stb:natives-windows:3.2.2"> - <CLASSES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-natives-windows.jar!/" /> - </CLASSES> - <JAVADOC> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-javadoc.jar!/" /> - </JAVADOC> - <SOURCES> - <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-sources.jar!/" /> - </SOURCES> - </library> +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-stb:natives-macos:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-natives-macos.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-sources.jar!/" /> + </SOURCES> + </library> </component> \ No newline at end of file diff --git a/project-1/.idea/vcs.xml b/project-1/.idea/vcs.xml index 17a8b82328b47169a22e7fc2e2467155a2ce3735..dc3dbff3ed8fcbb58214153f6b1451e329debfb2 100644 --- a/project-1/.idea/vcs.xml +++ b/project-1/.idea/vcs.xml @@ -3,5 +3,6 @@ <component name="VcsDirectoryMappings"> <mapping directory="$PROJECT_DIR$/../../../../.." vcs="Git" /> <mapping directory="$PROJECT_DIR$/../../.." vcs="Git" /> + <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> </component> </project> \ No newline at end of file diff --git a/project-1/bagel.iml b/project-1/bagel.iml index 5528a8c1e3d3839305551618bb67906e16d64071..22d2f3ab2adc57eb268b46854ca3954426f1ecd2 100644 --- a/project-1/bagel.iml +++ b/project-1/bagel.iml @@ -4,6 +4,7 @@ <output url="file://$MODULE_DIR$/target/classes" /> <output-test url="file://$MODULE_DIR$/target/test-classes" /> <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/res" type="java-resource" /> <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> <excludeFolder url="file://$MODULE_DIR$/target" /> </content> @@ -16,11 +17,11 @@ <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-openal:3.2.2" level="project" /> <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-opengl:3.2.2" level="project" /> <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-stb:3.2.2" level="project" /> - <orderEntry type="library" name="Maven: org.lwjgl:lwjgl:natives-windows:3.2.2" level="project" /> - <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-assimp:natives-windows:3.2.2" level="project" /> - <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-glfw:natives-windows:3.2.2" level="project" /> - <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-openal:natives-windows:3.2.2" level="project" /> - <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-opengl:natives-windows:3.2.2" level="project" /> - <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-stb:natives-windows:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl:natives-macos:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-assimp:natives-macos:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-glfw:natives-macos:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-openal:natives-macos:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-opengl:natives-macos:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-stb:natives-macos:3.2.2" level="project" /> </component> </module> \ No newline at end of file diff --git a/project-1/src/Entity.java b/project-1/src/Entity.java new file mode 100644 index 0000000000000000000000000000000000000000..fd1d0d16f794e2e697f8fadfd2b839af611902b7 --- /dev/null +++ b/project-1/src/Entity.java @@ -0,0 +1,22 @@ +import bagel.*; + +import bagel.util.*; +import java.lang.*; + +public class Entity { + private Image img; + private Point pos; + + public Entity(String filename, Point pos) { + this.img = new Image(filename); + this.pos = pos; + } + + public Point getPos() { + return pos; + } + + public void setPos(Point pos) { + this.pos = pos; + } +} diff --git a/project-1/src/Player.java b/project-1/src/Player.java new file mode 100644 index 0000000000000000000000000000000000000000..0e689b9b4762f6bb940a2db40ace521a7e365204 --- /dev/null +++ b/project-1/src/Player.java @@ -0,0 +1,34 @@ +import bagel.*; +import bagel.util.*; + +public class Player extends Entity{ + private Image image; + private Point pos; + private int energy; //displayed at position (20,760) in black font size 20 and font DejaVuSans-Bol(ttf file provided in res zip file) + private static int stepsize = 10; + + public Player(String filename, Point pos, int energy) { + super(filename, pos); + this.energy = energy; + } + + public Image getImage() { + return image; + } + + public Point getPos() { + return pos; + } + + public int getEnergy() { + return energy; + } + + public int getStepsize() { + return stepsize; + } + + public void addEnergy(int energy) { + this.energy += energy; + } +} diff --git a/project-1/src/Sandwich.java b/project-1/src/Sandwich.java new file mode 100644 index 0000000000000000000000000000000000000000..de7df0b34dd483c20afc3c713a6f447adf9e96dc --- /dev/null +++ b/project-1/src/Sandwich.java @@ -0,0 +1,11 @@ +import bagel.*; +import bagel.util.*; + +public class Sandwich extends Entity { + private Image image; + private Point pos; + + public Sandwich(String filename, Point pos) { + super(filename, pos); + } +} diff --git a/project-1/src/ShadowTreasure.java b/project-1/src/ShadowTreasure.java index f9c1058a0a5a1a7fc8d5398d931b6ba23b690d34..39c2fa3d1507ecc736abe6f6c2face28112a9c3f 100644 --- a/project-1/src/ShadowTreasure.java +++ b/project-1/src/ShadowTreasure.java @@ -1,10 +1,12 @@ import bagel.*; +import bagel.util.Point; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.text.DecimalFormat; - +import java.util.Scanner; +import java.lang.*; /** * An example Bagel game. @@ -14,6 +16,12 @@ public class ShadowTreasure extends AbstractGame { // for rounding double number; use this to print the location of the player private static DecimalFormat df = new DecimalFormat("0.00"); + private Player player; + private Zombie zombie; + private Sandwich sandwich; + private static int count=0; + private static Font dejavu = new Font("res/font/DejaVuSans-Bold.ttf",20); + public static void printInfo(double x, double y, int e) { System.out.println(df.format(x) + "," + df.format(y) + "," + e); } @@ -28,6 +36,34 @@ public class ShadowTreasure extends AbstractGame { */ private void loadEnvironment(String filename){ // Code here to read from the file and set up the environment + Scanner scanner = new Scanner("res/environment.csv"); + double xcoor, ycoor; + int level; + while(scanner.hasNext()) { + String item = scanner.next(); + switch (item) { + case "Player": + xcoor = scanner.nextInt(); + ycoor = scanner.nextInt(); + level = scanner.nextInt(); + player = new Player("res/images/player.png", new Point(xcoor, ycoor), level); + break; + case "Zombie": + xcoor = scanner.nextInt(); + ycoor = scanner.nextInt(); + zombie = new Zombie("res/Images/Zombie.png", new Point(xcoor, ycoor)); + break; + case "Sandwich": + xcoor = scanner.nextInt(); + ycoor = scanner.nextInt(); + sandwich = new Sandwich("res/Images/Sandwich.png", new Point(xcoor, ycoor)); + break; + } + // draw background at position 0,0 + Image bg = new Image("res/images/background.png"); + bg.draw(0,0); + } + } } /** @@ -36,6 +72,14 @@ public class ShadowTreasure extends AbstractGame { @Override public void update(Input input) { // Logic to update the game, as per specification must go here + if(count==0) { + Player player = new Player("res/images/player.png",new Point(0,0), 2); + System.out.println(player.getEnergy()); + } + count++; + + // constant info on window + dejavu.drawString(String.format("energy: %d",player.getEnergy()),20,760); } diff --git a/project-1/src/Zombie.java b/project-1/src/Zombie.java new file mode 100644 index 0000000000000000000000000000000000000000..34abd6be7b46a67731760a7b165daff0880afab9 --- /dev/null +++ b/project-1/src/Zombie.java @@ -0,0 +1,9 @@ +import java.lang.*; +import bagel.util.*; + +public class Zombie extends Entity{ + + public Zombie(String filename, Point pos) { + super(filename, pos); + } +}