pretty cool

This commit is contained in:
2025-03-31 22:28:08 +02:00
parent 5598d4f5eb
commit 2c6b64fa7d
23 changed files with 363 additions and 24 deletions

View File

@@ -0,0 +1,31 @@
package chess.model;
import chess.model.visitor.PiecePathChecker;
import common.Signal0;
import common.Signal1;
public class Game {
private final ChessBoard board;
public final Signal0 OnRenderUpdate = new Signal0();
public final Signal1<Move> OnMoveRefused = new Signal1<>();
public Game(ChessBoard board) {
this.board = board;
}
public ChessBoard getBoard() {
return board;
}
public void tryMove(Move move) {
boolean valid = new PiecePathChecker(board, move).isValid();
if (!valid) {
this.OnMoveRefused.emit(move);
return;
}
this.board.applyMove(move);
this.OnRenderUpdate.emit();
}
}