/* Boutique */ void boutique(void) { Menu menu; effacer(); titre("Boutique", VERT); /* On affiche l'ASCII Art du marchand de la boutique */ lireEtAfficher("ASCII_Art/ASCII_Art_Marchand_Boutique.txt"); printf("\n\n"); /* On affiche le texte de presentation du marchant de la boutique */ lireEtAfficher("Boutique/Texte_Presentation_Marchand.txt"); /* On affiche le nombre de tek du joueur */ printf("Vous avez %d tek ;)\n", inventaire.tek.nbTek); /* On cree un menu : - Acheter des potions - Vendre des tresors - Sortir de la boutique Puis on demande ce que le joueur veut faire */ menuNouveau(&menu); menuAjouter(&menu, acheterBoutique, "Acheter des potions"); menuAjouter(&menu, vendreBoutique, "Vendre des tresors"); menuAjouter(&menu, sortirBoutique, "Sortir de la boutique"); menuChoisirSansOperationPossible(&menu, "Que souhaitez-vous faire ?"); }
/* Affiche un texte lorsque le joueur se trouve sur la porte de la sortie */ void afficherTextePorteSortie(void) { effacer(); titre("Porte de sortie", VERT); /* Si le joueur possede la cle de fin de niveau */ if(inventaire.possedeCleFinNiveau) { unsigned int choixJoueur; /* On affiche un texte indiquant le passage du prochain niveau */ lireEtAfficher("Sortie/Texte_Porte_Sortie_Cle.txt"); /* On demande si le joueur veut faire un tour a la boutique avant de passer au prochain niveau */ choixJoueur = demanderConfirmation("Voulez-vous aller dans la boutique ? (0/1)", SEPARATION); /* S'il veut */ if(choixJoueur == OUI) /* On appelle la fonction boutique */ boutique(); appuyezEntree("\nAppuyez sur ENTREE pour acceder au prochain niveau"); /* On enleve la cle de fin de niveau de l'inventaire du joueur */ inventaire.possedeCleFinNiveau = 0; /* On incremente de 1 la variable niveauActuel du joueur pour indiquer le passage au prochain niveau */ ++(personnage.niveauActuel); /* On sauvegarde l'inventaire pour que le joueur conserve l'inventaire entre le passage de niveau */ sauvegarderInventaire(); /* On vide le dossier de sauvegarde sur le niveau (car on va changer de niveau) */ viderDossierNiveauSauvegarde(personnage.nom); /* On relance le jeu */ jeu(); } /* Sinon */ else { /* On affiche un texte indiquant qu'il faut une cle au joueur pour passer la porte */ lireEtAfficher("Sortie/Texte_Porte_Sortie.txt"); appuyezEntree("\nAppuyez sur ENTREE pour continuer"); } }
/* Categorie achat de la boutique */ void acheterBoutique(void) { char commande[TAILLE_MAX]; effacer(); titre("Boutique", VERT); /* On affiche les explications pour la categorie achat de la boutique */ lireEtAfficher("Boutique/Texte_Explication_Potion.txt"); /* On affiche les prix */ afficherPrixPotionBoutique(); /* On lit la commande du joueur */ printf("Que souhaitez-vous faire ? (-1 pour revenir dans la boutique)\n\n"); printf("> "); lire(stdin, commande); /* On execute la commande du joueur */ executerCommandeAcheterBoutique(commande); }
void afficherCleInventaire(void) { if(inventaire.possedeCleFinNiveau) lireEtAfficher("ASCII_Art/ASCII_Art_Cle.txt"); putchar('\n'); }