Boss : Mini Farming Simulator¶
On arrive maintenant à un combat de boss intermédiaire.
Ce boss n’est pas là pour être difficile, mais pour vous forcer à raisonner en termes de système et de bons objets, avant d’attaquer le gros projet final.
Le Mini Farming Simulator¶
Vous allez programmer une mini simulation de ferme, en console, et orientée objet.
Le jeu se déroule jour par jour :
- vous plantez des cultures
- elles poussent avec le temps
- vous récoltez quand elles sont mûres
- vous gagnez de l’argent
Objectif : atteindre une certaine somme (par exemple 100 pièces).
Les cultures¶
Il existe 3 types de plantes, chacune avec un comportement différent.
🌽 Maïs¶
- pousse rapidement
- à la récolte, a une chance de doubler le gain
🌳 Pommier¶
- met un peu de temps à pousser
- ne disparaît pas après la récolte
- continue de produire indéfiniment
🍄 Truffe¶
- pousse lentement
- se vend beaucoup plus cher
Toutes les plantes ne se comportent pas pareil :
c’est exactement pour ça qu’on va utiliser la programmation orientée objet.
Le temps¶
- Le jeu est découpé en jours
- À la fin de chaque jour :
- toutes les plantes poussent
- Une plante est mûre lorsqu’elle a suffisamment poussé
- Lors d’une récolte, toutes les plantes mûres sont récoltées d’un coup
Exemple d’exécution¶
=== Mini Farming Simulator ===
Jour : 1
Pièces : 0 / 100
Aucune plante en culture.
Actions :
1 : Planter du maïs
2 : Planter un pommier
3 : Planter une truffe
4 : Récolter toutes les plantes mûres
5 : Attendre
6 : Quitter
Action : 2
Vous plantez : Pommier
=== Mini Farming Simulator ===
Jour : 2
Pièces : 0 / 100
Cultures en cours :
- Pommier (âge 1/3)
Actions :
1 : Planter du maïs
2 : Planter un pommier
3 : Planter une truffe
4 : Récolter toutes les plantes mûres
5 : Attendre
6 : Quitter
Action : 1
Vous plantez : Maïs
=== Mini Farming Simulator ===
Jour : 3
Pièces : 0 / 100
Cultures en cours :
- Pommier (âge 2/3)
- Maïs (âge 1/2)
Actions :
1 : Planter du maïs
2 : Planter un pommier
3 : Planter une truffe
4 : Récolter toutes les plantes mûres
5 : Attendre
6 : Quitter
Action : 3
Vous plantez : Truffe
=== Mini Farming Simulator ===
Jour : 4
Pièces : 0 / 100
Cultures en cours :
- Pommier (mûre)
- Maïs (mûre)
- Truffe (âge 1/5)
Actions :
1 : Planter du maïs
2 : Planter un pommier
3 : Planter une truffe
4 : Récolter toutes les plantes mûres
5 : Attendre
6 : Quitter
Action : 4
Vous récoltez le Pommier : +6 pièces. Il continue de produire.
Vous récoltez Maïs : +5 pièces.
Total de la récolte : +11 pièces.
=== Mini Farming Simulator ===
Jour : 5
Pièces : 11 / 100
Cultures en cours :
- Pommier (âge 0/3)
- Truffe (âge 2/5)
Actions :
1 : Planter du maïs
2 : Planter un pommier
3 : Planter une truffe
4 : Récolter toutes les plantes mûres
5 : Attendre
6 : Quitter
Cultures en cours :
- Pommier (âge 0/3)
- Truffe (âge 2/5)
Contraintes importantes¶
- Le programme doit utiliser la programmation orientée objet
- Chaque plante doit être un objet
- Les différentes plantes doivent partager une base commune
- Les comportements spécifiques doivent être définis dans les bonnes classes
- Plusieurs plantes doivent pouvoir pousser en parallèle
Ce projet est volontairement simple en apparence.
L’objectif n’est pas de faire un jeu réaliste, mais un système propre et bien structuré.
Ce que ce boss vous apprend¶
Si vous réussissez ce boss, vous savez :
- modéliser un système avec plusieurs entités
- utiliser l’héritage de manière naturelle
- faire évoluer un état dans le temps
- faire coopérer plusieurs objets
- éviter les structures artificielles
C’est une excellente préparation pour le projet final.
Indices¶
Si vous bloquez, voici quelques pistes.
Indice 1
Créez une classe de base pour représenter une plante, avec ce qui est commun à toutes les cultures.
Indice 2
Chaque type de plante doit redéfinir uniquement ce qui change à la récolte.
Indice 3
Le jeu lui-même peut rester très simple : une boucle principale, une liste de plantes, et une gestion des jours.
Bonus (facultatif)¶
Si vous êtes à l’aise, vous pouvez :
- ajouter une quatrième plante avec une règle originale
- ou encore rajouter une chance aux plantes de mourir si elles ne sont pas bien arrosées, avec un système d'arrosage manuel ou automatique pour régler ça
Conclusion¶
Ce boss est une mise en jambe sérieuse :
- pas trop complexe
- mais suffisamment riche pour justifier la POO
Prenez le temps de :
- relire votre code
- vérifier que chaque classe a une responsabilité claire
- qu'il y a le minimum de répétition de code entre les différentes classes
Quand vous êtes prêt…
→ Direction le boss final.