Package loveletter
Class Action
- java.lang.Object
-
- loveletter.Action
-
public class Action extends java.lang.ObjectAn abstract class to represent actions in the game LoveLetter. The class is designed to be immutable.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Cardcard()the card of the actionCardguess()the announced guess for 1 cardsstatic ActionplayBaron(int player, int target)Constructs a BARON action for the player challenging another player.static ActionplayCountess(int player)Constructs a COUNTESS action for the player.intplayer()The player who did the actionstatic ActionplayGuard(int player, int target, Card guess)Constructs a GUARD action from the player guessing the targets card.static ActionplayHandmaid(int player)Constructs a HANDMAID action for the player.static ActionplayKing(int player, int target)Constructs a KING action for the player requiring swapping cards with the target.static ActionplayPriest(int player, int target)Constructs a PRIEST action for the player seeing the targets card.static ActionplayPrince(int player, int target)Constructs a PRINCE action for the player requiring the targetted player to discard their card and draw a new one.static ActionplayPrincess(int player)Constructs a PRINCESS action for the player.inttarget()the target of the action for 1,2,3,5,6 cardsjava.lang.StringtoString()java.lang.StringtoString(java.lang.String player, java.lang.String target)produces a string representation of the action
-
-
-
Method Detail
-
card
public Card card()
the card of the action- Returns:
- the card for the action
-
player
public int player()
The player who did the action- Returns:
- the player index who did the action
-
target
public int target()
the target of the action for 1,2,3,5,6 cards- Returns:
- the index of the taregtted player for 1,2,3,5,6 cards and -1 otherwise
-
guess
public Card guess()
the announced guess for 1 cards- Returns:
- the guessed card for GUARD actions, and null otherwise.
-
toString
public java.lang.String toString(java.lang.String player, java.lang.String target)produces a string representation of the action- Returns:
- a string representation of the action
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
playGuard
public static Action playGuard(int player, int target, Card guess) throws IllegalActionException
Constructs a GUARD action from the player guessing the targets card.- Parameters:
player- the player performing the actiontarget- the player taregtted by this actionguess- the card the player guesses- Returns:
- the action object
- Throws:
IllegalActionException- if an illegal action.
-
playPriest
public static Action playPriest(int player, int target) throws IllegalActionException
Constructs a PRIEST action for the player seeing the targets card.- Parameters:
player- the player performing the actiontarget- the player taregtted by this action- Returns:
- the action object
- Throws:
IllegalActionException- if an illegal action.
-
playBaron
public static Action playBaron(int player, int target) throws IllegalActionException
Constructs a BARON action for the player challenging another player.- Parameters:
player- the player performing the actiontarget- the player taregtted by this action- Returns:
- the action object
- Throws:
IllegalActionException- if an illegal action.
-
playHandmaid
public static Action playHandmaid(int player) throws IllegalActionException
Constructs a HANDMAID action for the player.- Parameters:
player- the player performing the action- Returns:
- the action object
- Throws:
IllegalActionException
-
playPrince
public static Action playPrince(int player, int target) throws IllegalActionException
Constructs a PRINCE action for the player requiring the targetted player to discard their card and draw a new one.- Parameters:
player- the player performing the actiontarget- the player taregtted by this action- Returns:
- the action object
- Throws:
IllegalActionException
-
playKing
public static Action playKing(int player, int target) throws IllegalActionException
Constructs a KING action for the player requiring swapping cards with the target.- Parameters:
player- the player performing the actiontarget- the player taregtted by this action- Returns:
- the action object
- Throws:
IllegalActionException- if an illegal action.
-
playCountess
public static Action playCountess(int player) throws IllegalActionException
Constructs a COUNTESS action for the player.- Parameters:
player- the player performing the action- Returns:
- the action object
- Throws:
IllegalActionException- if the player is out of range
-
playPrincess
public static Action playPrincess(int player) throws IllegalActionException
Constructs a PRINCESS action for the player.- Parameters:
player- the player performing the action- Returns:
- the action object
- Throws:
IllegalActionException- if the player is out of range
-
-