diff --git a/src/main/java/project/scenes/GameScene.java b/src/main/java/project/scenes/GameScene.java index ae45027..bafe5a3 100644 --- a/src/main/java/project/scenes/GameScene.java +++ b/src/main/java/project/scenes/GameScene.java @@ -1,17 +1,120 @@ package project.scenes; +import pi.Controller; +import pi.Rectangle; import pi.Scene; -import project.utils.StatsCollection; import pi.Text; +import pi.actor.Actor; +import pi.actor.Animation; +import pi.actor.Image; +import pi.graphics.geom.Vector; + +import static pi.Controller.fonts; +import java.awt.Font; + public class GameScene extends Scene { - public GameScene() { - StatsCollection.addStatsCollectionOutline(this); - Text[] texts = StatsCollection.createTexts(this); - - + // the background music, color, stats (some meta information) + Controller.jukebox.playSound("sounds/Mozart_Turkish_March_-_Orchestral_Melodic_Techno_-_TVV_music_320k.mp3"); + Rectangle bg = new Rectangle(2000, 2000); + bg.color("#ffffff"); + bg.center(0,0); + bg.layerPosition(-100); + addStatsCollectionOutline(this); + Text[] texts = createTexts(this); camera().meter(10); + + // create customers + Actor[] customers = new Actor[1]; + customers[0] = Animation.createFromAnimatedGif("images/kebab-pack/customer-mr-eggman.gif", 1.48*25, 1.25*25); + customers[0].center(-60,0); + customers[0].applyImpulse(new Vector(1, 0).multiply(100000)); + + // add all actors + add(bg); + add(customers); + } + + + // Static helper methods + public static void addStatsCollectionOutline(Scene scene) { + Image moneyButton = new Image("images/pixui-pack/Buttons/Button_White_Outline (9).png"); + moneyButton.center(-10, 25); + Image kebabSoldButton = new Image("images/pixui-pack/Buttons/Button_White_Outline (9).png"); + kebabSoldButton.center(0, 25); + Image waitingCustomersButton = new Image("images/pixui-pack/Buttons/Button_White_Outline (9).png"); + waitingCustomersButton.center(10, 25); + + Image moneyIcon = new Image("images/kebab-pack/money-128x128.png").size(2, 2); + moneyIcon.center(-12, 25); + Image kebabSoldIcon = new Image("images/kebab-pack/kebab-128x128.png").size(2, 2); + kebabSoldIcon.center(-2, 25); + Image waitingCustomersIcon = new Image("images/kebab-pack/aladin-256x256.png").size(2, 2); + waitingCustomersIcon.center(8, 25); + + scene.add(moneyButton); + scene.add(moneyIcon); + scene.add(kebabSoldButton); + scene.add(kebabSoldIcon); + scene.add(waitingCustomersButton); + scene.add(waitingCustomersIcon); + } + + public static Text[] createTexts(Scene scene) { + Text[] texts = new Text[10]; + Font font = fonts.get("fonts/BitcountGridDouble-Regular.ttf"); + + Text money = new Text("0"); + money.color("#000000"); + money.font(font); + money.height(2.5); + money.center(-9, 25); + texts[0] = money; + Text kebabSold = new Text("0"); + kebabSold.color("#000000"); + kebabSold.font(font); + kebabSold.height(2.5); + kebabSold.center(1, 25); + texts[1] = kebabSold; + Text waitingCustomers = new Text("0"); + waitingCustomers.color("#000000"); + waitingCustomers.font(font); + waitingCustomers.height(2.5); + waitingCustomers.center(11, 25); + texts[2] = waitingCustomers; + + scene.add(money); + scene.add(kebabSold); + scene.add(waitingCustomers); + + return texts; + } + + public static void setTexts(Text[] texts, int money, int kebabSold, int waitingCustomers) { + texts[0].content(String.valueOf(money)); + texts[1].content(String.valueOf(kebabSold)); + texts[2].content(String.valueOf(waitingCustomers)); + } + + public static void setMoney(Text[] texts, int money) { + texts[0].content(String.valueOf(money)); + } + public static void setKebabSold(Text[] texts, int kebabSold) { + texts[1].content(String.valueOf(kebabSold)); + } + public static void setWaitingCustomers(Text[] texts, int waitingCustomers) { + texts[2].content(String.valueOf(waitingCustomers)); + } + + public static void saveStats(Text[] texts) { + int money = Integer.parseInt(texts[0].content()); + int kebabSold = Integer.parseInt(texts[1].content()); + int waitingCustomers = Integer.parseInt(texts[2].content()); + + System.out.println(money); + System.out.println(kebabSold); + System.out.println(waitingCustomers); } } diff --git a/src/main/java/project/utils/StatsCollection.java b/src/main/java/project/utils/StatsCollection.java deleted file mode 100644 index cc8db94..0000000 --- a/src/main/java/project/utils/StatsCollection.java +++ /dev/null @@ -1,89 +0,0 @@ -package project.utils; - -import pi.Scene; -import pi.actor.Image; -import pi.Text; -import static pi.Controller.fonts; - -import java.awt.Font; - -public class StatsCollection { - public static void addStatsCollectionOutline(Scene scene) { - Image moneyButton = new Image("images/pixui-pack/Buttons/Button_White_Outline (9).png"); - moneyButton.center(-10, 25); - Image kebabSoldButton = new Image("images/pixui-pack/Buttons/Button_White_Outline (9).png"); - kebabSoldButton.center(0, 25); - Image waitingCustomersButton = new Image("images/pixui-pack/Buttons/Button_White_Outline (9).png"); - waitingCustomersButton.center(10, 25); - - Image moneyIcon = new Image("images/kebab-pack/money-128x128.png").size(2, 2); - moneyIcon.center(-12, 25); - Image kebabSoldIcon = new Image("images/kebab-pack/kebab-128x128.png").size(2, 2); - kebabSoldIcon.center(-2, 25); - Image waitingCustomersIcon = new Image("images/kebab-pack/aladin-256x256.png").size(2, 2); - waitingCustomersIcon.center(8, 25); - - scene.add(moneyButton); - scene.add(moneyIcon); - scene.add(kebabSoldButton); - scene.add(kebabSoldIcon); - scene.add(waitingCustomersButton); - scene.add(waitingCustomersIcon); - } - - public static Text[] createTexts(Scene scene) { - Text[] texts = new Text[10]; - Font font = fonts.get("fonts/BitcountGridDouble-Regular.ttf"); - - Text money = new Text("0"); - money.color("#000000"); - money.font(font); - money.height(2.5); - money.center(-9, 25); - texts[0] = money; - Text kebabSold = new Text("0"); - kebabSold.color("#000000"); - kebabSold.font(font); - kebabSold.height(2.5); - kebabSold.center(1, 25); - texts[1] = kebabSold; - Text waitingCustomers = new Text("0"); - waitingCustomers.color("#000000"); - waitingCustomers.font(font); - waitingCustomers.height(2.5); - waitingCustomers.center(11, 25); - texts[2] = waitingCustomers; - - scene.add(money); - scene.add(kebabSold); - scene.add(waitingCustomers); - - return texts; - } - - public static void setTexts(Text[] texts, int money, int kebabSold, int waitingCustomers) { - texts[0].content(String.valueOf(money)); - texts[1].content(String.valueOf(kebabSold)); - texts[2].content(String.valueOf(waitingCustomers)); - } - - public static void setMoney(Text[] texts, int money) { - texts[0].content(String.valueOf(money)); - } - public static void setKebabSold(Text[] texts, int kebabSold) { - texts[1].content(String.valueOf(kebabSold)); - } - public static void setWaitingCustomers(Text[] texts, int waitingCustomers) { - texts[2].content(String.valueOf(waitingCustomers)); - } - - public static void saveStats(Text[] texts) { - int money = Integer.parseInt(texts[0].content()); - int kebabSold = Integer.parseInt(texts[1].content()); - int waitingCustomers = Integer.parseInt(texts[2].content()); - - System.out.println(money); - System.out.println(kebabSold); - System.out.println(waitingCustomers); - } -} \ No newline at end of file diff --git a/src/main/resources/images/kebab-pack/customer-mr-eggman.gif b/src/main/resources/images/kebab-pack/customer-mr-eggman.gif new file mode 100644 index 0000000..bb06c32 Binary files /dev/null and b/src/main/resources/images/kebab-pack/customer-mr-eggman.gif differ diff --git a/src/main/resources/sounds/Mozart_Turkish_March_-_Orchestral_Melodic_Techno_-_TVV_music_320k.mp3 b/src/main/resources/sounds/Mozart_Turkish_March_-_Orchestral_Melodic_Techno_-_TVV_music_320k.mp3 new file mode 100644 index 0000000..bd76d05 Binary files /dev/null and b/src/main/resources/sounds/Mozart_Turkish_March_-_Orchestral_Melodic_Techno_-_TVV_music_320k.mp3 differ