This project is an implementation of the classic Awalé game, a traditional two-player strategy game originating from Africa. The rules for this version of Awalé are based on the description available here.
This repository provides both server and client implementations to enable multiplayer games over a network. It leverages Bazel for building and managing the project. Below are the instructions on how to compile, run, and manage the game components.
- Bazelisk: This project requires Bazelisk, a wrapper for Bazel.
Install Bazelisk by following instructions here.
-
Initialize the build system:
make init
This command refreshes all the compilation commands required by the project.
To compile both the client and server applications, run:
make buildYou can also provide additional arguments using the ARGS variable as follows:
make build ARGS="--some-flag"To run the server on port 1977, use the following command:
make serverThis will create or connect to the database at /tmp/awale.db.
You can launch multiple clients to connect to the server using the following commands:
make client1
make client2
make client3
make client4Each client connects to the server running on 127.0.0.1 (localhost) at port 1977 with their respective usernames and passwords.
- Client 1: Username:
client1, Password:password1 - Client 2: Username:
client2, Password:password2 - Client 3: Username:
client3, Password:password3 - Client 4: Username:
client4, Password:password4
You can also pass additional arguments with ARGS:
make client1 ARGS="--verbose"To launch a standalone instance of the Awalé game, use:
make awaleTo remove all build artifacts and clean the workspace, run:
make clean├── src/
│ ├── client/ # Client-side implementation
│ ├── server/ # Server-side implementation
│ └── awale/ # CLI implementation
├── lib/
│ ├── awale/ #
│ ├── client/ #
│ └── cmds/ #
│ └── display/ #
│ └── server/ #
│ └── socket/ #
│ └── valuable/ #
├── Makefile # Build and run commands using Bazel
└── README.md # Project documentation
- Bazelisk not found: Ensure that Bazelisk is properly installed and available in your system's
PATH. - Server connection issues: Ensure the server is running on the correct IP and port before launching clients.
- Clean build issues: If you encounter build errors, try running
make cleanfollowed bymake build.
This project is open-source and available under the terms of the MIT License.
- KILIAN HOUPEURT
- NADINE HAJJ-HASSAN