/*Méthode permettant de proposer au joueur de se déplacer dans les salles du jeu * En Entrée: la liste des différentes pièces de la partie en cours et le joueur courant * En sortie: la pièce choisie par le joueur */ public static Piece ChoisirPiece(List <Piece> listeChoixPossibles, Joueur j) { //contrôle si l'action a été effectuée ou non bool estEntre = false; //lieu d'arrivée du joueur après exécution de la fonction Piece destination; Console.ForegroundColor = ConsoleColor.Yellow; do { Console.WriteLine("Où voulez vous aller ?"); int i = 0; //décompte des pièces foreach (Piece p in listeChoixPossibles) { i++; Console.WriteLine(i + " : " + p.Nom); } Console.ResetColor(); //gestion des erreurs de saisie int piecechoisie = VerifSaisie(i); //correspondance entre la saisie et les propositions destination = listeChoixPossibles.ElementAt(piecechoisie - 1); //vérification du droit d'accès et description de la pièce de destination si autorisé estEntre = j.Deplacer(destination); } while (!estEntre); return(destination); }
static void Main(string[] args) { bool rejouer = true; 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); //vérification des conditions d'accès bool permission = titan.Deplacer(destination); // boucle de choix objet-action dans la pièce courante do { titan.DeplacerVersObjet(destination); }while ((permission) && (Console.ReadKey().KeyChar != 'b')); //le joueur a appuyé sur 'b', il souhaite donc changer de pièce } 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
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); 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 }); salleRepos.Numeroter(); Titan._inventaireSubstances.Add(Substances.sub1); edgar.Defier(Titan); // bool name = edgar.Defier(Titan); // if (name == true) { Titan.Deplacer(salleRepos); } 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); }
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
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); */ }