Python: Création de Personnages D&D avec Data Classes

Cet exercice a pour but de vous familiariser avec les Data Classes en Python et de comprendre leur utilité en structurant et en manipulant des données. Vous allez créer des personnages pour un jeu de rôle de type Donjons & Dragons (D&D) et apprendre à organiser ces données de manière efficace.

  • Exploration

L'exercice est divisé en plusieurs parties avec une difficulté progressive, allant de l'utilisation de simples variables à l'utilisation de Data Classes. Une étape supplémentaire vous permettra d'ajouter des éléments aléatoires pour rendre vos personnages uniques.

Partie 1 : Utilisation de Variables Séparées

Commencez par créer trois personnages en utilisant des variables séparées pour chaque attribut.

Exemples :

  • Nom : "Thorin"
  • Race : "Nain"
  • Classe : "Guerrier"
  • Points d'expérience : 1200
  • Points de vie : 50
  • Inventaire : ["Hache", "Bouclier", "Potion de soin"]

Étapes à suivre :

  1. Créez les variables pour chaque attribut du premier personnage.
  2. Répétez l'opération pour les deux autres personnages.
  3. Affichez les informations de chaque personnage dans la console.

Astuce : Utilisez des noms de variables distincts pour chaque personnage, par exemple, nom1, race1, classe1, etc.

Partie 2 : Utilisation de Dictionnaires (Dict)

Pour cette partie, vous allez regrouper les attributs de chaque personnage dans un dictionnaire. Cela vous permettra de mieux organiser les données de chaque personnage.

Exemples :

personnage1 = {
    "nom": "Thorin",
    "race": "Nain",
    "classe": "Guerrier",
    "points_xp": 1200,
    "points_vie": 50,
    "inventaire": ["Hache", "Bouclier", "Potion de soin"]
}

Étapes à suivre :

  1. Créez un dictionnaire pour chaque personnage en regroupant les attributs sous forme de paires clé-valeur.
  2. Répétez l'opération pour les deux autres personnages.
  3. Ajoutez chaque dictionnaire à une liste.
  4. Parcourez la liste et affichez les informations de chaque personnage dans la console.

Partie 3 : Utilisation des Data Classes

Dans cette partie, vous allez utiliser des Data Classes pour modéliser vos personnages. Les Data Classes permettent de structurer les données de manière claire et efficace.

Étapes à suivre :

  1. Déclarez une Data Class Personnage avec les attributs suivants : nom, race, classe, points_xp, points_vie, inventaire.
  2. Créez une instance de cette Data Class pour chaque personnage en utilisant les mêmes données que dans les parties précédentes.
  3. Ajoutez chaque instance de personnage à une liste.
  4. Parcourez la liste et affichez les informations de chaque personnage dans la console.

Exemples :

Vous pourriez définir une Data Class comme suit :

from dataclasses import dataclass
from typing import List

@dataclass
class Personnage:
    nom: str
    race: str
    classe: str
    points_xp: int
    points_vie: int
    inventaire: List[str]

Partie 4 : Génération Aléatoire de Personnages

Pour rendre l'exercice plus amusant et réaliste, transformons-le en générant des personnages de manière aléatoire.

Étapes à suivre :

  1. Créez des listes de noms, de races et de classes possibles. Par exemple :

    • Noms : ["Thorin", "Eldar", "Luna", "Aerin", "Grom"]
    • Races : ["Nain", "Elfe", "Humain", "Orc"]
    • Classes : ["Guerrier", "Mage", "Rodeur", "Prêtre"]
    • Items pour l'inventaire : ["Hache", "Épée", "Arc", "Potion de soin", "Bouclier", "Amulette", "Ration", "Torche", "Corde", "Grimoire"]
  2. Pour chaque personnage :

    • Choisissez un nom, une race, et une classe aléatoirement à partir des listes.
    • Générer des points d'expérience (points_xp) aléatoires entre 200 et 900.
    • Générer des points de vie (points_vie) aléatoires entre 10 et 20.
    • Choisissez aléatoirement 5 objets pour l'inventaire.
  3. Créez une instance de la Data Class Personnage avec les valeurs générées.

  4. Ajoutez chaque personnage généré à une liste.

  5. Parcourez la liste et affichez les informations de chaque personnage dans la console.

Bonus : Vous pouvez essayer de rendre les personnages encore plus uniques en ajoutant des caractéristiques supplémentaires, comme un niveau ou des compétences.

Critères d'Évaluation

  • Compréhension de la structuration des données avec des variables simples, des dictionnaires et des Data Classes.
  • Capacité à parcourir et afficher des listes d'objets.
  • Utilisation correcte des fonctions aléatoires pour générer des données.
  • Organisation et clarté du code.

Conclusion

Cet exercice est conçu pour vous montrer l'utilité des Data Classes en Python et pour vous aider à organiser et manipuler les données de manière efficace. En progressant du simple au complexe, vous apprendrez non seulement à utiliser les Data Classes, mais aussi à apprécier leur utilité dans des scénarios réels.

Bonne chance et amusez-vous à créer vos personnages D&D !

Pour aller plus loin