short evaluer_score(short joueur, short carte_recue,short *score)
{
    *score=(*score)+donner_valeur_carte(joueur,carte_recue);
    if(*score > 21)
    {
        if(joueur == JOUEUR && nb_as_joueur > 0 && moinsDix_joueur < nb_as_joueur)
        {
            *score = *score-10;
            moinsDix_joueur++;
        }
    }
    return(*score);
}
示例#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;
}