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.char
getLabel()
Returns a char which is used to facilitate output in the console
-
Constructor Details
-
Method Details
-
getLabel
public char getLabel()Description copied from class:Piece
Returns 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 theGame
object and thePlace
that current knight piece locates, this method should return ALL VALIDMove
s according to the currentPlace
of this knight piece. All the returnedMove
should have source equal to the source parameter.Hint: you should consider corner cases when the
Move
is not valid on the gameboard. Several tests are provided and your implementation should pass them.Attention: Student should make sure all
Move
s returned are valid.- Specified by:
getAvailableMoves
in classPiece
- Parameters:
game
- the game objectsource
- the current place of the piece- Returns:
- an array of available moves
-