From 822ca33345b033a6f21daa3262d1e72854463a07 Mon Sep 17 00:00:00 2001 From: Steinar Aalstad Lillesund Date: Tue, 10 Mar 2020 16:02:34 +0100 Subject: [PATCH] Added A player class Started on the functions needed for a player. --- .../fiasko/roborally/objects/Player.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/main/java/inf112/fiasko/roborally/objects/Player.java diff --git a/src/main/java/inf112/fiasko/roborally/objects/Player.java b/src/main/java/inf112/fiasko/roborally/objects/Player.java new file mode 100644 index 0000000..7e28586 --- /dev/null +++ b/src/main/java/inf112/fiasko/roborally/objects/Player.java @@ -0,0 +1,58 @@ +package inf112.fiasko.roborally.objects; + +import inf112.fiasko.roborally.element_properties.RobotID; + +import java.util.ArrayList; +import java.util.List; + +public class Player { + private final RobotID robotID; + private final String name; + private boolean powerDownNextRound = false; + private ProgrammingCardDeck playerDeck; + private List program = new ArrayList(); + + // Constructor for the player class, it get assigned a Robot, a player nam and a deck + public Player(RobotID robotID, String name, ProgrammingCardDeck playerDeck) { + this.robotID = robotID; + this.name = name; + this.playerDeck = playerDeck; + } + + /** + * Gives you the RobotID of a player + * @return An RobotID + */ + public RobotID getRobotID(){return robotID;} + + public String getName() {return name;} + + public List getProgram() {return program;} + + public ProgrammingCardDeck getPlayerDeck() {return playerDeck;} + + public boolean getPowerDownNextRound() { return powerDownNextRound;} + + public void setPowerDownNextRound(boolean powerDownStatus) { this.powerDownNextRound = powerDownStatus;} + + public void setCardInProgram(ProgrammingCard card) { + for (int i = 0; i < 5; i++) { + if (program.size() == 0) { + program.add(i, card); + return; + } + if (program.get(i) == null) { + program.add(i, card); + return; + } + } + throw new IllegalArgumentException("Program deck is full,tried to add to many cards"); + } + + + public ProgrammingCard removeProgramCard(int cardNr) { + program.add(cardNr, null); + return program.remove(cardNr+1); + } + +}