- Classes:
- Cell: The board consists of a matrix of Cells. A Cell is a class used to store any object value.
- Player: Houses player information with private variables like name, id, score, past moves.
- Score: Maintains scores of the players. Statistics include the number of wins, loses, and draws. Can be extended to add more statistics.
- Team: Class to hold team information, list of players with manipulation functions.
- Abstract Classes:
- Board: Elements of the board like board dimensions, board layout, count of players, game pieces. Functions to set board pieces, game moves, resetting the board, printing the board on the terminal.
- Engine: The class which houses the main game loop. Used to create the game board, add players, teams, while keeping track of the overall scores.
- Piece: Abstract class to hold functions related to getting internal and display value for each piece (game piece).
- Interfaces:
- Move: Interface to represent a player’s move. For example placing a piece in tic tac toe, or a castle move in chess.
- Turn: Interface to hold functions for handling turn based games.
Built on base code from Reusable-Board-Game-Structure
- Showndarya Madhavan - [email protected]
- Prithviraj Khelkar - [email protected]