- Abstract piece object w/ abstract IsLegal method
- Inherited children w/ unique IsLegal methods for the piece types (King, Queen, Rook, Bishop, Knight, Pawn)
- Board object that inherits List w/ methods such as: find and exists
- Arrow keys based movement and selection system
- Check and checkmate
- Stalemate and insufficient material
- Special moves (en passant, promotion, castling)
- Threefold and fivefold repetition
- Fifty and seventy-five move rule
- Mutual draw agreement and resignation
Key | Function |
---|---|
Up Arrow | Move selector up |
Down Arrow | Move selector down |
Left Arrow | Move selector left |
Right Arrow | Move selector right |
Enter | Select |
Escape | Unselect |
Developed alongside Matthew Romano