Coder un jeux de rôle en C#
Pour Coder un jeux de rôle en C#, c’est par ici.
Découvrez comment Coder un jeux de rôle en C# pour vous amuser et développer vos compétences.
Pour créer ce petit jeux de rôles, il faut organiser son code sous forme de classes. Cela permet de séparer les taches et permet à chacune de s’occuper seulement de ses méthodes. Ainsi, le code est plus simple à maintenir et permet une meilleure visibilité.
Donc, on commence par la Classe Entite qui est la classe de départ. Elle définit les attributs de base des protagonistes. Puis on lui adjoint les méthodes Jouer() et PerdreDesPointsDeVie() qui permettent d’agir. Pour éviter d’avoir une Entite avec des points de vie négatifs, on bloque à zéro via une condition. Ainsi on attribue des dégâts via la méthode Randon.Next(). Avec la méthode Console.WriteLine(), on affiche les différents résultats.
Ensuite, on crée la classe Monstre et la classe Personnage qui héritent toutes les deux de la classe Entite. Elle récupère ainsi le constructeur. Donc pour la classe Monstre, on se contente juste d’une méthode ToString() pour décrire le statut de l’ennemi tandis que la classe Personnage en récupère plusieurs. Ainsi, elle récupère deux attributs, niveau et expérience qui ont deux méthodes liés. En effet, notre héros gagne de l’expérience et va grimper en compétences avec la méthode GagnerExperience() qui est lié à la méthode ExperienceRequise() qui va définir les différents caps pour les niveaux. Cette méthode fait appel à Math.Round() qui renvoi l’entier le plus proche et Math.Pow() qui fournit l’exposant de la valeur donnée. Et toujours une méthode ToString() pour décrire le statut du héros.
Pour finir, on crée les classes Voleur, Archer et Guerrier qui définissent les attributs du Personnage, c’est votre héros. Comme ils héritent de Personnage, ils récupèrent les attributs et méthodes. Idéalement, on les met dans un fichier séparés chacun pour une meilleure optimisation du code par la suite.
Finalement, on arrive sur la classe la plus importante : MaitreDeJeu, c’est elle qui donne le sens à votre application. Elle n’as que deux méthodes mais des plus importantes. Une première Jouer() permet de faire un combat entre votre héros et le monstre tiré d’une liste aléatoire. Il suffit d’instancier une liste de monstres, d’en tirer un aléatoire avec Random() et de définir sa position avec Count et votre premier combat apparait. Avec une condition lié aux points de vie, vous enchainez les combats tant que vous êtes vivant. Ensuite, la méthode Menu() va permettre de choisir son personnage avec un switch case et vous récupérez les attributs du héros dans la classe choisie. On se sert de Console.Readline() pour récupérer la valeur tapé sur le clavier et de Console.Readkey() si on l’on veut afficher les entrées.
Pour faciliter la lecture sur la console, on colorie le texte avec Console.ForegroundColor, cela donne une meilleure lisibilité.
Voila, vous savez tout ou presque. Après, libre à vous d’adapter le code selon vos envies, de le modifier, de le complexifier. Rien ne vous empêche de rajouter de nouvelles méthodes, par exemple une guérison via une potion de soins, des événements scriptés tel que des concours de devinette ou de lancer de dés. L’architecture est mise en place, après c’est un jeu de recherche et d’apprentissage que d’en rajouter toujours plus.
Il devient amusant de changer les événements et d’imaginer toute une aventure rolistique en C# dans lequel, ce sera vous le héros et en même temps le maitre de jeu.
Pour en savoir plus sur le C#, je ne saurais vous conseiller d’aller sur le site officiel de Microsoft qui est le développeur de ce langage. C’est une mine d’information et qui possède une communauté fort active.