Ejemplo n.º 1
0
int main(){
    srand(time(NULL));
    short cartebc;
    short carteb;
    short carteJ;
    short scoreb=0;
    short scoreJ=0;
    int choix = 0;

    cartebc=tirer_carte(BANQUE_CACHEE);
    carteb=tirer_carte(BANQUE);
    evaluer_score(BANQUE,carteb,&scoreb);
    afficher_mains(BANQUE);
    evaluer_score(BANQUE_CACHEE,cartebc,&scoreb);
    carteJ=tirer_carte(JOUEUR);
    evaluer_score(JOUEUR,carteJ,&scoreJ);
    carteJ=tirer_carte(JOUEUR);
    evaluer_score(JOUEUR,carteJ,&scoreJ);
    afficher_mains(JOUEUR);

	printf("Voullez vous choisir de tirer une carte ou pas?\n 1:oui       2:non\n");
	scanf("%i",&choix);
	
	while (choix != 2) {
		switch(choix){
			case 1:
					while(choix!=2){
						printf("Veuillez choisir si vous desirez une autre carte?\n 1:Oui 2:Non\n");
						scanf("%i",&choix);
						while ((choix!=1)&&(choix!=2)){
							printf("Saisie incorrecte: 1 pour oui 2 pour non");
							scanf("%i",&choix);
						}
						if (choix==1){
							carteJ=tirer_carte(JOUEUR);
							afficher_mains(JOUEUR);
						}
					}
					if(scoreb<=17){
						carteb=tirer_carte(BANQUE);
						evaluer_score(BANQUE_CACHEE,cartebc,&scoreb);
					}
					break;
			case 2:	while((scoreb<=21)&&(scoreJ<=21)){
						tirer_carte(BANQUE);
						tirer_carte(JOUEUR);
					}
					break;
			default: 	printf("DEFAULT: Veuillez choisir si vous desirez une autre carte 1:Oui 2:Non\n");
						scanf("%i",&choix);
						break;	
		} 
	}
	printf("banque: %i\n", scoreb);
	printf("joueur: %i\n", scoreJ);

    if ((scoreb==21)||(scoreJ>21||scoreb > scoreJ)){
        printf("La banque a gagne");
        afficher_mains_cachee();
    }else if ((scoreJ==21)||(scoreb>21||scoreJ > scoreb)){
        printf("Le joueur a gagne");
        afficher_mains_cachee();
    }
    return 0;
}
Ejemplo n.º 2
0
/**
*\fn int main
*\brief la fonction principale permettant de jouer une partie de black jack contre l'ordinateur
*\return int renvoie EXIT_SUCCESS pour mettre fin au programme
*/
int main(){
	int cpt=0;
	int choix;
	short carte=0;
	short score_joueur=0;
	short score_banque=0;
	
	for(cpt=0 ; cpt<52 ; cpt++){
		cartes[cpt]=0;
	}
		for(cpt=0 ; cpt<2 ; cpt++){
			carte=tirer_carte(JOUEUR);
			donner_valeur_carte(JOUEUR, carte);
			score_joueur=evaluer_score(JOUEUR, carte, &score_joueur);
		}
		printf("joueur : \n");
		afficher_mains(JOUEUR);
		printf("score joueur : %d \n", score_joueur);
		
	
		for(cpt=0 ; cpt<2 ; cpt++){
			carte=tirer_carte(BANQUE);
			donner_valeur_carte(BANQUE, carte);
			score_banque=evaluer_score(BANQUE, carte, &score_banque);
		}
		printf("banque : \n");
		afficher_mains(BANQUE);
		printf("score banque : %d \n", score_banque);
		
	while(score_joueur<21&&score_banque<21){
		
		printf("souhaitez vous tirer une carte ? (1=oui ; 0=non)");
		scanf("%i", &choix);
		while(choix<0||choix>1){
			printf("\n1 pour oui et 0 pour non \n souhaitez vous tirer une carte ?");
			scanf("%i", &choix);
		}
		if(choix==1){
			carte=tirer_carte(JOUEUR);
			donner_valeur_carte(JOUEUR, carte);
			score_joueur=evaluer_score(JOUEUR, carte, &score_joueur);
		}
		while(score_banque<17||(choix==0 && score_banque>score_joueur)){
			carte=tirer_carte(BANQUE);
			donner_valeur_carte(BANQUE, carte);
			score_banque=evaluer_score(BANQUE, carte, &score_banque);
		}
		
		printf("joueur : \n");
		afficher_mains(JOUEUR);
		printf("score joueur : %d \n", score_joueur);
		
		printf("banque : \n");
		afficher_mains(BANQUE);
		printf("score banque : %d \n", score_banque);
	}

	if(score_banque<score_joueur&&score_banque<21&&score_joueur<21){
		printf("\nle joueur 1 a gagné !\n");
		afficher_mains(JOUEUR);
	}
	else if(score_banque>score_joueur&&score_banque<21&&score_joueur<21){
		printf("\nl'ordinateur a gagné !\n");
		afficher_mains(BANQUE);
	}
	else if(score_banque>21&&score_joueur<=21){
		printf("\nle joueur 1 a gagné !\n");
		afficher_mains(JOUEUR);
	}
	else if(score_joueur>21&&score_banque<=21){
		printf("\nl'ordinateur a gagné !\n");
		afficher_mains(BANQUE);
	}
		
	

	return EXIT_SUCCESS;
}