private Personnage InstancierPersonnage(string type) { Personnage personnage = null; if (type == TypePersonnage.ARCHER) { personnage = new Archer(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX); } if (type == TypePersonnage.GUÉRISSEUR) { personnage = new Guérisseur(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX); } if (type == TypePersonnage.GUERRIER) { personnage = new Guerrier(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX); } if (type == TypePersonnage.MAGE) { personnage = new Mage(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX); } if (type == TypePersonnage.PALADIN) { personnage = new Paladin(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX); } if (type == TypePersonnage.VOLEUR) { personnage = new Voleur(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX); } return(personnage); }
static void Main(string[] args) { Personnage joueur1 = null; //Récupération du nom Console.WriteLine("Bonjour, quel est ton nom?"); string name = Console.ReadLine(); //Boucle de vérification du type du perso bool typePersoValide = false; while (!typePersoValide) { Console.Clear(); //Récupération du type du personnage Console.WriteLine("Quel sera ton type de personnage?"); Console.WriteLine("1 : Guerrier"); Console.WriteLine("2 : Voleur"); Console.WriteLine("3 : Mage"); Console.WriteLine("4 : Chaman"); Console.WriteLine("5 : Paladin"); string getTypePerso = Console.ReadLine(); int typePerso = int.Parse(getTypePerso); //Création du personnage en fonction du type en précisant le nom if (typePerso == 1) { typePersoValide = true; joueur1 = new Guerrier(name); Console.WriteLine("Votre Guerrier a été créé !"); } else if (typePerso == 2) { typePersoValide = true; joueur1 = new Voleur(name); Console.WriteLine("Votre Voleur a été créé !"); } else if (typePerso == 3) { typePersoValide = true; joueur1 = new Mage(name); Console.WriteLine("Votre Mage a été créé !"); } else if (typePerso == 4) { typePersoValide = true; joueur1 = new Chaman(name); Console.WriteLine("Votre Chaman a été créé !"); } else if (typePerso == 5) { typePersoValide = true; joueur1 = new Paladin(name); Console.WriteLine("Votre Paladin a été créé !"); } else { Console.WriteLine("Valeur saisie incorrecte ! Veuillez saisir une valeur entre 1 et 4"); System.Threading.Thread.Sleep(2000); } } //Team equipe1 = new Team(); //Créer une team de 10 perso aléatoire (Il est aussi possible de spécifier un nombre de membres) //equipe1.afficher(); Tournoi tournoi = new Tournoi(); IAttaquantMagie joueur2 = new Mage("j2"); // On Créer des personnages IAttaquantArme joueur3 = new Guerrier("j3"); // pour se battre avec le joueur 1 //Bloc pour demander au joueur s'il veut jouer avec les armes ou les sort si il est paladin int sortOuArme = 0; if (joueur1 is Persos.Paladin) { Console.WriteLine("En tant que paladin, voulez-vous jouer avec les sort ou les armes?"); Console.WriteLine("1 : Sort"); Console.WriteLine("2 : Arme"); string getTypePerso = Console.ReadLine(); sortOuArme = int.Parse(getTypePerso); } //On cast le joueur 1 en fonction de son type de personnage choisi if (joueur1 is Persos.Mage || joueur1 is Persos.Chaman || sortOuArme == 1) { IAttaquantMagie castedJoueur1Magie = (IAttaquantMagie)joueur1; Console.WriteLine("\nLes Personnage vont se battre tour à tour automatiquement\n"); tournoi.accepterTournoi(ref castedJoueur1Magie, ref joueur2); Console.WriteLine("\nVie de votre personnage : " + castedJoueur1Magie.getVie()); Console.WriteLine("Vie du personnage adverse : " + joueur2.getVie()); } else if (joueur1 is Persos.Guerrier || joueur1 is Persos.Voleur || sortOuArme == 2) { IAttaquantArme castedJoueur1Arme = (IAttaquantArme)joueur1; Console.WriteLine("\nLes Personnage vont se battre tour à tour automatiquement\n"); tournoi.accepterTournoi(ref castedJoueur1Arme, ref joueur3); Console.WriteLine("\nVie de votre personnage : " + castedJoueur1Arme.getVie()); Console.WriteLine("Vie du personnage adverse : " + joueur3.getVie()); } #region Code Pour Le traitement Asynchrone /*Thread thr1 = new Thread(tournoi.accepterTournoi(ref castedJoueur1Arme, ref joueur3)); * Thread thr2 = new Thread(tournoi.accepterTournoi(ref castedJoueur1Arme, ref joueur3)); * thr1.Start(); * thr2.Start(); * Reste à travailler avec les équipes et ajouter des vitesse d'attaque pour rendre les thread utiles */ #endregion }
private void AfficherInfosClasse(int classId) { //On instancie un objet pour aller y chercher ses attributs par défaut Aventurier aventurierTempo = new Guerrier("", 0, 0); switch (classId) { case lc.GUERRIER_ID: aventurierTempo = new Guerrier("", 0, 0); break; case lc.MAGE_ID: aventurierTempo = new Mage("", 0, 0); break; case lc.VOLEUR_ID: aventurierTempo = new Voleur("", 0, 0); break; case lc.PRETRE_ID: aventurierTempo = new Pretre("", 0, 0); break; } //On assigne les valeurs par defaut au champs textes txtClasse.Text = aventurierTempo.NomClasse; txtDescription.Text = aventurierTempo.DescriptionClasse; txtPV.Text = aventurierTempo.Pvmax.ToString(); lblEnrgMana.Text = aventurierTempo.Ressource == Ressource.Mana ? "Mana:" : "Énergie:"; txtRessource.Text = aventurierTempo.Ressource == Ressource.Mana ? aventurierTempo.Manamax.ToString() : aventurierTempo.Energiemax.ToString(); txtInitiative.Text = aventurierTempo.Initiativebase.ToString(); txtForce.Text = aventurierTempo.Forcebase.ToString(); txtDefense.Text = aventurierTempo.Defensebase.ToString(); txtPrecision.Text = aventurierTempo.Precisionbase.ToString(); txtEsquive.Text = aventurierTempo.Esquivebase.ToString(); txtArme.Text = aventurierTempo.Arme != null ? aventurierTempo.Arme.NomItem : ""; txtArmure.Text = aventurierTempo.Armure != null ? aventurierTempo.Armure.NomItem : ""; txtBouclier.Text = aventurierTempo.Bouclier != null ? aventurierTempo.Bouclier.NomItem : ""; }
private void btnAccepter_Click(object sender, EventArgs e) { try { ValiderNom(txtNomPerso.Text); Aventurier aventurierTaverne; aventurierTaverne = new Guerrier(txtNomPerso.Text, 0, 1); // Par défaut un guerrier if (rboGuerrier.Checked) { aventurierTaverne = new Guerrier(txtNomPerso.Text, 0, 1); } else if (rboMage.Checked) { aventurierTaverne = new Mage(txtNomPerso.Text, 0, 1); } else if (rboVoleur.Checked) { aventurierTaverne = new Voleur(txtNomPerso.Text, 0, 1); } else if (rboPretre.Checked) { aventurierTaverne = new Pretre(txtNomPerso.Text, 0, 1); } p.groupeAventurier.AjouterAventurier(aventurierTaverne); p.groupeAventurier.NbPiecesOr-= 20; Hide(); Taverne taverne = new Taverne(); taverne.ShowDialog(); } catch (NomAventurierVideException ex) { MessageBox.Show(ex.Message, "Nom du personnage invalide"); txtNomPerso.Focus(); } catch (NomAventurierNonValideException ex) { MessageBox.Show(ex.Message, "Nom du personnage invalide"); txtNomPerso.Focus(); } }