Command refactor
This commit is contained in:
@@ -2,34 +2,44 @@ package chess.controller.event;
|
||||
|
||||
import chess.model.Color;
|
||||
import chess.model.Coordinate;
|
||||
import chess.model.Move;
|
||||
|
||||
public abstract class GameAdaptator implements GameListener {
|
||||
|
||||
@Override
|
||||
public void playerTurn(Color color) {}
|
||||
public void onPlayerTurn(Color color) {}
|
||||
|
||||
@Override
|
||||
public void winnerIs(Color color) {}
|
||||
public void onWin(Color color) {}
|
||||
|
||||
@Override
|
||||
public void kingIsInCheck() {}
|
||||
public void onKingInCheck() {}
|
||||
|
||||
@Override
|
||||
public void kingIsInMat() {}
|
||||
public void onKingInMat() {}
|
||||
|
||||
@Override
|
||||
public void patSituation() {}
|
||||
public void onPatSituation() {}
|
||||
|
||||
@Override
|
||||
public void hasSurrendered(Color color) {}
|
||||
public void onSurrender(Color color) {}
|
||||
|
||||
@Override
|
||||
public void gameStarted() {}
|
||||
public void onGameStart() {}
|
||||
|
||||
@Override
|
||||
public void promotePawn(Coordinate pieceCoords) {}
|
||||
public void onPromotePawn(Coordinate pieceCoords) {}
|
||||
|
||||
@Override
|
||||
public void updateDisplay() {}
|
||||
public void onBoardUpdate() {}
|
||||
|
||||
@Override
|
||||
public void onGameEnd() {}
|
||||
|
||||
@Override
|
||||
public void onMove(Move move) {}
|
||||
|
||||
@Override
|
||||
public void onMoveNotAllowed(Move move) {}
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.util.function.Consumer;
|
||||
|
||||
import chess.model.Color;
|
||||
import chess.model.Coordinate;
|
||||
import chess.model.Move;
|
||||
|
||||
public class GameDispatcher implements GameListener{
|
||||
|
||||
@@ -28,48 +29,63 @@ public class GameDispatcher implements GameListener{
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playerTurn(Color color) {
|
||||
asyncForEachCall((l) -> l.playerTurn(color));
|
||||
public void onPlayerTurn(Color color) {
|
||||
asyncForEachCall((l) -> l.onPlayerTurn(color));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void winnerIs(Color color) {
|
||||
asyncForEachCall((l) -> l.winnerIs(color));
|
||||
public void onWin(Color color) {
|
||||
asyncForEachCall((l) -> l.onWin(color));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void kingIsInCheck() {
|
||||
asyncForEachCall((l) -> l.kingIsInCheck());
|
||||
public void onKingInCheck() {
|
||||
asyncForEachCall((l) -> l.onKingInCheck());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void kingIsInMat() {
|
||||
asyncForEachCall((l) -> l.kingIsInMat());
|
||||
public void onKingInMat() {
|
||||
asyncForEachCall((l) -> l.onKingInMat());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void patSituation() {
|
||||
asyncForEachCall((l) -> l.patSituation());
|
||||
public void onPatSituation() {
|
||||
asyncForEachCall((l) -> l.onPatSituation());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hasSurrendered(Color color) {
|
||||
asyncForEachCall((l) -> l.hasSurrendered(color));
|
||||
public void onSurrender(Color color) {
|
||||
asyncForEachCall((l) -> l.onSurrender(color));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gameStarted() {
|
||||
asyncForEachCall((l) -> l.gameStarted());
|
||||
public void onGameStart() {
|
||||
asyncForEachCall((l) -> l.onGameStart());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void promotePawn(Coordinate pieceCoords) {
|
||||
asyncForEachCall((l) -> l.promotePawn(pieceCoords));
|
||||
public void onPromotePawn(Coordinate pieceCoords) {
|
||||
asyncForEachCall((l) -> l.onPromotePawn(pieceCoords));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDisplay() {
|
||||
asyncForEachCall((l) -> l.updateDisplay());
|
||||
public void onBoardUpdate() {
|
||||
asyncForEachCall((l) -> l.onBoardUpdate());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGameEnd() {
|
||||
asyncForEachCall((l) -> l.onGameEnd());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMove(Move move) {
|
||||
asyncForEachCall((l) -> l.onMove(move));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMoveNotAllowed(Move move) {
|
||||
asyncForEachCall((l) -> l.onMoveNotAllowed(move));
|
||||
}
|
||||
|
||||
public void stopService() {
|
||||
|
||||
@@ -2,24 +2,74 @@ package chess.controller.event;
|
||||
|
||||
import chess.model.Color;
|
||||
import chess.model.Coordinate;
|
||||
import chess.model.Move;
|
||||
|
||||
public interface GameListener {
|
||||
|
||||
void playerTurn(Color color);
|
||||
/**
|
||||
* Invoked when the display of the board should be updated
|
||||
*/
|
||||
void onBoardUpdate();
|
||||
|
||||
/**
|
||||
* Invoked when the game has ended (by a win or a draw)
|
||||
*/
|
||||
void onGameEnd();
|
||||
|
||||
void winnerIs(Color color);
|
||||
/**
|
||||
* Invoked when the game has started
|
||||
*/
|
||||
void onGameStart();
|
||||
|
||||
/**
|
||||
* Invoked when a king is in check
|
||||
*/
|
||||
void onKingInCheck();
|
||||
|
||||
void kingIsInCheck();
|
||||
/**
|
||||
* Invoked when a checkmate occurs
|
||||
*/
|
||||
void onKingInMat();
|
||||
|
||||
/**
|
||||
* Invoked when a valid move on the board occurs
|
||||
* @param move the move to be processed
|
||||
*/
|
||||
void onMove(Move move);
|
||||
|
||||
void kingIsInMat();
|
||||
/**
|
||||
* Invoked when a sent move is not allowed
|
||||
* @param move the move to be processed
|
||||
*/
|
||||
void onMoveNotAllowed(Move move);
|
||||
|
||||
/**
|
||||
* Invoked when a pat situation occurs
|
||||
*/
|
||||
void onPatSituation();
|
||||
|
||||
/**
|
||||
* Invoked when it's the player turn
|
||||
* @param color the color of the player who should play
|
||||
*/
|
||||
void onPlayerTurn(Color color);
|
||||
|
||||
/**
|
||||
* Invoked when a pawn should be promoted
|
||||
* @param pieceCoords the coordinates of the pawn
|
||||
*/
|
||||
void onPromotePawn(Coordinate pieceCoords);
|
||||
|
||||
/**
|
||||
* Invoked when a players surrenders
|
||||
* @param coward the player who gave up
|
||||
*/
|
||||
void onSurrender(Color coward);
|
||||
|
||||
/**
|
||||
* Invoked when a player wins (by checkmate or if the other one surrenders)
|
||||
* @param winner
|
||||
*/
|
||||
void onWin(Color winner);
|
||||
|
||||
void patSituation();
|
||||
|
||||
void hasSurrendered(Color color);
|
||||
|
||||
void gameStarted();
|
||||
|
||||
void promotePawn(Coordinate pieceCoords);
|
||||
|
||||
void updateDisplay();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user