To run, do:
ruby chess_game.rb
Features:
- AI opponent
- Visual UI
- Keyboard controls
- Castling
- Pawn promotion
- En passant
Structures include:
- Piece class inheritance
- Extendable piece-movement modules like Slideable and Steppable
- Polymorphic player classes for human and AI players