Update README.md
This commit is contained in:
parent
2df0513d89
commit
1446a49df6
|
@ -1,67 +0,0 @@
|
|||
# Roboc
|
||||
|
||||
## Exercice instructions
|
||||
|
||||
Multiplayer maze game over network
|
||||
|
||||
All instructions avaiable in the course
|
||||
_[Apprenez à programmer en Python](https://openclassrooms.com/courses/apprenez-a-programmer-en-python/exercises/181)_
|
||||
, from **Open Classrooms**.
|
||||
|
||||
## Gameplay
|
||||
|
||||
1. run server
|
||||
2. choose a map
|
||||
3. accept client connection
|
||||
4. for each client a new robot is created
|
||||
5. each robot is randomly placed on the map
|
||||
6. when number of connected client is reached, any clients can start the
|
||||
game with the command 'c'
|
||||
7. no new client during the game
|
||||
|
||||
## Usage
|
||||
|
||||
- `server.py`: server script
|
||||
- `client.py`: client script
|
||||
- `configuration.py`: configuration file
|
||||
- `map.py`: map object
|
||||
|
||||
- `readme.md`, you are reading it!
|
||||
- `cartes`: place for map files (ext. `.txt`)
|
||||
|
||||
## Commands
|
||||
|
||||
The robot is controllable by keyboard commands. The following commands
|
||||
must exist:
|
||||
- Q: Quit game
|
||||
- N: move north (up)
|
||||
- E: move east (right)
|
||||
- S: move south (down)
|
||||
- O: move west (left)
|
||||
- Each of the above directions followed by a number allows you to
|
||||
advance several squares (e. g. E3:3 squares to the east)
|
||||
|
||||
## Remarques
|
||||
|
||||
Dans les fonctionnalites attendue, la consigne sur la sauvegarde à été
|
||||
décrites dans 2 consignes qui m'ont semblée floue:
|
||||
> Enregistrer automatiquement chaque partie à chaque coup pour permettre
|
||||
de les continuer plus tard
|
||||
|
||||
> Q qui doit permettre de sauvegarder et quitter la partie en cours
|
||||
|
||||
J'ai choisi d'implementer la sauvegarde par tour, qui sera de fait,
|
||||
réalisée quand le joueur quitte. Les 2 fonctionnalitées sont ainsi
|
||||
respectées.
|
||||
|
||||
## Bonus
|
||||
|
||||
Quelques fonctionnalitées en bonus:
|
||||
|
||||
- contrôle/vérification des cartes, avec quelques cartes «de test», qui
|
||||
ne sont pas jouable
|
||||
- affichage du recap des commandes (aide), permettant d'ajouter
|
||||
d'autres commades utilisateur plus tard
|
||||
- la docstring du fichier `map.py` contient des [DocTests](http://sametmax.com/les-docstrings/),
|
||||
ça ne fait pas partie du cours, mais c'est un outils facile de
|
||||
test/debug que j'utilise et qui reste transparent.
|
|
@ -0,0 +1,46 @@
|
|||
# Roboc
|
||||
|
||||
## Objective of the exercise
|
||||
|
||||
Multiplayer maze game over network
|
||||
|
||||
All instructions avaiable in the course
|
||||
_[Apprenez à programmer en Python](https://openclassrooms.com/courses/apprenez-a-programmer-en-python/exercises/181)_
|
||||
, from **Open Classrooms**.
|
||||
|
||||
## Gameplay / roadmap
|
||||
|
||||
1. [x] run server
|
||||
2. [x] choose a map
|
||||
3. [x] accept client connection
|
||||
4. when number of connected client is reached, any clients can start the
|
||||
game with the command 'PLAY'
|
||||
5. each robot is randomly placed on the map
|
||||
6. play turn by turn
|
||||
7. no new client during the game
|
||||
|
||||
## Files
|
||||
|
||||
- `server.py`: server script
|
||||
- `client.py`: client script
|
||||
- `configuration.py`: constants, variables and function
|
||||
- `map.py`: object providing a navigable map
|
||||
- `connectsocket.py`: socket object providing network
|
||||
- `readme.md`: you are reading it!
|
||||
- `cartes`: place for map files (ext. `.txt`)
|
||||
|
||||
## Commands
|
||||
|
||||
The robot is controllable by keyboard commands. The following commands
|
||||
must exist:
|
||||
- Q: Quit game
|
||||
- N: move north (up)
|
||||
- E: move east (right)
|
||||
- S: move south (down)
|
||||
- O: move west (left)
|
||||
- Each of the above directions followed by a number allows you to
|
||||
advance several squares (e. g. E3:3 squares to the east)
|
||||
|
||||
## Remarques
|
||||
|
||||
## Bonus
|
|
@ -1,68 +0,0 @@
|
|||
# Roboc
|
||||
|
||||
## Consignes
|
||||
|
||||
> Votre mission est de concevoir et développer un petit jeu permettant de
|
||||
contrôler un robot dans un labyrinthe. Ce jeu devra être développé en
|
||||
console pour des raisons d'accessibilité. Je l'ai appelé... Roboc.
|
||||
|
||||
> Le jeu est un labyrinthe formé d'obstacles: des murs qui sont tout
|
||||
simplement là pour vous ralentir, des portes qui peuvent être traversées
|
||||
et au moins un point par lequel on peut quitter le labyrinthe. Si le
|
||||
robot arrive sur ce point, la partie est considérée comme gagnée.
|
||||
|
||||
Pour les consignes détaillées de l'exercice rendez-vous dans le cours
|
||||
_[Apprenez à programmer en Python](https://openclassrooms.com/courses/apprenez-a-programmer-en-python/exercises/180)_
|
||||
d'**Open Classrooms**.
|
||||
|
||||
## Utilisation
|
||||
|
||||
Je n'ai pas utilisé les éléments de base fourni dans l'exercice. Le
|
||||
script contient 4 fichiers et 1 répertoire:
|
||||
|
||||
- `roboc.py`: fichier à lancer
|
||||
- `configuration.py`: contient les constantes/variables de
|
||||
configuration du script, ainsi que les fonctions.
|
||||
- `map.py`: fourni les moyens necessaire a l'utilisation d'un fichier
|
||||
carte. Controle de coherance sur la carte choise, deplace le robo en
|
||||
fonction des commandes du joueur jusqu'en fin de partie.
|
||||
|
||||
- `readme.md`, que vous êtes en train de lire!
|
||||
- `cartes`: répertoire contenant les cartes de jeu (fichier `.txt`)
|
||||
|
||||
## Contrôle du robot
|
||||
|
||||
Le robot est contrôlable grâce à des commandes entrées au clavier. Il
|
||||
doit exister les commandes suivantes :
|
||||
- Q: sauvegarder et quitter la partie en cours
|
||||
- N: déplacer vers le nord (haut de l'écran)
|
||||
- E: déplacer vers l'est (droite de l'écran)
|
||||
- S: déplacer vers le sud (bas de l'écran)
|
||||
- O: déplacer vers l'ouest (gauche de l'écran)
|
||||
- Chacune des directions ci-dessus suivies d'un nombre permet d'avancer
|
||||
de plusieurs cases (ex. E3: 3 cases vers l'est)
|
||||
|
||||
## Remarques
|
||||
|
||||
Dans les fonctionnalites attendue, la consigne sur la sauvegarde à été
|
||||
décrites dans 2 consignes qui m'ont semblée floue:
|
||||
> Enregistrer automatiquement chaque partie à chaque coup pour permettre
|
||||
de les continuer plus tard
|
||||
|
||||
> Q qui doit permettre de sauvegarder et quitter la partie en cours
|
||||
|
||||
J'ai choisi d'implementer la sauvegarde par tour, qui sera de fait,
|
||||
réalisée quand le joueur quitte. Les 2 fonctionnalitées sont ainsi
|
||||
respectées.
|
||||
|
||||
## Bonus
|
||||
|
||||
Quelques fonctionnalitées en bonus:
|
||||
|
||||
- contrôle/vérification des cartes, avec quelques cartes «de test», qui
|
||||
ne sont pas jouable
|
||||
- affichage du recap des commandes (aide), permettant d'ajouter
|
||||
d'autres commades utilisateur plus tard
|
||||
- la docstring du fichier `map.py` contient des [DocTests](http://sametmax.com/les-docstrings/),
|
||||
ça ne fait pas partie du cours, mais c'est un outils facile de
|
||||
test/debug que j'utilise et qui reste transparent.
|
Loading…
Reference in New Issue