Added a player wrapper PlayerObject

Signed-off-by: Malte Tammena <malte.tammena@gmx.de>
This commit is contained in:
Malte Tammena 2017-10-15 13:20:16 +02:00
parent 049171749d
commit be0540a879
3 changed files with 46 additions and 5 deletions

View file

@ -13,6 +13,7 @@ LIBARIES=
CLASSES=\
src/game/Main.java \
src/game/Game.java \
src/game/PlayerObject.java \
src/player/Player.java \
src/player/Player1.java \
src/player/Player2.java

View file

@ -22,17 +22,17 @@ public class Game {
/**
* Player One
*/
private final Player p1;
private final PlayerObject p1;
/**
* Player Two
*/
private final Player p2;
private final PlayerObject p2;
/**
* Player who made the last move.
*/
private Player lastPlayer;
private PlayerObject lastPlayer;
/**
* The game's board.
@ -56,8 +56,8 @@ public class Game {
* @param p2 Player Two
*/
public Game(Player p1, Player p2) {
this.p1 = p1;
this.p2 = p2;
this.p1 = new PlayerObject(p1);
this.p2 = new PlayerObject(p2);
this.board = new int [GAME_COLUMNS][GAME_ROWS];
this.gameOn = false;
}

View file

@ -0,0 +1,40 @@
package player;
/**
* Wrapper for the player.
* This is a wrapper for a player. This guarantees, that no
* player will change his Symbol, nor his id.
*/
public class PlayerObject {
private final Player p;
private final int id;
private String sym;
/**
* Wraps a player.
*
* @param id The players id.
* @param p The player himself.
*/
public PlayerObject(int id, Player p) {
this.p = p;
this.id = id;
}
public void setSymbol(String sym) {
this.sym = sym;
}
public String getSymbol() {
return this.sym;
}
public Player getP() {
return this.p;
}
public int getID() {
return this.id;
}
}