diff --git a/engine-pi.log.1 b/engine-pi.log.1 deleted file mode 100644 index e69de29..0000000 diff --git a/engine-pi.log.lck b/engine-pi.log.lck deleted file mode 100644 index e69de29..0000000 diff --git a/kebab.properties b/kebab.properties deleted file mode 100644 index 2d9b49b..0000000 --- a/kebab.properties +++ /dev/null @@ -1,7 +0,0 @@ -kebabPrice=5 -kebabSold=28 -money=123 -totalEarned=0 -upgradeLevel=0 -waitingCustomers=0 -workers=0 diff --git a/src/main/java/project/Main.java b/src/main/java/project/Main.java index 87463b0..fe59178 100644 --- a/src/main/java/project/Main.java +++ b/src/main/java/project/Main.java @@ -1,6 +1,8 @@ package project; import project.scenes.GameScene; +import project.scenes.LoadingScene; +import project.scenes.VictoryScene; import project.utils.Statistics; import pi.Controller; import pi.config.ConfigLoader; @@ -21,8 +23,9 @@ public class Main public static void main(String[] args) { Controller.instantMode(false); - //Controller.start(new LoadingScene(), 1000, 600); - Controller.start(new GameScene(), 1000, 600); + Controller.start(new LoadingScene(), 1000, 600); + //Controller.start(new GameScene(), 1000, 600); + //Controller.start(new VictoryScene(), 1000, 600); try { Cursor customCursor = Toolkit.getDefaultToolkit().createCustomCursor( diff --git a/src/main/java/project/scenes/GameScene.java b/src/main/java/project/scenes/GameScene.java index 305e5d0..09ab48c 100644 --- a/src/main/java/project/scenes/GameScene.java +++ b/src/main/java/project/scenes/GameScene.java @@ -24,9 +24,13 @@ public class GameScene extends Scene implements FrameListener, MouseClickListene Rectangle bg; Image tatli; Text[] texts; - Image[] ingredients; + Image[] ingredients; // array of all ingredients (including the final kebab lol) + int[] current_kebab; // used for remembering which ingredients have already been added to the current kebab build Actor[] customers; + boolean[] fed_customers; public static ConfigLoader loader; + boolean mouse_pressed_on_kebab; + Statistics s; public GameScene() { // the background music, color, stats (some meta information) @@ -38,6 +42,7 @@ public class GameScene extends Scene implements FrameListener, MouseClickListene addStatsCollectionOutline(this); texts = createTexts(this); camera().meter(10); + s = Main.config.getGroup(Statistics.class); tatli = new Image("images/kebab-pack/tatli-ekmek-256x256.png"); tatli.size(2.56*13, 2.56*13); @@ -47,13 +52,18 @@ public class GameScene extends Scene implements FrameListener, MouseClickListene customers = new Actor[2]; customers[0] = Animation.createFromAnimatedGif("images/kebab-pack/customer-sonic-on-white.gif", 1.48*25, 1.25*25); customers[0].center(-60,0); - customers[0].applyImpulse(new Vector(1, 0).multiply(100000)); + customers[0].applyImpulse(new Vector(1, 0).multiply(200000)); customers[1] = Animation.createFromAnimatedGif("images/kebab-pack/customer-mr-eggman.gif", 1.48*20, 1.48*20); customers[1].center(-180,0); customers[1].applyImpulse(new Vector(1, 0).multiply(100000)); - + fed_customers = new boolean[customers.length]; + + // initialize ingredients and current_kebab arrays ingredients = createIngredients(); - + current_kebab = new int[ingredients.length-1]; + + mouse_pressed_on_kebab = false; + // add all actors add(bg); add(customers); @@ -64,22 +74,63 @@ public class GameScene extends Scene implements FrameListener, MouseClickListene @Override public void onFrame(double pastTime) { - for(Actor c : customers) { - if(visibleArea().xRight() < c.anchor().add(new Vector(-20, 0)).x()) { - c.center(-60,0); - Statistics s = Main.config.getGroup(Statistics.class);; - s.kebabSold(s.kebabSold()+1); - Main.config.save(); - - setKebabSold(texts, s.kebabSold()); + for(int i=0; i= 67) { + resetStats(); + Controller.transitionToScene(new VictoryScene()); + } + } + public void incrementWaitingCustomers(int amount) { + s.waitingCustomers(s.waitingCustomers()+amount); + Main.config.save(); + setWaitingCustomers(texts, s.waitingCustomers()); + } public static void saveStats(Text[] texts) { int money = Integer.parseInt(texts[0].content()); @@ -175,4 +249,11 @@ public class GameScene extends Scene implements FrameListener, MouseClickListene System.out.println(kebabSold); System.out.println(waitingCustomers); } -} + public void resetStats() { + s.money(2); + s.kebabPrice(5); + s.kebabSold(0); + s.waitingCustomers(0); + Main.config.save(); + } +} \ No newline at end of file diff --git a/src/main/java/project/scenes/VictoryScene.java b/src/main/java/project/scenes/VictoryScene.java new file mode 100644 index 0000000..190de53 --- /dev/null +++ b/src/main/java/project/scenes/VictoryScene.java @@ -0,0 +1,57 @@ +package project.scenes; + +import pi.Controller; +import pi.Scene; +import pi.actor.Actor; +import pi.actor.Animation; +import pi.actor.Rectangle; +import pi.actor.Text; +import pi.graphics.geom.Vector; + +import static pi.Controller.fonts; +import java.awt.Font; + + +public class VictoryScene extends Scene { + boolean faded_out; + Actor sixseven; + + public VictoryScene() { + Controller.jukebox.playSound("sounds/reward.mp3"); + + Font font = fonts.get("fonts/BitcountGridDouble-Regular.ttf"); + + Text designer = new Text("Design: Alf"); + designer.color("#ffffff"); + designer.font(font); + designer.height(2.5); + Text pr = new Text("PR: Kevon Faison"); + pr.color("#ffffff"); + pr.font(font); + pr.height(2.5); + Text programmer = new Text("Programming: Benjamin Burkhardt"); + programmer.color("#ffffff"); + programmer.font(font); + programmer.height(1.5); + //Rectangle rect = new Rectangle(1000, 600); + //rect.color("#000000"); + + designer.center(0, 4); + pr.center(0, 0); + programmer.center(0, -4); + //rect.center(0,0); + + add(designer); + add(pr); + add(programmer); + //add(rect); + + sixseven = Animation.createFromAnimatedGif("images/kebab-pack/reward.gif", 1.48*15, 1.25*15); + sixseven.center(0, 0); + + //rect.applyImpulse(new Vector(0, -1).multiply(50000)); + sixseven.applyImpulse(new Vector(0, -1).multiply(50000)); + + add(sixseven); + } +} diff --git a/src/main/java/project/utils/Statistics.java b/src/main/java/project/utils/Statistics.java index 5c18f96..f4c4c56 100644 --- a/src/main/java/project/utils/Statistics.java +++ b/src/main/java/project/utils/Statistics.java @@ -12,7 +12,7 @@ public class Statistics extends ConfigGroup { private int totalEarned = 0; public Statistics() { - money(0); + money(2); kebabPrice(5); upgradeLevel(0); kebabSold(0); diff --git a/src/main/resources/images/kebab-pack/reward.gif b/src/main/resources/images/kebab-pack/reward.gif new file mode 100644 index 0000000..a87a1fd Binary files /dev/null and b/src/main/resources/images/kebab-pack/reward.gif differ diff --git a/src/main/resources/sounds/reward.mp3 b/src/main/resources/sounds/reward.mp3 new file mode 100644 index 0000000..674251f Binary files /dev/null and b/src/main/resources/sounds/reward.mp3 differ