Allumettes [Résolu]

Signaler
Messages postés
21
Date d'inscription
jeudi 30 mai 2013
Statut
Membre
Dernière intervention
25 février 2017
-
Messages postés
21
Date d'inscription
jeudi 30 mai 2013
Statut
Membre
Dernière intervention
25 février 2017
-
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
#include <string.h>
  
int main()
{
// Demander l'identité de l'utilisateur
char  nom[50]; 
char reponse,niveau;
bool choixCorrect;
// Demander à un joueur le nombre d'allumettes prises
int choix;
char quitter;
printf("Quel est votre nom ?");
scanf(" %s",nom);
// Saisir la difficulté souhaitée
printf("Niveau de l'ordinateur (n)aïf, (d)istrait ou (e)xpert ?");
scanf(" %c ",&reponse);
if (reponse == 'n' || reponse == 'N' || reponse == 'd' || reponse == 'D' || reponse == 'e' || reponse == 'E')
niveau = reponse;
else
niveau = 'e';
printf("Commande inconnue, nous passons par default en mode expert.");
 
// Déterminer qui commence la partie
char depart = 'o';
bool tourHumain = 0;
printf("Est-ce que vous commencez (o/n) ?");
scanf("%c ",&depart);
if (depart =='o' || depart == 'O') 
tourHumain = 1; // L'utilisateur commence
else
tourHumain = 0; // L'ordinateur commence
// Jouer une partie
int reste = 13;
do {
//Afficher le nombre d'allumettes restantes
for (int ligne = 1; ligne <= 3; ligne++) {  
    for (int colonne = 1; colonne <= reste; colonne++) {
        printf("| ");
    if (colonne % 5 == 0) {
    printf(" ");
    }
}
    printf(" ");
}
 
// Demander à l'utilisateur le nombre d'allumettes prises
if (tourHumain ==1) {
choixCorrect = 0;
printf(nom ," %c combien prenez-vous d'allumettes ?");
scanf("%d ",&choix);
    if (choix > 3)
        printf("La prise est limitée à 3 allumettes maximum !");
    else if (choix > reste)
        printf("Il reste seulement %d " ,reste ,"allumettes dans le tas");
    else if (choix < 0)
    printf("saisie invalide"); 
    else if (choix == 0) {
    printf("Voulez-vous vraiment quitter la partie ? (o/n)");
        scanf("%c",&quitter);
    if (quitter == 'o' || quitter == 'O')
    reste = 0;
    else
    {
        printf(nom  ," %c combien prenez-vous d'allumettes ?");
        scanf("%d",&choix);
 
    }  
    }
    else {
    choixCorrect = 1;
    reste = reste - choix; // Retirer les allumettes prises par l'utilisateur
    tourHumain = 0;
    }
// Faire tirer des allumettes à l'ordinateur selon le niveau choisi
}
    else
        {
        printf("Ordinateur, combien prenez-vous d'allumettes ?");
        switch (niveau)
        {
        case 'n':
        case 'N':
        if (reste >= 3)
        choix=rand()+1;
        //choix = rand(3) + 1;
        else
        choix=rand() -1;
        //choix = rand(reste - 1) + 1;
        break;
        case 'd':
        case 'D':
        choix=rand()+3;
        //choix = rand(3) + 1;
        break;
    default:
    if (reste % 4 == 1)
        choix = 1;
    else
        choix = (reste - 1) % 4;
    }
    reste = reste - choix; // Retirer les allumettes prises par l'ordinateur
    }
    }
    while (reste !=0);
// Afficher le vainqueur
if (tourHumain == 1)
printf("Félicitation, vous avez remporté la partie ! %c",nom);
else
printf("Ordinateur a gagné ! ");
 
 
return EXIT_SUCCESS;
}


Le jeu des 13 allumettes compile bien mais ne fait pas ce que je lui demande de faire,c'est fâcheux :) lol

Quelqu'un pourrait me débloquer merci

5 réponses

Messages postés
14942
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
20 janvier 2021
93
Hello,
As-tu ciblé le souci?
mais ne fait pas ce que je lui demande de faire
C'est malheureusement vague comme descriptif... Un peu plus de détails serait le bienvenu
Messages postés
21
Date d'inscription
jeudi 30 mai 2013
Statut
Membre
Dernière intervention
25 février 2017

https://www.dropbox.com/s/ve8j6yzvwh20bc1/algo-1tr-2013-tp-04-sujet.pdf


Voilà le sujet j'ai aussi fais les raffinages pour le projet mais je bloque alors que normalement ça devrait marché
--
Messages postés
14942
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
20 janvier 2021
93
normalement ça devrait marché
C'est que l'on dit, tous!! =)

Qu'est-ce qui ne marche pas? L'as-tu testé en pas-à-pas?
Messages postés
4254
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
17 janvier 2021
16
https://www.dropbox.com/s/ve8j6yzvwh20bc1/algo-1tr-2013-tp-04-sujet.pdf 


Voilà le sujet j'ai aussi fais les raffinages pour le projet mais je bloque alors que normalement ça devrait marché 


tu ne dis toujours pas quel est le probleme x)
Messages postés
21
Date d'inscription
jeudi 30 mai 2013
Statut
Membre
Dernière intervention
25 février 2017

Finis sans votre aide ,merci de signalé le sujet comme résolu,merci.