No project description provided
Project description
amazinggame
Jeu de course dans un labyrinthe, avec une phase d'exploration puis une phase de course.
Principe du jeu
Chaque joueur pilote un agent dans un labyrinthe.
- Exploration : pendant 3 minutes, les joueurs découvrent le labyrinthe.
- Course : après l'exploration, les joueurs repartent du début et tentent d'atteindre l'arrivée.
Paramètres principaux :
- Durée exploration :
180secondes - Durée course :
60secondes - Taille du labyrinthe :
15x15
Le jeu se termine quand :
- un joueur gagne la course, ou
- le temps maximal est atteint.
Règles de score
Le score depend principalement :
- du nombre de cases visitées pendant l'exploration,
- d'un bonus lié au temps de course,
- d'un bonus de fin pour un joueur qui termine la course.
Commandes joueur (protocole)
Le client joueur envoie des lignes texte au serveur. Commandes supportées :
ACCELERATE: accélère de 0.1DECELERATE: décélère de 0.1 (ne descend pas en dessous de 0)TURN_RIGHT: tourne de 10° à droiteTURN_LEFT: tourne de 10° à gaucheGET_SENSORS: récupère les infos des capteurs (cf ci-après)
Réponses typiques :
OK: commande acceptéeKO: commande invalideBLOCKED: commande reçue mais le joueur ne peut pas agir en ce moment
Blocages
| Cause | Durée | Effet |
|---|---|---|
| Trop d'erreurs de commandes (> 3) | Permanent | Joueur déconnecté par le serveur |
| Collision avec un mur | 10 secondes | Le joueur reprend automatiquement après la pause |
Pendant un blocage temporaire (mur), les commandes reçoivent BLOCKED en réponse mais le joueur n'est pas déconnecté et reprend normalement à la fin de la pause.
Format des capteurs (GET_SENSORS)
La réponse est une ligne avec:
time exploration x y orientation speed front right rear left
avec (les nombres à virgules ont deux décimales) :
timeétant la date en secondes depuis le début du jeu (à virgule)explorationvaut1en phase exploration, sinon0x/yposition du joueur (à virgule)orientationen degrés, sens trigonométriquespeedvitesse courante en largeur de cellule par seconde (à virgule)front/right/rear/leftdistances aux murs (à virgule)
Installation et pre-requis
- Python
>= 3.14 uv
Installation locale :
uv sync
Commandes utiles
Lancer un serveur de jeu
uv run python -m amazinggame.game.server
Options principales :
-a,--address(défaut:localhost)-p,--port(défaut:16210)-t,--timeouttemps d'attente pour laisser entrer d'autres joueurs-f,--fastmode rapide
Exemple:
uv run python -m amazinggame.game.server -p 16210 -t 10
Lancer le viewer (spectateur graphique)
uv run python -m amazinggame.viewer -p 16210
Options:
-a,--address-p,--port-s,--small-window
Lancer un client d'exemple C
Compilation :
gcc -Wall -o sample_player_client sample_player_client.c
Execution:
./sample_player_client 127.0.0.1 16210 MonBot
Scenario de competition local
Le script competition.sh lance un scenario complet (serveur, viewer, bots de test) :
bash competition.sh
Qualité et tests
Exécuter la suite de vérification complète :
prek run --all-files
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file amazinggame-0.2.0.tar.gz.
File metadata
- Download URL: amazinggame-0.2.0.tar.gz
- Upload date:
- Size: 351.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a79d770fa53f33a7bcae8f2357bd53016feef2f9bd887369b600e59236c2138
|
|
| MD5 |
f5eb72f5b0d49a1e38f7c2476fa452d7
|
|
| BLAKE2b-256 |
b304a3b90da2925772377960104f9baf2fdc1ab9ac8666974f8933678fc1c79f
|
File details
Details for the file amazinggame-0.2.0-py3-none-any.whl.
File metadata
- Download URL: amazinggame-0.2.0-py3-none-any.whl
- Upload date:
- Size: 358.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f18009a03ad77d2d383c3bfee3b40358f0c8b0c2a47eec4ffa4534d391cd1b22
|
|
| MD5 |
ce04babead613b038e7fa0d6dba76877
|
|
| BLAKE2b-256 |
ecb768310ef38245361c054ffd4bf48841967d196ef9c5fdebb16a95f0591c17
|