private static Heros FaireCombat(Heros heros, Monstre monstre) { return(heros); }
private static void FaireUnePartie() { Jeu jeu = new Jeu(); Equipement equipement = new Equipement(); Monstre monstre = new Monstre(); int error; string[] personnage = new string[2]; string[] salle = new string[2]; string nomHeros = ""; int ptsVieHeros; int ptsAttaqueHeros; int ptsDefenseHeros; string classeHeros = ""; int nbrPotionHeros; int ptsManaHeros; int lanceDe; int evenement; carte carteActuelle; List <string> equipementTrouve = new List <string>(); if (!jeu.ChargerFichier(FICHIER_CARTES)) { Console.WriteLine("Le fichier carte est manquant"); Console.Write("Appuyez une touche pour continuer..."); Console.ReadKey(); } if (!monstre.ChargerFichier(FICHIER_MONSTRES)) { Console.WriteLine("Le fichier monstre est manquant"); Console.Write("Appuyez une touche pour continuer..."); Console.ReadKey(); } if (!equipement.ChargerFichier(FICHIER_EQUIPEMENTS)) { Console.WriteLine("Le fichier equipement est manquant"); Console.Write("Appuyez une touche pour continuer..."); Console.ReadKey(); } personnage = jeu.CreerPersonnage(); classeHeros = personnage[0]; nomHeros = personnage[1]; nbrPotionHeros = 2; if (classeHeros == "Guerrier") { ptsVieHeros = 200; ptsManaHeros = 100; ptsAttaqueHeros = 5; ptsDefenseHeros = 4; } else if (classeHeros == "Magicien") { ptsVieHeros = 100; ptsManaHeros = 200; ptsAttaqueHeros = 3; ptsDefenseHeros = 6; } else { Console.WriteLine("Erreure lors de la création du personnage."); Console.Write("Appuyez une touche pour continuer..."); Console.ReadKey(); return; } Heros heros = new Heros(nomHeros, ptsVieHeros, ptsAttaqueHeros, ptsDefenseHeros, classeHeros, ptsManaHeros, nbrPotionHeros); while (!jeu.gameOver) { Console.Clear(); heros.AfficherInfo(); jeu.AfficherMenuJeu(); // TODO: Fonction vide pour l'instant lanceDe = jeu.LancerDes(NBR_DE_FACES_SUR_DE, true); salle = jeu.Avancer(lanceDe); carteActuelle.typeCase = salle[0]; carteActuelle.id = int.Parse(salle[1]); Console.WriteLine("*****************************************************"); Console.WriteLine($"\nVous vous aventurez dans la salle #{jeu.caseActuelle}"); Console.WriteLine("Découvrons ce qu'elle contient..."); Console.ReadKey(); switch (carteActuelle.typeCase) { case "vide": Console.WriteLine("*****************************************************"); Console.Write("Soulagement, la pièce vide..."); Console.ReadKey(); break; case "coffre": Console.WriteLine("*****************************************************"); Console.Write("Que de chance! Un coffre... Ouvrez le..."); Console.ReadKey(); equipementTrouve = equipement.OuvrirCoffre(carteActuelle.id); heros.Equiper(equipementTrouve); Console.ReadKey(); break; case "monstre": Console.WriteLine("*****************************************************"); Console.WriteLine("Oh non! Un monstre!"); // TODO: Améliorer texte Console.Write("Préparez-vous au combat..."); Console.ReadKey(); monstre.CreerMonstre(carteActuelle.id); heros = jeu.Combat(heros, monstre); if (heros.PtsVie <= 0) { Console.WriteLine("Vous etes mort!"); // TODO: Améliorer texte Console.ReadKey(); jeu.gameOver = true; } Console.ReadKey(); break; case "sortie": Console.Write("Sortie!"); Console.ReadKey(); jeu.gameOver = true; break; default: break; } } }
public Heros Combat(Heros heros, Monstre monstre) { string choix; /* heros.PtsVie = 10; // TODO - Remove, for short combat * heros.PtsMana = 10; // TODO - Remove, for short combat */ while (monstre.PtsVie > 0 && heros.PtsVie > 0) { Console.Clear(); Console.WriteLine("*****************************************************"); Console.WriteLine(" COMBAT"); heros.AfficherInfo(); monstre.AfficherInfo(); int ptsDegats; AfficherMenuCombat(); choix = Console.ReadLine(); switch (choix) { case "1": heros.ModeDefense = false; Console.WriteLine("*****************************************************"); Console.WriteLine(" 1) Attaquer standard"); Console.WriteLine($" 2) Attaque spéciale (Cout: {heros.CoutAttaqueMagique} points de mana)"); Console.Write(" Entrez-votre choix: "); choix = Console.ReadLine(); switch (choix) { case "1": if (monstre.ModeDefense) { ptsDegats = heros.PtsAttaque - monstre.PtsDefense; } else { ptsDegats = heros.PtsAttaque; } break; case "2": if (heros.PtsMana >= heros.CoutAttaqueMagique) { if (monstre.ModeDefense) { ptsDegats = heros.PtsAttaqueMagique - monstre.PtsDefense; } else { ptsDegats = heros.PtsAttaqueMagique; } heros.AttaqueSpeciale(); } else { Console.WriteLine($"{heros.Nom} n'a pas assez de points de mana."); ptsDegats = 0; } break; default: AfficherChoixInvalide(); ptsDegats = 0; break; } if (ptsDegats < 0) { ptsDegats = 0; } monstre.SubirDegats(ptsDegats); Console.WriteLine($"\n{heros.Nom} attaque et fait {ptsDegats} de dégats à {monstre.Nom}"); break; case "2": heros.ModeDefense = true; Console.WriteLine($"\n{heros.Nom} se prépare à se défendre."); break; case "3": if (heros.NbrPotion > 0) { Console.WriteLine("1) Regénéger points de vie"); Console.WriteLine("2) Regénéger points de mana"); Console.Write("\nEntrez-votre choix: "); choix = Console.ReadLine(); switch (choix) { case "1": heros.RegenererPtsVie(50); break; case "2": heros.RegenererPtsMana(50); break; default: AfficherChoixInvalide(); break; } } else { Console.WriteLine("Vous n'avez plus de potion!"); } break; default: AfficherChoixInvalide(); break; } Console.ReadKey(); Console.Clear(); Console.WriteLine("*****************************************************"); Console.WriteLine(" COMBAT"); heros.AfficherInfo(); monstre.AfficherInfo(); Console.WriteLine("Tour du monstre..."); switch (LancerDes(2, false)) { case 1: monstre.ModeDefense = false; if (heros.ModeDefense) { ptsDegats = monstre.PtsAttaque - heros.PtsDefense; } else { ptsDegats = monstre.PtsAttaque; } if (ptsDegats < 0) { ptsDegats = 0; } heros.SubirDegats(ptsDegats); Console.WriteLine($"\n{monstre.Nom} attaque et fait {ptsDegats} de dégats à {heros.Nom}"); break; case 2: Console.WriteLine($"\n{monstre.Nom} se prépare à se défendre."); monstre.ModeDefense = true; break; } Console.ReadKey(); } return(heros); }