Package castle.comp3021.assignment.piece
Class Archer
java.lang.Object
castle.comp3021.assignment.protocol.Piece
castle.comp3021.assignment.piece.Archer
public class Archer extends Piece
Archer piece that moves similar to cannon in chinese chess.
Rules of move of Archer can be found in wikipedia (https://en.wikipedia.org/wiki/Xiangqi#Cannon).
Attention: If you want to implement Archer as the bonus task, you should remove "throw new
UnsupportedOperationException();" in the constructor of this class.
- See Also:
- Wikipedia
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description Move[]getAvailableMoves(Game game, Place source)Returns an array of moves that are valid given the current place of the piece.chargetLabel()Returns a char which is used to facilitate output in the console
-
Constructor Details
-
Method Details
-
getLabel
public char getLabel()Description copied from class:PieceReturns a char which is used to facilitate output in the console -
getAvailableMoves
Returns an array of moves that are valid given the current place of the piece. Given theGameobject and thePlacethat current knight piece locates, this method should return ALL VALIDMoves according to the currentPlaceof this knight piece. All the returnedMoveshould have source equal to the source parameter.Hint: you should consider corner cases when the
Moveis not valid on the gameboard. Several tests are provided and your implementation should pass them.Attention: Student should make sure all
Moves returned are valid.- Specified by:
getAvailableMovesin classPiece- Parameters:
game- the game objectsource- the current place of the piece- Returns:
- an array of available moves
-