package rules; import java.util.List; import models.Piece; public enum CropLegalDestinations { CLASSIC, STATIONARY_OBJECTIVE; public void cropLegalDestinations(Piece movingObjectivePiece, Piece pieceToAdjust, List<Piece> enemyTeam) { switch (this) { case CLASSIC: classicCropLegalDestinations(movingObjectivePiece, pieceToAdjust, enemyTeam); break; case STATIONARY_OBJECTIVE: stationaryObjectiveCropLegalDestinations(movingObjectivePiece, pieceToAdjust, enemyTeam); break; default: break; } } private void classicCropLegalDestinations(Piece movingObjective, Piece pieceToAdjust, List<Piece> enemyTeam) { pieceToAdjust.adjustPinsLegalDests(movingObjective, enemyTeam); } private void stationaryObjectiveCropLegalDestinations(Piece movingObjective, Piece pieceToAdjust, List<Piece> enemyTeam) { if (pieceToAdjust == movingObjective) pieceToAdjust.getLegalDests().clear(); else pieceToAdjust.adjustPinsLegalDests(movingObjective, enemyTeam); return; } }