Reversi is a classic strategy board game played on an 8x8 board. This project is an implementation of Reversi using the client-server architecture, with communication handled through TCP/IP. The game is developed in C and C++, incorporating various technologies to enhance the gaming experience.
The Reversi game project utilizes the following technologies:
- SQLite: Used to store and manage a ranking of the top N best players.
- Simple and Fast Multimedia Library (SFML): Employed for the user interface, providing graphics and interactive elements.
- POSIX Threads (pthreads): Enables concurrent execution by creating a separate thread for each game, allowing multiple games to run in parallel.
The Reversi game project includes the following features:
- Client-Server Architecture: The game employs a client-server model, with communication handled over TCP/IP. This allows multiple clients to connect to the server and play against each other.
- Play Against the Computer: If a player leaves the game, the remaining player has the option to continue playing against the computer. The computer player utilizes the minimax algorithm to determine the best move, providing a challenging opponent.
- Leaderboard: After winning a game, players have the opportunity to save their name for the leaderboard. This adds a competitive element to the game, allowing players to track their progress and compare their performance against others.
For more detailed information, please refer to the project's documentation.
Feel free to explore and enjoy the Reversi game! If you have any questions or feedback, please don't hesitate to reach out.