The Generic Board Game project, developed with C#, allows users to play various board games, including Tic-Tac-Toe and Connect 4. It provides options for player vs. player, player vs. computer, and computer vs. computer gameplay. The computer opponent utilizes the minimax algorithm with randomization for decision-making.
Currently, the project includes the following games:
- Tic-Tac-Toe
- Connect 4
Players can choose from the following gameplay options:
- Player vs. Player: Two human players can compete against each other.
- Player vs. Computer: A human player can play against the computer opponent.
- Computer vs. Computer: Two computer players can compete against each other (Looks fun so I kept it).
The computer opponent in each game is implemented using the minimax algorithm. It prioritizes winning moves and randomizes its move if there are multiple moves with the same value.
The following dependencies are required to run the Generic Board Game project:
- .NET SDK
- .NET Framework
- C#
Please ensure that you have these dependencies installed before running the project.
To start playing the Generic Board Game project, follow these steps:
- Clone the repository to your local machine.
- Ensure that you have the required dependencies installed (specified in the project documentation).
- Build and run the project using your preferred development environment.
- Select a game from the available options (e.g., Tic-Tac-Toe or Connect 4).
- Enter the player names when prompted. If no name is entered, the program will create default names (e.g., Player 1, Player 2).
- The game will begin, and players can take turns making moves until a winner is determined or a draw occurs.
Contributors can add any game they want by editing the necessary files. We welcome contributions to the Generic Board Game project! If you would like to contribute, please follow these guidelines:
- Fork the repository to your GitHub account.
- Create a new branch for your contribution.
- Make your changes, ensuring adherence to coding standards and best practices.
- Test your changes to ensure they do not introduce any issues or errors.
- Add your info to the Contributors.md file
- Submit a pull request, explaining the changes made and the purpose behind them.
We appreciate their valuable contributions to the project!