TamaGolem/src/Game.java

69 lines
2.1 KiB
Java
Raw Normal View History

2025-05-10 13:12:46 +02:00
package it.arnaldo.unibs.tamagolem;
public class Game {
private final Player player1;
private final Player player2;
private final ElementGraph worldBalance;
2025-05-13 19:45:51 +02:00
private boolean restart = false;
2025-05-10 13:12:46 +02:00
public Game(Player player1, Player player2, ElementGraph worldBalance) {
this.player1 = player1;
this.player2 = player2;
this.worldBalance = worldBalance;
}
public Player getPlayer1() {
return player1;
}
public Player getPlayer2() {
return player2;
}
public ElementGraph getWorldBalance() {
return worldBalance;
}
2025-05-13 19:45:51 +02:00
public boolean isRestart() {
return restart;
}
public void setRestart(boolean restart) {
this.restart = restart;
}
2025-05-10 13:12:46 +02:00
public void start() {
2025-05-13 19:45:51 +02:00
// N
2025-05-10 13:12:46 +02:00
int numberOfElements = worldBalance.getElements().size();
2025-05-13 19:45:51 +02:00
// P
int numberOfStones = (int) Math.ceil((numberOfElements + 1) / 3.0) + 1;
// G
2025-05-13 17:02:45 +02:00
int numberOfTamaGolems = (int) Math.ceil(((numberOfElements - 1) * (numberOfElements - 2)) / (2.0 * numberOfStones));
2025-05-13 19:45:51 +02:00
// S
int totalNumberOfStones = (int) Math.ceil((2.0 * numberOfTamaGolems * numberOfStones));
// Stones for each element
2025-05-10 13:12:46 +02:00
int numberOfStonesPerElement = totalNumberOfStones / numberOfElements;
2025-05-13 17:02:45 +02:00
2025-05-10 13:12:46 +02:00
// deve essere uguale alla somma della potenza di tutti gli elementi
2025-05-13 17:02:45 +02:00
int totalPower = worldBalance.getTotalStrength();
2025-05-10 13:12:46 +02:00
System.out.println("Game started between " + player1.getName() + " and " + player2.getName());
2025-05-13 17:02:45 +02:00
System.out.println("Number of stones: " + numberOfStones);
System.out.println("Number of elements: " + numberOfElements);
2025-05-13 19:45:51 +02:00
System.out.println("Number of TamaGolems for every player: " + numberOfTamaGolems);
2025-05-13 17:02:45 +02:00
System.out.println("Total number of stones: " + totalNumberOfStones);
System.out.println("Total number of stones for each element: " + numberOfStonesPerElement);
System.out.println("Total power: " + totalPower);
2025-05-13 19:45:51 +02:00
System.out.println("Life points: " + totalPower);
System.out.println("Press R to create a new game");
2025-05-10 13:12:46 +02:00
}
2025-05-13 19:45:51 +02:00
2025-05-10 13:12:46 +02:00
}