Loading...
Based on the requirements and use cases, identify the main objects of the system and analyze how they interact and relate to each other...
Player: Stores identity.
Members: String name, PieceType piece.
Board: Manages the grid state.
Methods: initializeBoard(), isFull(), applyMove(int row, int col, PieceType p), getPieceAt(int row, int col).
Game: The controller.
Methods: startGame(), makeMove(int row, int col), switchTurn(), checkWinner().
Explain design tradeoffs you considered. Check and explain whether your design adheres to SOLID principles. Explain how your design can handle changes in scale and whether it would be easy to extend with new functionalities. Identify areas for future improvement...