Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.domain;
- import java.util.ArrayList;
- import java.util.List;
- public class WhiteKing extends GamePiece {
- public WhiteKing(GameBoard aBoard, Coordinate aTile) {
- super(PieceType.WHITE_KING, aTile, aBoard);
- }
- @Override
- public List<Coordinate> candidateMoves() {
- List<Coordinate> candidates = new ArrayList<Coordinate>();
- candidates = calculateStraightMoves(candidates);
- candidates = calculateDiagonalMoves(candidates);
- return candidates;
- }
- private List<Coordinate> calculateStraightMoves(List<Coordinate> aCandidates) {
- aCandidates.add(super.position().oneSpaceForward());
- aCandidates.add(super.position().oneSpaceBackward());
- aCandidates.add(super.position().oneSpaceLeft());
- aCandidates.add(super.position().oneSpaceRight());
- return aCandidates;
- }
- private List<Coordinate> calculateDiagonalMoves(List<Coordinate> aCandidates) {
- aCandidates.add(super.position().oneSpaceForwardLeft());
- aCandidates.add(super.position().oneSpaceForwardRight());
- aCandidates.add(super.position().oneSpaceBackwardLeft());
- aCandidates.add(super.position().oneSpaceBackwardRight());
- return aCandidates;
- }
- @Override
- protected GamePiece constructNewPieceToMove(Coordinate aNewLocation) {
- return new WhiteKing(board, aNewLocation);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement