This repository has been archived on 2022-05-02. You can view files and clone it, but cannot push or open issues or pull requests.
Ecosysteme/README.md

56 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# [Écosystème](https://defelice.up8.site/poofichiers/projetEco.pdf)
<details><summary>Informations UP8</summary>
| | |
|--------------------:|---------------------------------|
| Nom | Anri KENNEL |
| Classe | L2-X |
| Numéro d'étudiant | 20010664 |
| Mail | anri.kennel@etud.univ-paris8.fr |
| Cycle universitaire | 2021-2022 |
| Module | Programmation orientée objet |
</details>
## But
Programme qui simule un univers cohérent composé de quelques animaux et végétaux.
## Description
![](img/schema.svg)
- Animaux placés aléatoirement dans l'univers au début de la simulation
- Déplacement des animaux d'une case par tour (soit 9 possibilités)
<!-- - Interface texte avec un repère style echequier -->
## Utilisation
### Récupération et compilation
Cloner le programme avec soit :
- `git clone git@code.up8.edu:Anri/ecosyteme.git`
- `git clone https://git.kennel.ml/Paris8/Ecosyteme.git`
Une fois dans le projet, pour compiler le programme, utilisez `make`.
### Utilisation
- `./ecosyteme` lance le programme avec les paramètres par défaut, soit :
- Un univers 5x6
- 9 moutons
- 4 loups
- `./ecosysteme m n M L` avec :
- `m` la longueur et `n` la largeur de l'univers
- `M` le nombre de moutons
- `L` le nombre de loups
<!-- - `./ecosyteme -b m n [e]` (ou `./ecosyteme --benchmark m n [e]`) avec :
- `-b` ou `--benchmark` permet de lancer plusieurs univers différents en même temps et ainsi calculer les meilleurs paramètres pour une taille d'univers donné
- `e` est un argument faculatatif et permet de forcer le nombre d'échantillon que le programme va lancer pour déterminer les meilleurs paramètres. -->
## Améliorations
- [ ] Possibilité de sauvegarder/charger un univers existant
- [ ] Possibilité de mettre la simulation en pause (et de la reprendre)
- [ ] Déplacement des animaux intelligent
- [ ] Rythme de reproduction (louve ne peut faire un petit quune fois tous les n tours)
- [ ] Trouve les meilleurs paramètres pour faire durer lunivers le plus longtemps possible
- [ ] Lancer plusieurs simulation en même temps
---
### Infos
- Testé avec `g++ (Debian 10.2.1-6) 10.2.1 20210110` et `g++ (GCC) 11.2.0`.
- Débuggé avec `valgrind-3.16.1` et `valgrind-3.18.1` (arguments utilisés : `--leak-check=full --show-leak-kinds=all --track-origins=yes -s`).
- J'ai essayé de suivre les [bonne pratiques détaillés dans ce document](https://github.com/cpp-best-practices/cppbestpractices/blob/master/00-Table_of_Contents.md).