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); }
/** *\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; }