Commit 8d95932f authored by Erwan Bousse's avatar Erwan Bousse
Browse files

Simplification et réécriture du README

parent af643f1e
# Simulateur de duels Pokémon
Ce projet permet de simuler des combats de dresseurs du jeu Pokémon.
Ce projet contient une bibliothèque de fonctions et interfaces TypeScript permettant de simuler des combats de dresseurs du jeu **Pokémon**.
Les sources sont organisées en modules (pokemon, player, battle, pokedex) et un fichier principal d'exécution (main).
## Organisation
> Un pokémon est un montre virtuel caractérisé entre-autres par un nom, un nombre de points de vie, une célérité, une puissance d'attaque et une résistance aux coups. Chaque joueur du duel (appelé dresseur) possède une liste de monstres (Pokémons) qui s'affrontent au tour par tour dans une arène. Au début de la partie, chaque joueur fait combattre le premier monstre de sa liste. Le pokémon le plus rapide (possédant la plus grande célérité) frappe alors en premier. Si son adversaire survit (nombre de points de vie positif), il peut à son tour attaquer son adversaire. Lorsque l'un des deux pokémons ne possède plus de points de vie, il est déclaré K.O. Son propriétaire (joueur) le remplace par le deuxième pokémon de sa liste et ainsi de suite.
> Le premier joueur ne possédant plus de pokémon en état de combattre est déclaré perdant.
Les sources de ce projet sont organisées en modules (`pokemon`, `player`, `battle`, `pokedex`).
## Découverte de GitLab
Un fichier principal d'exécution d'exemple est fourni (`main`), qui définit quelques pokémons, quelques dresseurs, et qui lance un combat entre deux dresseurs.
*Dépôt de découverte du système de version Git et de l'environnement GitLab de l'université*
## Fonctionnement
Pour importer ce projet en local :
Les règles de jeu implémentées sont les suivantes :
```shell
git clone https://gitlab.univ-nantes.fr/naomod/software-development-course/pokemonBattle.git
```
- Un pokémon est un montre virtuel caractérisé entre-autres par un nom, un nombre de points de vie, une célérité, une puissance d'attaque et une résistance aux coups. Chaque joueur du duel (appelé dresseur) possède une liste de monstres (Pokémons) qui s'affrontent au tour par tour dans une arène. Au début de la partie, chaque joueur fait combattre le premier monstre de sa liste. Le pokémon le plus rapide (possédant la plus grande célérité) frappe alors en premier. Si son adversaire survit (nombre de points de vie positif), il peut à son tour attaquer son adversaire. Lorsque l'un des deux pokémons ne possède plus de points de vie, il est déclaré K.O. Son propriétaire (joueur) le remplace par le deuxième pokémon de sa liste et ainsi de suite.
- Le premier joueur ne possédant plus de pokémon en état de combattre est déclaré perdant.
## Quelques liens utiles
Pour utiliser la bibliothèque, il suffit de procéder comme montré dans le module `main`, à savoir :
- [Tutoriel git provenant d'OpenClassrooms](https://openclassrooms.com/courses/gerez-vos-codes-source-avec-git)
- [Lien vers le cours magistral (gestion de version)](https://sunye-g.univ-nantes.io/idl/#/4/)
- [Dépôt git de du cours magistral](https://gitlab.univ-nantes.fr/sunye-g/idl)
## Rappel des commandes git les plus courantes
- Récupération d'un projet distant : `git clone "votre adresse"`
- Mise à jour à la dernière version depuis le serveur : `git pull`
- Pour activer le suivi de version d'un nouveau fichier/dossier `git add fichier1 [fichier2 ...]`
- Commit des modifications : `git commit fichier1 [fichier2 ...]`
- pour commit l'ensemble du projet, utiliser l'option `-a`
- pourinclure un message sans passer par l'éditeur de texte : `-m "votre message"`
- Création d'une nouvelle branche de travail : `git checkout -b nomDeBranche`
- Envois des commits sur le serveur : `git push [origin] [branche]`
- Fusion de plusieurs branches (locales ou distantes) : `git merge branche1 branche2`
\ No newline at end of file
1. **Création de dresseurs** : créer quelques enregistrements de type `Player`, chacun avec un nom et une liste de pokémons issus du module `pokedex`.
2. **Déclencher un combat** : Appeler la fonction `battle` fournie par le module du même nom, en lui fournissant deux enregistrements `Player`.
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment