Files
basic-computer-games/15_Boxing/java/GameSession.java
Chris Reuter d26dbf036a Removed spaces from top-level directory names.
Spaces tend to cause annoyances in a Unix-style shell environment.
This change fixes that.
2021-11-21 18:30:21 -05:00

67 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;
}
}