-
✅
Position- ✅
__construct() - ✅
getRow() - ✅
getColumn() - ✅
equals() - ✅
toKey() - ✅
fromKey()
- ✅
-
✅
Move- ✅
__construct() - ✅
getFrom() - ✅
getTo()
- ✅
-
✅
Board- ✅
placePiece() - ✅
getPieceAt() - ✅
hasPieceAt() - ✅
removePieceAt() - ✅
movePiece() - ✅
isPathClear() - ✅
getPieces() - ✅
getKingPosition() - ✅
render()
- ✅
-
✅
Game- ✅
__construct() - ✅
start() - ✅
getBoard() - ✅
getCurrentPlayer() - ✅
play() - ✅
isCheck()(méthode présente, non branchée dansplay()) - ✅
setupPieces()(privée) - ✅
switchPlayer()(privée)
- ✅
-
✅
Piece- ✅
__construct() - ✅
getColor() - ✅
getPosition() - ✅
setPosition() - ✅
getType() - ✅
render() - ✅
canMove() - ✅
isValidMovementShape() - ✅
canCapture()(protégée, non utilisée par le pion pour les prises en diagonale)
- ✅
-
✅
King- ✅
isValidMovementShape()
- ✅
-
✅
Queen- ✅
isValidMovementShape()
- ✅
-
✅
Rook- ✅
isValidMovementShape()
- ✅
-
✅
Bishop- ✅
isValidMovementShape()(forme de déplacement à revoir : actuellement identique à la tour)
- ✅
-
✅
Knight- ✅
isValidMovementShape()
- ✅
-
✅
Pawn- ✅
isValidMovementShape()
- ✅
- ✅
PieceFactory- ✅
create()
- ✅
-
✅
Renderable- ✅
render()
- ✅
-
✅
PieceColor- ✅
WHITE - ✅
BLACK - ✅
opposite()
- ✅
-
✅
PieceType- ✅
KING - ✅
QUEEN - ✅
ROOK - ✅
BISHOP - ✅
KNIGHT - ✅
PAWN
- ✅
- ✅
ChessException - ✅
InvalidMoveException - ✅
NoPieceException - ✅
WrongTurnException - ✅
OccupiedByAllyException
- ❌ Roque
- ❌ Promotion du pion
- ❌ Prise en passant
- ❌ Interdiction de mettre son propre roi en échec
- ❌ Échec et mat
- ❌ Pat
- ❌ Historique complet des coups
- ❌ Tests automatisés
- ✅ Autre bonus : autoloader maison (
index.php), scénario de démo console, Docker /taskfile.yml, analyse PHPStan niveau 8