int main(int argc, char* argv[]) { char lettre = 0; // Stocke la lettre proposée par l'utilisateur (retour du scanf) char motSecret[] = "MARRON"; // C'est le mot à trouver int lettreTrouvee[6] = {0}; // Un tableau de booléens. Chaque case correspond à une lettre du mot secret. 0 = lettre non trouvée, 1 = lettre trouvée int coupsRestants = 10; // Compteur de coups restants (0 = mort) int i = 0; // Une petite variable pour parcourir les tableaux printf("Bienvenue dans le Pendu !\n\n"); // On continue à jouer tant qu'il reste au moins un coup à jouer ou qu'on // n'a pas gagné while (coupsRestants > 0 && !gagne(lettreTrouvee)) { printf("\n\nIl vous reste %d coups a jouer", coupsRestants); printf("\nQuel est le mot secret ? "); /* On affiche le mot secret en masquant les lettres non trouvées Exemple : *A**ON */ for (i = 0 ; i < 6 ; i++) { if (lettreTrouvee[i]) // Si on a trouvé la lettre n°i printf("%c", motSecret[i]); // On l'affiche else printf("*"); // Sinon, on affiche une étoile pour les lettres non trouvées } printf("\nProposez une lettre : "); lettre = lireCaractere(); // Si ce n'était PAS la bonne lettre if (!rechercheLettre(lettre, motSecret, lettreTrouvee)) { coupsRestants--; // On enlève un coup au joueur } } if (gagne(lettreTrouvee)) printf("\n\nGagne ! Le mot secret etait bien : %s", motSecret); else printf("\n\nPerdu ! Le mot secret etait : %s", motSecret); return 0; }
void gestionGagne (perso p, grille g, int id) { if (id == 777) gagne(p, g); }
void jouer(jeu *p) { int fin,mvmt,debut; fin=0; debut=0; Key saisie; while(debut!=3) { // Menu de départ debut=menu(p); if(debut==2) // Au cas ou la personne quitte des le debut exit(0); } ajouteValAlea (p); // Commence la partie avec un 2 ou un 4 sur la grille debutTerminalSansR(); while(fin!=2 && finPartie(p)==0) { affichage(p); saisie = lectureFleche(); if (saisie==KEY_DOWN) { // Si le joueur veut déplacer en bas mvmt=mouvement(p,0); if (mvmt>0) // Si il y a eu un deplacement alors on ajoute un 2 ou un 4 ajouteValAlea (p); clear_terminal(); } else if (saisie==KEY_RIGHT) { // Si le joueur veut déplacer à droite mvmt=mouvement(p,1); if (mvmt>0) // Si il y a eu un deplacement alors on ajoute un 2 ou un 4 ajouteValAlea (p); clear_terminal(); } else if (saisie==KEY_UP) { // Si le joueur veut déplacer en haut mvmt=mouvement(p,2); if (mvmt>0) // Si il y a eu un deplacement alors on ajoute un 2 ou un 4 ajouteValAlea (p); clear_terminal(); } else if (saisie==KEY_LEFT) { // Si le joueur veut déplacer à gauche mvmt=mouvement(p,3); if (mvmt>0) // Si il y a eu un deplacement alors on ajoute un 2 ou un 4 ajouteValAlea (p); clear_terminal(); } else if (saisie==KEY_ESCAPE) { fin=menu(p); //fin prendra la valeur retournée par menu qui vaudra donc 2 si lutilisateur veut quitter la partie } } finTerminalSansR(); clear_terminal(); if (gagne(p)==1){ // Si la personne gagne en atteignant le score voulu affichage(p); printf("\n "); color_printf(BLACK,WHITE,"C'EST GAGNE WE DID IT HOURRA, VOUS GAGNEZ UNE PATATE ! \n"); } else { // Si la personne perd lorsqu'elle n'a plus de case disponible et aucun mouvement faisable affichage(p); printf("\n "); color_printf(BLACK,WHITE,"GAME OVER \n"); } if (fin==2) { // Si l'utilisateur quitte volontairement a l'aide du menu clear_terminal(); printf(" "); printf("Vous avez volontairement quitté la partie !\n"); } }