A GUI-equipped, Othello/Reversi game made in Python3 using the pygame library. Featuring two-player as well as Play with Computer modes.
Othello is a board-game played on a 8x8 board, with 64 discs that are black on one side and white on the other. Each player gets 32 such discs, out of which 2 from each player are kept on the board in the following manner:
A move consists of "outflanking" your opponent's disc(s), then flipping the "outflanked" disc(s) to your color. To outflank means, if your disc is kept on square X, and you have another disc on square Y, such that:
- X and Y lie on the same row, or
- X and Y lie on the same column, or
- X and Y lie on the same diagonal,
If any one (or more) of the above is the case while playing, then the Opponent's discs between X and Y get flipped to your color.
Example:
Here White disc A was already present on the board, after placing White disc B, the row of Black discs between White disc A and B got outflanked,
And thus the outflanked Black discs flipped to White.
For a more comprehensive explanation of the game rules, check out this link.
Two players can play the game, alternating their turns.
Play with the computer! It makes use of the minimax algorithm with alpha-beta pruning.
Currently the algorithm makes use of the following heuristics for a position's evaluation:
- Coin parity
- Mobility
- Corner Values
- Download the source code. (Either clone the repository or download the whole code from GitHub)
- Make sure to install Python3 on your Computer along with
pip. (Python3.10+ is required) - Open your terminal, navigate to
~/PYTHON-BEGINNER-PROJECTS/projects/Othelloand type the command:pip install -r requirements - Navigate to the
srcdirectory, run themain.pyfile and play the game!
P.S. You can change color modes using the 'L' key!


