68 lines
2.1 KiB
Java
68 lines
2.1 KiB
Java
package it.arnaldo.unibs.tamagolem;
|
|
|
|
public class Game {
|
|
private final Player player1;
|
|
private final Player player2;
|
|
private final ElementGraph worldBalance;
|
|
private boolean restart = false;
|
|
|
|
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;
|
|
}
|
|
|
|
public boolean isRestart() {
|
|
return restart;
|
|
}
|
|
|
|
public void setRestart(boolean restart) {
|
|
this.restart = restart;
|
|
}
|
|
|
|
public void start() {
|
|
// N
|
|
int numberOfElements = worldBalance.getElements().size();
|
|
|
|
// P
|
|
int numberOfStones = (int) Math.ceil((numberOfElements + 1) / 3.0) + 1;
|
|
|
|
// G
|
|
int numberOfTamaGolems = (int) Math.ceil(((numberOfElements - 1) * (numberOfElements - 2)) / (2.0 * numberOfStones));
|
|
|
|
// S
|
|
int totalNumberOfStones = (int) Math.ceil((2.0 * numberOfTamaGolems * numberOfStones));
|
|
|
|
// Stones for each element
|
|
int numberOfStonesPerElement = totalNumberOfStones / numberOfElements;
|
|
|
|
|
|
// deve essere uguale alla somma della potenza di tutti gli elementi
|
|
int totalPower = worldBalance.getTotalStrength();
|
|
|
|
System.out.println("Game started between " + player1.getName() + " and " + player2.getName());
|
|
System.out.println("Number of stones: " + numberOfStones);
|
|
System.out.println("Number of elements: " + numberOfElements);
|
|
System.out.println("Number of TamaGolems for every player: " + numberOfTamaGolems);
|
|
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);
|
|
System.out.println("Life points: " + totalPower);
|
|
System.out.println("Press R to create a new game");
|
|
|
|
|
|
}
|
|
|
|
}
|