A fully-featured implementation of the classic Reversi board game in LabVIEW, featuring both local play and online multiplayer capabilities.
- Classic Reversi/Othello gameplay on an 8x8 board
- Player vs. Computer mode with AI opponent
- AI implemented using minimax algorithm with heuristic evaluation
- Multiple difficulty levels via search depth
- Online multiplayer mode (client-server architecture)
- Beautiful graphical interface
The project is organized into the following components:
main.vi- Main game interface for local playclient.vi- Client interface for online playserver.vi- Server application for hosting online gamesonline(client1st).vi- Online game where client moves firstonline(server1st).vi- Online game where server moves first
availablePlaces.vi- Identifies valid move locationscountResult.vi- Tallies the scoreheuristic.vi- Evaluates board positions for AIisEnd.vi- Determines if the game has endedminimax.vi- AI decision algorithmrandomMove.vi- Random move generatortakeStep.vi- Executes a game move
canBePlaced.vi- Verifies if a piece can be placed at a positioninitialize(picture).vi- Sets up the initial boardputPiece(picture).vi- Places a piece on the board
- LabVIEW 2022 or later
- TCP/IP connectivity for online play
- Open
othello.lvprojin LabVIEW - Run
main.vito play locally or:- Run
server.vion the host machine - Run
client.vion the connecting machine
- Run
Reversi (also known as Othello) is played on an 8×8 board with discs that are black on one side and white on the other.
- Players take turns placing discs on the board with their assigned color facing up
- To make a valid move, a player must place a disc such that it creates a straight line (horizontal, vertical, or diagonal) between the newly placed disc and another of their discs, with one or more of the opponent's discs in between
- All opponent's discs that are in this straight line are flipped to the current player's color
- If a player cannot make a valid move, their turn is skipped
- The game ends when neither player can make a valid move
- The player with the most discs of their color on the board wins
This project uses LabVIEW's native libraries for GUI rendering and TCP/IP communication for networking functionality.