static void Main(string[] args) { bool rejouer = false; bool prendlafuite = false; bool gagne = false; do { // Instanciation du personnage joueur Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine("\n\n\n\n\n\n\n\n\n"); Console.WriteLine(" ALCHIMED : EXPERIMENTONS LE FUTUR"); Console.WriteLine(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Console.ReadKey(); Console.ResetColor(); Console.Clear(); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("Bienvenue dans le jeu ALCHIMED ! Pour la suite vous allez incarner un personnage"); Console.WriteLine("\nVeuillez entrer son prénom"); Console.ResetColor(); string prenom = Console.ReadLine(); titan = new Joueur(prenom, 0, 100); titan._savoirs.Add(Savoirs.Chimie); titan._savoirs.Add(Savoirs.Culture); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("\nVeuillez choisir sa caractéristique principale"); titan.AttribuerCaracteristique(); Console.WriteLine("\nAmusez vous bien !"); Console.ResetColor(); Console.ReadKey(); //Instanciation de l'environnement de jeu // Construction des personnages non joueurs Bagarreur edgar = new Bagarreur("Edgar", 20); // Construction des objets ObjetSpecial ob1 = new ObjetSpecial("un lit", "Que ce lit est douillet...", Effets.regenerateur); ObjetSpecial ob2 = new ObjetSpecial("un poste radio", "Bonne idée, écoutons un peu de musique pour se détendre...", Effets.stress); ObjetSpecial ob3 = new ObjetSpecial("une table avec de la nourriture", "Il y a des smoothies et des gateaux, vous vous régalez !", Effets.vieP); ObjetSpecial ob4 = new ObjetSpecial("des haltères", "Vous pouvez utiliser les haltères pour un petit entraînement du haut du corps.", Effets.force1); ObjetSpecial ob5 = new ObjetSpecial("une presse", "Vous pouvez entraîner le bas de votre corps grâce à la presse !", Effets.force2); ObjetSpecial ob6 = new ObjetSpecial("un tapis de course", "Votre cardio va vite s'améliorer avec cet entraînement !", Effets.force3); Objet ob7 = new Objet("une armoire", "Cette armoire est remplie de toutes sortes de choses..."); Objet ob8 = new Objet("une table basse", "Il y a un tas de journaux et de livres posés ici..."); Objet ob9 = new Objet("une blouse sur le porte manteau", "C'est une très belle blouse ! Je ne sais pas à qui elle est..."); Objet ob10 = new Objet("un tableau", "Ce tableau est magnifique ! On pourrait rester ici des heures à le contempler..."); Objet ob11 = new Objet("une fenêtre", "On a l'impression d'être en pleine nature ici ! Il y a des arbres et des fleurs à perte de vue..."); Objet ob12 = new Objet("une lampe de bureau", "Cette lampe me rappelle celle de ma grand mère..."); Objet ob13 = new Objet("un canapé", "Ce canapé marron a l'air douillet, et il vous tend les bras..."); Contenant ob17 = new Contenant("un livre", "Je me demande ce qu'il y a dans ce livre...", 9, new Substances[9] { Substances.dimercaprol, Substances.glipizide, Substances.nalidixique, Substances.nitrofurantoïne, Substances.noramidopyrine, Substances.phytoménadione, Substances.rasburicase, Substances.sulfacétamide, Substances.sulfaméthizol }); Objet ob14 = new Objet("des paillasses", "Ces paillasses me seront utiles pour mélanger les substances et fabriquer\nle médicament."); Contenant ob15 = new Contenant("une armoire", "C'est génial, cette armoire est remplie de substances chimiques en tous genres...", 9, new Substances [9] { Substances.dimercaprol, Substances.glipizide, Substances.nalidixique, Substances.nitrofurantoïne, Substances.noramidopyrine, Substances.phytoménadione, Substances.rasburicase, Substances.sulfacétamide, Substances.sulfaméthizol }); Contenant ob16 = new Contenant("un carton", "Ce carton a l'air poussiéreux...", new List <Contenant>() { ob17 }); Objet ob18 = new Objet("Charles le squelette", "J'ai pour seule compagnie... Un squelette... Le prends pas mal hein"); Objet ob19 = new Objet("un évier", "Cet évier est si sale..."); Objet ob20 = new Objet("une commode", "Pouah ! Cette commode est rempli de blouses, de masques et de gants usagés..."); Objet ob21 = new Objet("des bocaux", "Le contenu de ces bocaux est... étrange..."); Potion p1 = new Potion("le galafène", "a pour effet blabla", Effets.p_galactumerie, new List <Substances>() { Substances.sulfacétamide, Substances.nalidixique, Substances.glipizide }); // Construction des salles Piece salleRepos = new Piece("la salle de repos", new List <Objet>() { ob1, ob2, ob3 }); Piece salleEntrainement = new Piece("la salle d'entraînement", new List <Objet>() { ob4, ob5, ob6 }); Piece salleEtude = new Piece("la salle d'étude", new List <Objet>() { ob7, ob8, ob9, ob10, ob11, ob12, ob13 }); salleEtude.AttribuerSavoir(); Piece laboratoire = new Piece("le laboratoire", new List <Objet>() { ob14, ob15, ob16, ob18, ob19, ob20, ob21 }); //Construction du Bâtiment Alchimed, enceinte du jeu Alchimed = new List <Piece> { salleRepos, salleEtude, salleEntrainement, laboratoire }; Console.WriteLine("\nEnfin ! La lettre d’Alchimed est arrivée...\n 'Félicitations, vous avez été présélectionné pour " + "intégrer notre prestigieux\n programme ! Nous vous invitons désormais à nous rejoindre afin de vous\n préparer au mieux " + "à la sélection finale. Comme vous le savez, cela consiste\n à la fabrication d’un médicament dans un contexte imposé et un temps imparti.'"); Console.WriteLine("Deux jours après, je me rendais à l’adresse indiquée dans la lettre et me\ntrouvais devant un bâtiment imposant," + " d’un blanc éclatant.\nJe me présentais alors à l'accueil d’Alchimed...\n\n 'Bonjour, bienvenue chez Alchimed ! Vous êtes" + " {0} n’est ce pas ? Je vais\n vous présenter les locaux qui vous ont été attribués et les différents éléments à votre" + " disposition.Vous pourrez rester ici aussi longtemps que nécessaire !\n Suivez-moi...\n\n La première pièce à votre gauche" + " est la salle de repos, où vous pourrez vous\n détendre et vous reposer. Ensuite, la seconde pièce à votre gauche est la\n salle d'étude," + " c'est ici que vous allez pouvoir enrichir votre culture. Sur\n votre droite se trouve la salle d'entraînement, où divers équipements" + " vous\n permettront d'améliorer votre force. Enfin, au boût du couloir se trouve le\n grand Laboratoire. Lorsque vous serez " + "suffisamment entraîné et vous sentirez\n prêt, présentez vous devant l'entrée. C'est là où se déroulera l'épreuve finale" + " Je vous laisse maintenant !'", titan._nom); //Première action du joueur : choisir une pièce à explorer Piece destination = null; int choix; while (!gagne) { //présentation des pièces et analyse du choix du joueur destination = ChoisirPiece(Alchimed, titan); // boucle de choix objet-action dans la pièce courante, la touche b permettant de changer de pièce while ((Console.ReadKey().KeyChar != 'b') && (!prendlafuite)) { //Affichage des objets de la pièce destination.Lister(); //gestion des éventuelles erreurs de saisie choix = VerifSaisie(destination._objets.Count); //interactions avec les objets des pièces autre que le laboratoire if (destination != laboratoire) { titan.DeplacerVersObjet(destination, choix); } //interactions avec les objets du laboratoire else { //Renommage pour plus de clarté Objet elementChoisi = destination._objets.ElementAt(choix - 1); bool estMeuble = destination._objets.ElementAt(choix - 1) is Contenant; //si on a pas choisi un meuble if (!estMeuble) { elementChoisi.AfficheDescription(); } //si c'est un meuble else { //on peut faire un upcast puisqu'on a vérifié que l'objet est un meuble Contenant choisi = (Contenant)destination._objets.ElementAt(choix - 1); //le meuble choisi contient plusieurs objets avec lesquel on peut interagir Console.WriteLine("\n\n" + choisi); // choisi.AfficheDescription(); //une liste numérotées des objets contenus dans le meuble s'affiche // si c'est l'armoire qui a été choisie if (choisi.Nom == "une armoire") { choisi.AfficheContenuS(); choisi.ListerS(); int indexChoisi = VerifSaisie(choisi._elements.Length + 1); //Renommage pour plus de clarté Substances contenuChoisi = choisi._elements.ElementAt(indexChoisi - 1); titan._inventaireSubstances.Add(contenuChoisi); } else // si c'est le carton { Contenant r = choisi.AfficheContenuO(); int indexChoisi = VerifSaisie(3); //Renommage pour plus de clarté Substances contenuChoisi = r._elements.ElementAt(indexChoisi - 1); LireSubstance(contenuChoisi); } //interactions selon l'objet /* switch (contenuChoisi.Nom) * { * case 1: * "un livre": * contenuChoisi.AfficheDescription(); * break; * case "un becher": * Console.WriteLine("\nCe bécher est vide et prêt à l'emploi. On peut y mélanger 3 substances.\n"); * if (choisi.Melanger(titan)) * { * prendlafuite = edgar.Defier(titan); * if (prendlafuite == true) { * destination = salleRepos; * titan.SeReposer(ob1); * } * } * break; * }*/ } } Console.WriteLine("\nAppuyez sur b pour changer de pièce ou sur n'importe quelle autre touche pour continuer"); //le joueur a appuyé sur 'b', il souhaite donc changer de pièce } // fin du jeu : proposer de rejouer + enregistrement score } }while (rejouer); }//fin du Main
static void Main(string[] args) { bool rejouer = false; do { // Instanciation du personnage joueur Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine("\n\n\n\n\n\n\n\n\n"); Console.WriteLine(" ALCHIMED : EXPERIMENTONS LE FUTUR"); Console.WriteLine(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Console.ReadKey(); Console.ResetColor(); Console.Clear(); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("Bienvenue dans le jeu ALCHIMED ! Pour la suite vous allez incarner un personnage"); Console.WriteLine("\nVeuillez entrer son prénom"); Console.ResetColor(); string prenom = Console.ReadLine(); titan = new Joueur(prenom); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("\nVeuillez choisir sa caractéristique principale"); titan.AttribuerCaracteristique(); Console.WriteLine("\nAmusez vous bien !"); Console.ResetColor(); Console.ReadKey(); //Instanciation de l'environnement de jeu // Construction des personnages non joueurs Bagarreur edgar = new Bagarreur("Edgar", 20); // Construction des objets ObjetSpecial ob1 = new ObjetSpecial("un lit", "Que ce lit est douillet...", Effets.regenerateur); ObjetSpecial ob2 = new ObjetSpecial("un poste radio", "Bonne idée, écoutons un peu de musique pour se détendre...", Effets.stress); ObjetSpecial ob3 = new ObjetSpecial("une table avec de la nourriture", "Il y a des smoothies et des gateaux, vous vous régalez !", Effets.vieP); ObjetSpecial ob4 = new ObjetSpecial("des haltères", "Vous pouvez utiliser les haltères pour un petit entraînement du haut du corps.", Effets.force1); ObjetSpecial ob5 = new ObjetSpecial("une presse", "Vous pouvez entraîner le bas de votre corps grâce à la presse !", Effets.force2); ObjetSpecial ob6 = new ObjetSpecial("un tapis de course", "Votre cardio va vite s'améliorer avec cet entraînement !", Effets.force3); Objet ob7 = new Objet("une armoire", "Cette armoire est remplie de toutes sortes de choses..."); Objet ob8 = new Objet("une table basse", "Il y a un tas de journaux et de livres posés ici..."); Objet ob9 = new Objet("une blouse sur le porte manteau", "C'est une très belle blouse ! Je ne sais pas à qui elle est..."); Objet ob10 = new Objet("un tableau", "Ce tableau est magnifique ! On pourrait rester ici des heures à le contempler..."); Objet ob11 = new Objet("une fenêtre", "On a l'impression d'être en pleine nature ici ! Il y a des arbres et des fleurs à perte de vue..."); Objet ob12 = new Objet("une lampe de bureau", "Cette lampe me rappelle celle de ma grand mère..."); Objet ob13 = new Objet("un canapé", "Ce canapé marron a l'air douillet, et il vous tend les bras..."); Objet ob14 = new Objet("des paillasses", "Ces paillasses me seront utiles pour mélanger les substances et fabriquer la potion."); Objet ob15 = new Objet("une armoire", "C'est génial, cette armoire est remplie de substances chimiques en tous genre."); Objet ob16 = new Objet("un carton", "Ce carton a l'air poussiéreux..."); Objet ob17 = new Objet("un livre", "Je me demande ce qu'il y a dans ce livre..."); // Construction des salles Piece salleRepos = new Piece("la salle de repos", new List <Objet>() { ob1, ob2, ob3 }); Piece salleEntrainement = new Piece("la salle d'entraînement", new List <Objet>() { ob4, ob5, ob6 }); Piece salleEtude = new Piece("la salle d'étude", new List <Objet>() { ob7, ob8, ob9, ob10, ob11, ob12, ob13 }); salleEtude.AttribuerSavoir(); Piece laboratoire = new Piece("le laboratoire", new List <Objet>() { ob14, ob15, ob16, ob17 }); //Construction du Bâtiment Alchimed, enceinte du jeu Alchimed = new List <Piece> { salleRepos, salleEtude, salleEntrainement, laboratoire }; Console.WriteLine("\nEnfin ! La lettre d’Alchimed est arrivée...\n 'Félicitations, vous avez été présélectionné pour " + "intégrer notre prestigieux\n programme ! Nous vous invitons désormais à nous rejoindre afin de vous\n préparer au mieux " + "à la sélection finale. Comme vous le savez, cela consiste\n à la fabrication d’un médicament dans un contexte imposé et un temps imparti.'"); Console.WriteLine("Deux jours après, je me rendais à l’adresse indiquée dans la lettre et me\ntrouvais devant un bâtiment imposant," + " d’un blanc éclatant.\nJe me présentais alors à l'accueil d’Alchimed...\n\n 'Bonjour, bienvenue chez Alchimed ! Vous êtes" + " {0} n’est ce pas ? Je vais\n vous présenter les locaux qui vous ont été attribués et les différents éléments à votre" + " disposition.Vous pourrez rester ici aussi longtemps que nécessaire !\n Suivez - moi...\n\n La première pièce à votre gauche" + " est la salle de repos, où vous pourrez vous\n détendre et vous reposer. Ensuite, la seconde pièce à votre gauche est la\n salle d'étude," + " c'est ici que vous allez pouvoir enrichir votre culture. Sur\n votre droite se trouve la salle d'entraînement, où divers équipements" + " vous\n permettront d'améliorer votre force. Enfin, au boût du couloir se trouve le\n grand Laboratoire. Lorsque vous serez " + "suffisamment entraîné et vous sentirez\n prêt, présentez vous devant l'entrée. C'est là où se déroulera l'épreuve finale" + " Je vous laisse maintenant !'", titan._nom); //Première action du joueur : choisir une pièce à explorer Piece destination; do { //présentation des pièces et analyse du choix du joueur destination = ChoisirPiece(Alchimed, titan); // boucle de choix objet-action dans la pièce courante do { //Affichage des objets de la pièce destination.Lister(); int choix = VerifSaisie(destination._objets.Count); titan.DeplacerVersObjet(destination, choix); Console.WriteLine("\nAppuyez sur <Entrée> pour continuer ou sur b pour changer de pièce"); }while (Console.ReadKey().KeyChar != 'b'); //le joueur a appuyé sur 'b', il souhaite donc changer de pièce destination = ChoisirPiece(Alchimed, titan); } while (destination != laboratoire); titan.Deplacer(laboratoire); //série d'actions quand le joueur souhaite créer une potion --> si veut interagir avec le bécher // Titan._inventaireSubstances.Add(Substances.dimercaprol); // bool prendlafuite = edgar.Defier(Titan); //if (prendlafuite == true) { Titan.SeReposer(salleRepos); } // fin du jeu : proposer de rejouer + enregistrement score } while (rejouer); }//fin du Main
// Méthode permettant au bagarreur de défier le joueur en lui volant une de ses substances et en l'attaquant // En entrée : le joueur pj // En sortie : un booléen indiquant si le joueur a abandonné (true si oui) et doit aller en salle de repos internal bool Defier(Joueur pj) { // la bagarreur vole une substance au joueur Substances substanceVolee = pj._inventaireSubstances[0]; pj._inventaireSubstances.Remove(substanceVolee); Console.WriteLine(this._nom + " vous a volé le " + substanceVolee + " pour vous défier."); bool abandon = false; bool finCombat = false; // COMBAT while ((finCombat == false) && (abandon == false)) { pj._ptVie -= this._degat; Console.Write(this._nom + " vous attaque. Vous perdez " + this._degat + " points de vie. "); if (pj._ptVie <= 0) { Console.WriteLine("Il ne vous reste aucun point de vie."); } else { Console.WriteLine("Il vous reste " + pj._ptVie + " points de vie."); } if (pj._ptVie <= 0) { finCombat = true; } else { Console.WriteLine("Que voulez-vous faire ?\n1 : Répliquer avec un coup de pied\n2 : Répliquer avec un coup de poing" + "\n3 : Abandonner puis aller reprendre des forces dans la salle de repos"); int choix = int.Parse(Console.ReadLine()); if ((choix == 1) || (choix == 2)) // si le joueur choisit de répliquer { pj.Defier(this, choix); } if (choix == 3) // si le joueur choisit d'abandonner et de quitter le laboratoire { abandon = true; } if (this._ptVie <= 0) { finCombat = true; } } } // Test : pourquoi le combat s'est il arrêté // Soit le joueur n'a plus de vie, le joueur a perdu la partie if (pj._ptVie <= 0) { Console.WriteLine("Vous avez perdu !"); // FAIRE APPEL A LA FONCTION QUI PERMET DE QUITTER LE JEU } // Soit le bagarreur n'a plus de vie, le joueur a gagné le combat else if (this._ptVie <= 0) { pj._inventaireSubstances.Add(substanceVolee); Console.WriteLine("Bravo ! Vous avez récupéré la substance qui vous avait été volée !" + " Vous pouvez continuer à préparer la potion."); } // Soit le joueur a abandonné else { Console.WriteLine("Dommage ! Vous abandonnez et allez vous reposer."); } return(abandon); }
// Procédure virtuelle Interagir (sera redéfinie dans les classes héritées) internal virtual void Interagir(Joueur pj) { }
static void Main(string[] args) { // Instanciation du personnage joueur Console.WriteLine("Bienvenue dans le jeu ALCHIMED ! Pour la suite vous allez incarner un personnage,\nVeuillez entrer son nom"); string nom = Console.ReadLine(); Console.WriteLine("\nVeuillez entrer son prénom"); string prenom = Console.ReadLine(); Joueur Titan = new Joueur(prenom); Console.WriteLine("\nVeuillez choisir sa caractéristique principale"); Titan.AttribuerCaracteristique(); Console.WriteLine(Titan); //Instanciation de l'environnement de jeu //construction des personnages non joueurs Bagarreur edgar = new Bagarreur("Edgar", 20); //construction des objets Objet ob1 = new Objet("un lit", "un beau lit"); Objet ob2 = new ObjetSpecial("une table", "une belle table", Effets.force1); Objet ob3 = new ObjetSpecial("une chaise", "une belle chaise", Effets.force2); Objet ob4 = new Objet("une couverture", "une belle couverture"); Objet ob44 = new Objet("un plaid", "un plaid moche"); Objet ob5 = new ObjetSpecial("un tabouret", "un beau tabouret", Effets.force3); Objet ob6 = new Objet("une armoire", "une belle armoire remplie"); Objet ob66 = new Objet("une penderie", "une penderie mal rangée"); Objet ob7 = new ObjetSpecial("une blouse", "un très belle blouse", Effets.vieM); //construction des salles Piece salleRepos = new Piece("la salle de repos", new List <Objet>() { ob1, ob2, ob3 }); Piece salleSport = new Piece("la salle de sport", new List <Objet>() { ob1, ob2, ob3 }); Piece salleEtude = new Piece("la salle d'étude", new List <Objet>() { ob4, ob44, ob5 }); salleEtude.AttribuerSavoir(); Piece laboratoire = new Piece("le laboratoire", new List <Objet>() { ob6, ob66, ob7 }); //Construction du Centre Alchimed, enceinte du jeu List <Piece> Alchimed = new List <Piece> { salleEtude, salleRepos, salleSport, laboratoire }; //Première action du joueur : entrée dans une pièce Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Où voulez vous aller ?"); int i = 0; //décompte des pièces foreach (Piece p in Alchimed) { i++; Console.WriteLine(i + " : " + p.Nom); } Console.ResetColor(); //gestion des erreurs de saisie int piecechoisie = VerifSaisie(i); Piece destination = Alchimed.ElementAt(piecechoisie - 1); Titan.Deplacer(destination); // boucle d'action dans la pièce do { Titan.DeplacerVersObjet(destination); }while (Console.ReadKey().Key == ConsoleKey.Enter); switch (Console.ReadKey().Key) { case ConsoleKey.Escape: Quitter(); break; case ConsoleKey.A: //AffichAide(); à créer break; case ConsoleKey.I: //AffichInventaire :Console.WriteLine(Titan); break; //case .... } Console.WriteLine(Titan); /* * Console.WriteLine(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Console.WriteLine(Titan); * * Titan._savoirs.Add(Savoirs.Chimie); * Titan._savoirs.Add(Savoirs.Culture); * * Titan.Deplacer(laboratoire); * //série d'actions quand le joueur souhaite créer une potion --> si veut interagir avec le bécher * // Titan._inventaireSubstances.Add(Substances.dimercaprol); * // bool prendlafuite = edgar.Defier(Titan); * //if (prendlafuite == true) { Titan.Deplacer(salleRepos); } */ } //fin du Main
public virtual void Interagir(Joueur pj) { }
static void Main(string[] args) { //Initialisation du joueur Console.WriteLine("Bienvenue dans le jeu ALCHIMED ! Pour la suite vous allez incarner un personnage,\nVeuillez entrer son nom"); string nom = Console.ReadLine(); Console.WriteLine("\nVeuillez entrer son prénom"); string prenom = Console.ReadLine(); Joueur Titan = new Joueur(prenom); Console.WriteLine("\nVeuillez choisir sa caractéristique principale"); Titan.AttribuerCaracteristique(); //Affichage des caractéristiques du joueur Console.WriteLine(Titan); //Initialisation de l'environnement de jeu Bagarreur edgar = new Bagarreur("Edgar", 20); Objet ob1 = new Objet("un lit", "un beau lit"); Objet ob2 = new ObjetSpecial("une table", "une belle table", Effets.force1); Objet ob3 = new ObjetSpecial("une chaise", "une belle chaise", Effets.force2); Objet ob4 = new Objet("une couverture", "une belle couverture"); Objet ob44 = new Objet("un plaid", "un plaid moche"); Objet ob5 = new ObjetSpecial("un tabouret", "un beau tabouret", Effets.force3); Objet ob6 = new Objet("une armoire", "une belle armoire remplie"); Objet ob66 = new Objet("une penderie", "une penderie mal rangée"); Objet ob7 = new ObjetSpecial("une blouse", "un très belle blouse", Effets.vieM); Piece salleRepos = new Piece("la salle de repos", new List <Objet>() { ob1, ob2, ob3 }); Piece salleEtude = new Piece("la salle d'étude", new List <Objet>() { ob4, ob44, ob5 }); salleEtude.AttribuerSavoir(); Piece laboratoire = new Piece("le laboratoire", new List <Objet>() { ob6, ob66, ob7 }); //Simulation des actions dans le labo : //prendre une substance dans la commode Titan._inventaireSubstances.Add(Substances.sub1); //Etre attaqué par un bagarreur bool prendlafuite = edgar.Defier(Titan); if (prendlafuite == true) { Titan.Deplacer(salleRepos); } //Simulation des actions possibles dans une pièce Titan.DeplacerVersObjet(salleRepos); Titan.DeplacerVersObjet(salleRepos); Titan.DeplacerVersObjet(salleRepos); //Affichage des caractéristiques du joueur //--> décider quand les afficher : au choix ou systématiquement après telle ou telle action ? Console.WriteLine(Titan); /* Test d'ajout des savoirs * Console.WriteLine(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Console.WriteLine(Titan); * * Titan._savoirs.Add(Savoirs.Chimie); * Titan._savoirs.Add(Savoirs.Culture); * * List<Piece> pieces = new List<Piece> { salleRepos, salleEtude, laboratoire }; * * Console.ForegroundColor = ConsoleColor.Yellow; * * //Liste des pièces et proposition de déplacement * Console.WriteLine("Où voulez vous aller ?"); * * for (int i=0; i< pieces.Count; i++) * { * Console.WriteLine((i+1 + " : " +pieces[i]._nom + "\n"); * } * * Console.ResetColor(); * * Titan.Deplacer(laboratoire); */ }
static void Main(string[] args) { bool rejouer = true; do { // Instanciation du personnage joueur Console.WriteLine("Bienvenue dans le jeu ALCHIMED ! Pour la suite vous allez incarner un personnage,\nVeuillez entrer son nom"); string nom = Console.ReadLine(); Console.WriteLine("\nVeuillez entrer son prénom"); string prenom = Console.ReadLine(); Joueur Titan = new Joueur(prenom); Program.Titan = Titan; Console.WriteLine("\nVeuillez choisir sa caractéristique principale"); Titan.AttribuerCaracteristique(); Console.WriteLine(Titan); //Instanciation de l'environnement de jeu //construction des personnages non joueurs Bagarreur edgar = new Bagarreur("Edgar la Bagarre", 20); //construction des objets Objet ob1 = new ObjetSpecial("un lit", "C'est un beau lit douillet", Effets.regenerateur); Objet ob2 = new ObjetSpecial("une table", "C'est une belle table", Effets.force1); Objet ob3 = new ObjetSpecial("une chaise", "C'est une belle chaise", Effets.force2); Objet ob4 = new Objet("une couverture", "C'est une belle couverture"); Objet ob44 = new Objet("un plaid", "C'est juste un plaid moche"); Objet ob5 = new ObjetSpecial("un tabouret", "C'est un beau tabouret", Effets.force3); Objet ob6 = new Objet("une armoire", "C'est une belle armoire remplie"); Objet ob66 = new Objet("une penderie", "C'est juste une penderie mal rangée"); Objet ob7 = new ObjetSpecial("une blouse", "un très belle blouse", Effets.vieM); //construction des salles Piece salleRepos = new Piece("la salle de repos", new List <Objet>() { ob1, ob2, ob3 }); Piece salleSport = new Piece("la salle de sport", new List <Objet>() { ob1, ob2, ob3 }); Piece salleEtude = new Piece("la salle d'étude", new List <Objet>() { ob4, ob44, ob5 }); salleEtude.AttribuerSavoir(); Piece laboratoire = new Piece("le laboratoire", new List <Objet>() { ob6, ob66, ob7 }); //Construction du Centre Alchimed, enceinte du jeu Alchimed = new List <Piece> { salleEtude, salleRepos, salleSport, laboratoire }; //Première action du joueur : entrée dans une pièce Piece destination = ChoisirPiece(Alchimed, Titan); // boucle choix objet-action dans la pièce courante do { Titan.DeplacerVersObjet(destination); }while (Console.ReadKey().Key != ConsoleKey.A); //Console.WriteLine(Titan); /* * Console.WriteLine(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Titan.DeplacerVersObjet(salleEtude); * * Console.WriteLine(Titan); * * Titan._savoirs.Add(Savoirs.Chimie); * Titan._savoirs.Add(Savoirs.Culture); * * Titan.Deplacer(laboratoire); * //série d'actions quand le joueur souhaite créer une potion --> si veut interagir avec le bécher * // Titan._inventaireSubstances.Add(Substances.dimercaprol); * // bool prendlafuite = edgar.Defier(Titan); * //if (prendlafuite == true) { Titan.SeReposer(salleRepos); } */ // fin du jeu : proposer de rejouer + enregistrement score } while (rejouer); }//fin du Main
static void Main(string[] args) { Console.WriteLine("Bienvenue dans le jeu ALCHIMED ! Pour la suite vous allez incarner un personnage,\nVeuillez entrer son nom"); string nom = Console.ReadLine(); Console.WriteLine("\nVeuillez entrer son prénom"); string prenom = Console.ReadLine(); Joueur Titan = new Joueur(prenom); Console.WriteLine("\nVeuillez choisir sa caractéristique principale"); Titan.AttribuerCaracteristique(); Console.WriteLine(Titan); Objet ob1 = new Objet("un lit", "un beau lit"); Objet ob2 = new ObjetSpecial("une table", "une belle table", Effets.force1); Objet ob3 = new ObjetSpecial("une chaise", "une belle chaise", Effets.force2); Objet ob4 = new Objet("une couverture", "une belle couverture"); Objet ob44 = new Objet("un plaid", "un plaid moche"); Objet ob5 = new ObjetSpecial("un tabouret", "un beau tabouret", Effets.force3); Objet ob6 = new Objet("une armoire", "une belle armoire remplie"); Objet ob66 = new Objet("une penderie", "une penderie mal rangée"); Objet ob7 = new ObjetSpecial("une blouse", "un très belle blouse", Effets.vieM); Piece salleRepos = new Piece("la salle de repos", new List <Objet>() { ob1, ob2, ob3 }); Piece salleEtude = new Piece("la salle d'étude", new List <Objet>() { ob4, ob44, ob5 }); salleEtude.AttribuerSavoir(); Piece laboratoire = new Piece("le laboratoire", new List <Objet>() { ob6, ob66, ob7 }); salleRepos.Numeroter(); Console.WriteLine(salleRepos); Titan.DeplacerVersObjet(salleRepos); Titan.DeplacerVersObjet(salleRepos); Titan.DeplacerVersObjet(salleRepos); Console.WriteLine(Titan); salleEtude.Numeroter(); Console.WriteLine(salleEtude); Titan.DeplacerVersObjet(salleEtude); Titan.DeplacerVersObjet(salleEtude); Titan.DeplacerVersObjet(salleEtude); Titan.DeplacerVersObjet(salleEtude); Console.WriteLine(Titan); Titan._savoirs.Add(Savoirs.Chimie); Titan._savoirs.Add(Savoirs.Culture); List <Piece> pieces = new List <Piece> { salleRepos, salleEtude, laboratoire }; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Où voulez vous aller ?"); foreach (Piece piece in pieces) { Console.WriteLine(piece._nom + "\n"); } Console.ResetColor(); Titan.Deplacer(laboratoire); }
// Procédure qui permet de fabriquer une potion // En entrée : le joueur pj souhaitant interagir avec l'objet internal static bool Melanger(Joueur pj) { bool trouvePotion = false; Potion potionTrouve = null; List <Substances> melange = new List <Substances>(); if (pj.NbSubstances >= 3) { Console.WriteLine("Quelles substances souhaitez-vous ajouter pour réaliser une potion avec ce bécher ?\n"); pj.AfficheInventaire(); int subN = 0; while (subN < 3) { subN++; Console.WriteLine("\nChoisissez la substance numéro {0} à ajouter.", subN); int indexSub = VerifSaisie(pj.NbSubstances); Substances subChoisie = pj._inventaireSubstances.ElementAt(indexSub - 1); melange.Add(subChoisie); pj._inventaireSubstances.Remove(subChoisie); } Console.WriteLine("\nPréparation en cours"); int k = 0; while ((potions[k] != potionTrouve) && (k < potions.Count)) { //Nouveau nom pour plus de clarté Potion test = potions[k]; int i = 0; while (i < 4) { if (test._composition.Contains(melange[i])) { i++; } else { break; } } if (i == 3) { potionTrouve = test; trouvePotion = true; } else { k++; } } if (k > potions.Count) { trouvePotion = false; } else { Console.WriteLine("\n\n\nFelicitation ! Vous avez fabriqué du " + Program.potions[k].Nom); } } pj._inventaireSubstances.Sort(); return(trouvePotion); }