From e24b6f4965ffedbeaab68775e7abdfb77e3481ee Mon Sep 17 00:00:00 2001 From: L3o15 Date: Thu, 15 May 2025 11:07:29 +0200 Subject: [PATCH] Update user interface --- .../it/arnaldo/unibs/tamagolem/Game.class | Bin 8009 -> 9169 bytes .../it/arnaldo/unibs/tamagolem/Player.class | Bin 1790 -> 1562 bytes .../arnaldo/unibs/tamagolem/TamaGolem.class | Bin 2250 -> 2422 bytes src/ElementGraph.java | 1 + src/Game.java | 144 ++++++++++++------ src/GameLoop.java | 25 +-- src/Player.java | 8 +- src/TamaGolem.java | 4 + 8 files changed, 118 insertions(+), 64 deletions(-) diff --git a/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/Game.class b/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/Game.class index 5ba526b61f30b76367c792b731355c2298409695..77c3560065c70cff0c904270889420b4227f0601 100644 GIT binary patch literal 9169 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 S<0slJq?13G6U;Lo!NLKDjbzCH diff --git a/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/TamaGolem.class b/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/TamaGolem.class index fb88db6707a155ff1efe9d381b2eb7a15754dec5..82069e9f02c582d4e06923f3ab6c4ca5ca15d992 100644 GIT binary patch delta 492 zcmZus%T5A85Ug2P7FRF`BBGH<0thRDiP40Jf)T_AKJonkQ8z{c7$fLUcrcl}-=NWW z@ZgCPzu`Z4H1+}-4yMyH)!jAKHTCWJ5X+J?MnJ!R)1p#&0q;G>;T985Xd}9}TH!AN8CR{qSG_J`Dc7bHa?J1{?6V z6qZR%2j(MzG*-A<@;Kf9SYlYk8qZ3TV_wK4s+n$Dar{|vV7>7XO;Utlk87?rcufk~ zl{QK9?`AF;XC2|TiLEtZ*yK55P#mXK6a2ww_hv{^z!tXYHj?TN^a&pmY>eRFNon z0Ujd~QWPOuXZkCI)5EY)!WvV`F!*(tR^^yv8`y;4vxRMnt=j4s*IfAA zS%HUuvuw^s5w%`7Fq0B?m|;Q$4A@0X-&VyR?+rLy0c6@Hu!nupYGr8>8dH5F*dklS zL!GS!5~PITR+Fs`=tV8KK@M5WoT;hSz1f^H+BZ8SdvGpVWUJ+zZl}75BepPbj1!KE ST~7I4;f8;jvs>Kb5&l2tA1=NC diff --git a/src/ElementGraph.java b/src/ElementGraph.java index 58b587e..b7f7d45 100644 --- a/src/ElementGraph.java +++ b/src/ElementGraph.java @@ -2,6 +2,7 @@ package it.arnaldo.unibs.tamagolem; import java.util.*; + public class ElementGraph { private final Set elements; diff --git a/src/Game.java b/src/Game.java index 35b1f0b..23bcdc5 100644 --- a/src/Game.java +++ b/src/Game.java @@ -1,16 +1,17 @@ package it.arnaldo.unibs.tamagolem; +import it.kibo.fp.lib.InputData; import it.kibo.fp.lib.Menu; +import it.kibo.fp.lib.PrettyStrings; import java.util.HashMap; import java.util.List; +import java.util.Scanner; public class Game { private final Player player1; private final Player player2; private final ElementGraph worldBalance; - private boolean restart = false; - private Modes mode; private int numberOfElements; private int numberOfStones; private int numberOfTamaGolems; @@ -39,76 +40,104 @@ public class Game { return worldBalance; } - public boolean isRestart() { - return restart; - } - - public void setRestart(boolean restart) { - this.restart = restart; - } - private void loop(){ - List elementsNames = worldBalance.getElementsNames(); + // setup dei tamagolem + boolean golem1Setupped = setupGolem(player1.getNextTamaGolem(), player1); - // setto la mappa con le pietre ancora disponibili - for (Element element : elementsNames) { - stonesPerElement.put(element, numberOfStonesPerElement); + // se viene scelto di uscire + if (!golem1Setupped) { + return; } - // aggiungo i tamagolem - for (int i = 0; i < numberOfTamaGolems; i++) { - player1.addTamaGolem(new TamaGolem(lifePoints)); - player2.addTamaGolem(new TamaGolem(lifePoints)); + boolean golem2Setupped = setupGolem(player2.getNextTamaGolem(), player2); + + // se viene scelto di uscire + if (!golem2Setupped) { + return; } - - while(!player1.getTamaGolems().isEmpty() && !player2.getTamaGolems().isEmpty()) { - // setup del primo tamagolem - setupGolem(player1.getNextTamaGolem()); - setupGolem(player2.getNextTamaGolem()); + // fno a quando uno dei due giocatori non vince + while(!checkVictory()) { FightEsit esito = fight(); - switch (esito) { - case GOLEM1 -> System.out.println(player1.getName() + " won the first fight"); - case GOLEM2 -> System.out.println(player2.getName() + " won the first fight"); - } - // dopo il fight i tamagolem morti vengono rimossi checkDeathsTamagolems(player1, player2); + + switch (esito) { + case GOLEM1: + System.out.println(PrettyStrings.frame(player1.getName() + " won the fight", 30, true, true)); + next(); + if(player2.isAlive()){ + boolean golemSetupped = setupGolem(player2.getNextTamaGolem(), player2); + if (!golemSetupped) { + return; + } + } + + break; + case GOLEM2: + System.out.println(PrettyStrings.frame(player2.getName() + " won the fight", 30, true, true)); + next(); + if(player1.isAlive()) { + boolean golemSetupped = setupGolem(player1.getNextTamaGolem(), player1); + if (!golemSetupped) { + return; + } + } + break; + } + } - if (player1.getTamaGolems().isEmpty()) { - System.out.println(player2.getName() + " won the game"); + if (!player1.isAlive()) { + System.out.println(PrettyStrings.frame(player2.getName() + " won the game", 30, true, true)); } else { - System.out.println(player1.getName() + " won the first game"); + System.out.println(PrettyStrings.frame(player1.getName() + " won the game", 30, true, true)); } - - - - System.out.println("GameLoop"); + next(); } - private void setupGolem(TamaGolem golem) { + private boolean setupGolem(TamaGolem golem, Player player) { + System.out.println(PrettyStrings.frame("Setting up " + player.getName() + " TamaGolem", 30, true, true)); + System.out.println("You can assign " + numberOfStones + " stones to your tamaGolem"); + next(); List elementsNames = worldBalance.getElementsNames(); + for (int i = 0; i < numberOfStones; i++) { - Menu stonesMenu = new Menu("TamaGolem", getMenuOptions(), true, true, false); - int firstmenuChoise = stonesMenu.choose(); - golem.addElementalStone(elementsNames.get(firstmenuChoise - 1)); - stonesPerElement.put(elementsNames.get(firstmenuChoise - 1), stonesPerElement.get(elementsNames.get(firstmenuChoise - 1)) - 1); + boolean stoneAssigned = false; + do { + Menu stonesMenu = new Menu("Stones available", getMenuOptions(), true, true, false); + int stonesMenuChoice = stonesMenu.choose(); + + if (stonesMenuChoice == 0) { + return false; + } + + Element chosenElement = elementsNames.get(stonesMenuChoice - 1); + int remaining = stonesPerElement.get(chosenElement); + + if (remaining > 0) { + golem.addElementalStone(chosenElement); + stonesPerElement.put(chosenElement, remaining - 1); + stoneAssigned = true; + } else { + System.out.println(PrettyStrings.frame(chosenElement + " stones are finished, choose another elemental stone", 100, true, true)); + } + } while (!stoneAssigned); } - golem.print(); + System.out.println(player.getName() + " setupped golem: \n\tLP: " + golem.getLifePoints() + "\n\t Stones: " + golem.getElementalStones() + "\n"); + next(); + return true; } - private void checkDeathsTamagolems(Player p1, Player p2) { p1.getTamaGolems().removeIf(tg -> !tg.isAlive()); p2.getTamaGolems().removeIf(tg -> !tg.isAlive()); } - private void setup() { // N numberOfElements = worldBalance.getElements().size(); @@ -123,7 +152,7 @@ public class Game { totalNumberOfStones = (int) Math.ceil((2.0 * numberOfTamaGolems * numberOfStones)); // Stones for each element - numberOfStonesPerElement = totalNumberOfStones / numberOfElements; + numberOfStonesPerElement = (int) Math.ceil((double)totalNumberOfStones / (double)numberOfElements); // deve essere uguale alla somma della potenza di tutti gli elementi @@ -131,16 +160,31 @@ public class Game { lifePoints = totalPower; + List elementsNames = worldBalance.getElementsNames(); + + // setto la mappa con le pietre ancora disponibili + for (Element element : elementsNames) { + stonesPerElement.put(element, numberOfStonesPerElement); + } + + // aggiungo i tamagolem + System.out.println(numberOfTamaGolems); + for (int i = 0; i < numberOfTamaGolems; i++) { + player1.addTamaGolem(new TamaGolem(lifePoints)); + player2.addTamaGolem(new TamaGolem(lifePoints)); + } + } public void start() { setup(); loop(); worldBalance.printGraph(); + next(); } private boolean checkVictory(){ - return !player1.isAlive() || !player2.isAlive(); + return !(player1.isAlive() && player2.isAlive()); } private String[] getMenuOptions() { @@ -164,7 +208,7 @@ public class Game { int interaction = worldBalance.getInteractionBetween(firstStone, secondStone); System.out.println(player1.getName() + "'s tamagolem throws " + firstStone.name() + " and " + player2.getName() + "'s tamagolem throws " + secondStone.name()); - + next(); if (interaction > 0){ golem2.getDamage(interaction); System.out.println(player2.getName() + "'s tamagolem gets " + interaction + " damage"); @@ -172,6 +216,7 @@ public class Game { golem1.getDamage(-1 * interaction); System.out.println(player1.getName() + "'s tamagolem gets " + -1 * interaction + " damage"); } + next(); } if (golem1.isAlive()){ @@ -180,4 +225,9 @@ public class Game { return FightEsit.GOLEM2; } -} + public void next(){ + Scanner reader = new Scanner(System.in); + System.out.print("Press ENTER to continue... "); + reader.nextLine(); + } +;} diff --git a/src/GameLoop.java b/src/GameLoop.java index b96cd95..a8e1b55 100644 --- a/src/GameLoop.java +++ b/src/GameLoop.java @@ -2,6 +2,7 @@ package it.arnaldo.unibs.tamagolem; import it.kibo.fp.lib.InputData; import it.kibo.fp.lib.Menu; +import it.kibo.fp.lib.PrettyStrings; public class GameLoop { private Game game; @@ -12,25 +13,25 @@ public class GameLoop { int firstmenuChoise; do { - createNewGame(); - game.start(); + boolean playGame = createNewGame(); + if (playGame) { + game.start(); + } firstmenuChoise = firstMenu.choose(); } while (firstmenuChoise == 1); } - public void createNewGame() { + public boolean createNewGame() { String[] diffucultyMenuEntries = {"Easy", "Medium", "Hard"}; Menu difficultyMenu = new Menu("Select Mode", diffucultyMenuEntries, true, true, false); - Player p1 = new Player(InputData.readNonEmptyString(""" - \s + Player p1 = new Player(InputData.readString(PrettyStrings.frame(""" Player 1: - \tChoose your name:\s""", true)); + \tChoose your name\s""", 30, false, false), true)); - Player p2 = new Player(InputData.readNonEmptyString(""" - \s + Player p2 = new Player(InputData.readString(PrettyStrings.frame(""" Player 2: - \tChoose your name:\s""", true)); + \tChoose your name\s""", 30, false, false), true)); int difficultyChoise = difficultyMenu.choose(); Modes difficulty = null; @@ -41,6 +42,10 @@ public class GameLoop { case 3 -> difficulty = Modes.HARD; } - game = new Game(p1, p2, WorldBuilder.buildWorld(difficulty)); + if (difficulty != null){ + game = new Game(p1, p2, WorldBuilder.buildWorld(difficulty)); + return true; + } + return false; } } diff --git a/src/Player.java b/src/Player.java index dcae3ac..97b8357 100644 --- a/src/Player.java +++ b/src/Player.java @@ -36,13 +36,7 @@ public class Player { } public boolean isAlive() { - for (TamaGolem golem : tamaGolems) { - if (golem.getLifePoints() > 0) { - return true; - } - } - - return false; + return !tamaGolems.isEmpty(); } diff --git a/src/TamaGolem.java b/src/TamaGolem.java index 144d17f..fc09da9 100644 --- a/src/TamaGolem.java +++ b/src/TamaGolem.java @@ -12,6 +12,10 @@ public class TamaGolem { this.elementalStones = new ArrayDeque<>(); } + public Deque getElementalStones() { + return elementalStones; + } + public void addElementalStone(Element stone) { elementalStones.add(stone); }