Files
basic-computer-games/15_Boxing/java/GameSession.java
Martin Thoma e64fb6795c MAINT: Apply pre-commit
Remove byte-order-marker pre-commit check as there would be
many adjustments necessary
2022-03-05 09:29:23 +01:00

68 lines
1.6 KiB
Java

/**
* Game Session
* The session store the state of the game
*/
public class GameSession {
private final Player player;
private final Player opponent;
private int opponentRoundWins = 0;
private int playerRoundWins = 0;
int playerPoints = 0;
int opponentPoints = 0;
boolean knocked = false;
GameSession(Player player, Player opponent) {
this.player = player;
this.opponent = opponent;
}
public Player getPlayer() { return player;}
public Player getOpponent() { return opponent;}
public void setKnocked() {
knocked = true;
}
public void resetPoints() {
playerPoints = 0;
opponentPoints = 0;
}
public void addPlayerPoints(int ptos) { playerPoints+=ptos;}
public void addOpponentPoints(int ptos) { opponentPoints+=ptos;}
public int getPoints(Player player) {
if(player.isPlayer())
return playerPoints;
else
return opponentPoints;
}
public void addRoundWind(Player player) {
if(player.isPlayer()) playerRoundWins++; else opponentRoundWins++;
}
public boolean isOver() {
return (opponentRoundWins >= 2 || playerRoundWins >= 2);
}
public boolean isRoundWinner(Player player) {
if (player.isPlayer())
return playerPoints > opponentPoints;
else
return opponentPoints > playerPoints;
}
public boolean isGameWinner(Player player) {
if (player.isPlayer())
return playerRoundWins > 2;
else
return opponentRoundWins > 2;
}
public boolean isPlayerKnocked() {
return knocked;
}
}