The zappy project is a compilation of 3 different projects, a server, a client and an ai.
- Requirements
- Communication
- Installation
- Compilation
- Usage
- GUI Controls
- Protocols
- More Details
- Testing
- Credits
- License
- g++ 20+ is required
- If you have a bug or an issue, please contact us.
G++ 20+ is required Other dependencies : Ogre3D, Catch should be installed automatically if not found
git clone git@github.com:UwUClub/Zappy.git
Use any tools that can clone by HTTPS, use
https://github.com/UwUClub/Zappy.git
./build.sh
or
bash build.sh
mkdir build
cd build
cmake ..
make -j
- Start the server
./zappy_server -p <port> -x <width> -y <height> -n <team> [<team>] [<team>] [<team>] ... -c <nb> -f <freq>
- Start the graphical client
./zappy_gui -p <port> -h <hostname>
- Start the AI
./zappy_ai -p <port> -n <team> -h <hostname>
If everything is working, you should see a window with a map and maybe more.
- Start a netcat client
nc <ip> <port>
You should receive a "WELCOME" message. If you want to connect as a GUI, You are invited to enter GRAPHICAL
. Otherwise, please enter the team name of your AI. Then, you can use the adapted protocol.
By default, the local ip is 127.0.0.1
and the port is 4242
. The default team names are Team1
, Team2
, Team3
and Team4
.
-
Move the camera by pressing right click and moving the mouse.
-
Zoom in and out with the mouse wheel.
-
Press left shift and left click to rotate the camera around a central point (can be moved, see above)
-
Press the space bar to reset the camera.
-
Press left click on a tile or player to select it.
-
Press the escape key to quit the game.
The GUI protocol can be found in the gui_protocol.pdf file at the root of this repository.
In case of bad or unknown command, the server will answer "ko"
can add that to see coverage % in github
* [![codecov](https://codecov.io/gh/UwUClub/Zappy/branch/main/graph/badge.svg)](https://codecov.io/gh/cpp-best-practices/cmake_template)
See Catch2 tutorial
- Valentin Gegoux
- Baptiste Laran
- Mathéo Martin
- Christophe Chhor
- Maxence Labourel
Zappy is developped by the UwUClub for Epitech.