BTS SIOBTS SIO 1 : B2 - Développement (SLAM)

Projet Fil Rouge : Création d'un jeu 'FoxMon' (Type Pokémon)

C#, Projet, POO, Héritage, Polymorphisme, Console, Pokemon

Projet fil rouge : FoxMon

Le but de ce projet est de créer un jeu console, en C#, inspiré de Pokémon, dont toutes les créatures sont des renards : les FoxMons. Le projet s'étale sur plusieurs séances. On avance dans l'ordre : la carte, le bestiaire, l'héritage, les attaques, les objets, les dresseurs, les dégâts, l'expérience, puis la sauvegarde.

Organisation des fichiers. Chaque classe a son propre fichier, et toutes partagent le même namespace FoxMon.

FoxMon/
  Program.cs
  Carte.cs
  Dresseur.cs

Les classes du même namespace se voient sans import supplémentaire. Program.cs contient Main.

1. La carte et le dresseur

La région est une grille. . est un chemin, # un mur, * des hautes herbes. Le dresseur est dessiné par un @.

Carte de test : largeur 20, hauteur 10. Apparition conseillée : X = 2, Y = 2, une case ..

####################
#.........*....*...#
#..####....####..*.#
#.....*.....*......#
#####..####..####..#
#....*....#...*....#
#......####........#
#....#......#......#
#..*.........*.....#
####################

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.

2. Le bestiaire et le combat

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.

3. L'héritage

Les if sur le type se regroupent dans des classes.

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.

4. Les attaques, lues dans un CSV

Un FoxMon connaît jusqu'à 4 attaques. On ne les écrit pas une par une dans le code : elles viennent d'un fichier.

Nom,Type,Puissance,Precision
Charge,Normal,40,100
Crocs Feu,Feu,65,95
Pistolet a O,Eau,40,100
Tranch'Herbe,Plante,55,95

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.

5. Objets et capture

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.

6. Les dresseurs sur la carte

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.

7. Dégâts, types, critiques

Table utilisée à partir de cette séance. Le type de l'attaque est comparé au type du défenseur.

Attaque contre défenseurMultiplicateur
Feu contre Plante, Plante contre Eau, Eau contre Feu2,0
Sens inverse (Feu contre Eau, Eau contre Plante, Plante contre Feu)0,5
Même type, ou type Normal1,0

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.

8. Expérience, évolution, grande carte

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.

9. Sauvegarde

Choisir un exercice

Cliquer sur un exercice de la liste pour afficher son sujet.

10. Ce qu'on rend

Le dossier FoxMon, qui compile, avec un fichier par classe dans le namespace FoxMon :

  • la carte de test, le dresseur qui ne traverse pas les #, la boucle qui efface l'écran ;
  • RenardFeu, RenardEau, RenardPlante, l'équipe limitée à 6 ;
  • attaques.csv et le chargement (4 attaques, Crocs Feu à 65) ;
  • la formule de dégâts, avec les trois contrôles (130, 32 et 40) ;
  • la capture p = 0,175 sur l'exemple 10/20, interdite contre un dresseur ;
  • la sauvegarde JSON qu'on recharge après avoir quitté.

Placer en tête de Program.cs un commentaire avec son nom et sa classe. Une fois que ce dossier tourne, et seulement alors, l'étape suivante consiste à porter l'affichage vers WinForms, WPF ou MonoGame. Le métier (dégâts, capture, sauvegarde) ne se réécrit pas dans les boutons.