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