1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
#include <stdio.h>
/* Joueur Humain */
int joueur_humain(int tas){
printf("C'est votre tour !\n");
int retire;
/* C'est au tour du joueur humain */
printf("Combien d'allumettes retirez-vous ? ");
scanf("%d", &retire);
while(retire > 3 || retire < 1 || retire > tas){
printf("Saisie inccorrect.\n");
if(tas <=3){ printf("Il y a plus que %d allumettes en jeu !\n", tas); }
else{ printf("Vous pouvez retirer jusqu'a 3 allumettes.\n"); }
printf("Saissiez a nouveau : ");
scanf("%d", &retire);
}
if(retire==1){ printf("Vous retirez une allumette.\n"); }
else{ printf("Vous retirez %d allumettes.\n", retire); }
tas = tas - retire;
if(tas == 1){ printf("Il ne reste plus qu'une allumette en jeu !\n"); }
else if(tas == 0){
printf("Il ne reste plus d'allumettes en jeu !!!\n");
printf("Vous avez perdu ! Le Game Master se moque !\n");
}
else if(tas > 1){ printf("Il y a acctuellement %d allumettes en jeu.\n", tas); }
return tas;
}
/* Intelligence Artificielle */
int joueur_ordinateur(int tas){
printf("C'est au Game Master de jouer \n");
int retire;
/* Le Game Master essay de jouer pour avoir une situation favorable */
/* La situation n'est pas gagnante, le Game Master retire une allumettes... */
if((tas - 1)%4 == 0){ retire = 1; }
/* La situation est gagnante, le Game Master joue le [i]Perfect[/i] */
else{ retire=(tas-1)%4; }
if(retire==1){ printf("Le Game Master prend une allumette.\n"); }
else{ printf("Le Game Master prend %d allumettes.\n", retire); }
tas = tas - retire;
if(tas == 1){ printf("Il ne reste plus qu'une allumette en jeu !\n"); }
else if(tas == 0){
printf("Il ne reste plus d'allumettes en jeu !!!\n");
printf("Vous avez gagné ! Le Game Master reclame la revanche !\n");
}
else if(tas > 1){ printf("Il y a maintenant %d allumettes en jeu.\n", tas); }
return tas;
}
/* Fonction principale */
int main(void){
/* Initialisation du tas */
int debut, tas=21;
printf("Jeu des allumettes !\n");
printf("La regle est simple, le dernier qui retire une allumette perd !\n");
printf("Vous affrontez le Game Master !\n");
printf("Il y %d allumettes en jeu.\n", tas);
printf("Voulez-vous commencer en premier ?\n");
printf("taper 1 si oui, sinon 2 : ");
scanf("%d", &debut);
if(debut==2){ printf("Vous laissez la main au Game Master.\n"); }
while(tas != 0){
if(debut%2 == 0){
tas=joueur_ordinateur(tas);
}
else{
tas=joueur_humain(tas);
}
debut++;
}
return 0;
} |
Partager