Chess / Tic-Tac-Toe Engine — Simple#
Problem statement (interviewer prompt)
Design the model for a chess game engine + UI: board, pieces, legal-move generation per piece type, special moves (castling, en passant, promotion), check / checkmate / stalemate detection, move history with undo, and PGN import/export. Optional: AI player.
classDiagram
class Game
class Board
class Piece
class Move
class Player
class Rules
Game *-- Board
Game *-- "many" Player
Board *-- "many" Piece
Game --> Move
Game --> Rules