All pastes #2049372 Raw Edit

Blackjack

public cpp v1 · immutable
#2049372 ·published 2011-04-22 14:10 UTC
rendered paste body
   1.      #include <iostream>   2.      #include <stdlib.h>   3.      #include <time.h>   4.      #include <string.h>   5.      //system ("cls"); per sistemi windows   6.      using namespace std;   7.          8.      main () {   9.               10.              cout <<"------------------------------------------------------------"<<endl;  11.              cout <<"                          Blackjack "<<endl;  12.              cout <<"------------------------------------------------------------"<<endl;  13.              cout <<""<<endl;  14.              cout <<""<<endl;  15.              cout <<"-Men-------"<<endl;  16.              cout <<""<<endl;  17.              cout <<"Gioca (1)"<<endl;  18.              cout <<"Guida al gioco (2)"<<endl;  19.              cout <<"Valori carte (3)"<<endl;  20.              cout <<"Esci (4)"<<endl;  21.              cout <<""<<endl;  22.              int scelta;  23.              cout <<"Inserisci scelta: ";  24.              cin >> scelta;  25.         26.              switch (scelta) {  27.                      case (3):  28.                      system ("clear");  29.                      cout <<"Valori carte -------------------------------------------"<<endl;  30.                      cout <<"A=11"<<endl;  31.                      cout <<"K/Q/J/10 = 10"<<endl;  32.                      cout <<"Il resto dei numeri conservano il loro valore."<<endl;  33.                      cout <<"--------------------------------------------------------"<<endl;  34.                      int scelta1;  35.                      cout <<"Torna al men (1) - Esci (2)"<<endl;  36.                      cin >> scelta1;  37.                      if (scelta1 == 1) {  38.                      system ("clear");  39.                      return main ();  40.                  }else{  41.                      return 0;  42.                      }  43.                      case (4):  44.                               return 0;  45.                               break;  46.                  case (2):  47.                           system ("clear");  48.                           cout <<"Guida -----------------------------------------"<<endl;  49.                           cout <<"Una volta che i giocatori hanno fatto la loro puntata, il banchiere procedendo da sinistra verso destra assegna a ciascuno dei giocatori una carta scoperta in ogni postazione giocata, assegnando l'ultima al banco. Effettua poi un secondo giro di carte scoperte,senza per attribuirne una a se stesso. Avvenuta la distribuzione, il dealer legge in ordine il punteggio di ciascun giocatore invitandoli a manifestare il loro gioco: Essi potranno chiedere carta o stare, a loro discrezione. se un giocatore supera il 21 risulta perdente e il dealer incasser la puntata. Una volta che i giocatori hanno definito i loro punteggi il dealer sviluppa il suo gioco seguendo la regola del banco: egli deve tirare carta con un punteggio inferiore o uguale a 16. Una volta superato il 16 si deve fermare. Se oltrepassa il 21 il banco sballa e deve pagare tutte le puntate rimaste sul tavolo. Una volta definiti tutti i punteggi, il dealer confronta il proprio con quello degli altri giocatori, paga le combinazioni superiori alla sua, ritira quelle inferiori e lascia quelle in parit. Il pagamento delle puntate vincenti  alla pari."<<endl;  50.                           cout <<"Nel gioco  presente solo la variante giocatore vs mazziere."<<endl;  51.                       cout <<"-----------------------------------------------"<<endl;  52.                       int scelta2;  53.                               cout <<"Torna al men (1) - Esci (2)"<<endl;  54.                               cin >> scelta2;  55.                               if (scelta2 == 1) {  56.                               system ("clear");  57.                               return main ();  58.                           }else{  59.                               return 0;  60.                               }  61.                         62.                  case (1):  63.                               system ("clear");  64.                               cout <<"Carta ricevuta:"<<endl;  65.                               int carta_ric;  66.                               srand(time(NULL));  67.                               carta_ric=rand()%13;  68.                                69.                                switch (carta_ric) {  70.                                       case (11):  71.                                       cout <<"J";  72.                                       cout <<""<<endl;  73.                                       break;  74.                                       case (12):  75.                                       cout <<"Q";  76.                                       cout <<""<<endl;  77.                                       break;  78.                                       case (1):  79.                                       cout <<"K";  80.                                       cout <<""<<endl;  81.                                       break;  82.                                       case (0):  83.                                       cout <<"A";  84.                                       cout <<""<<endl;  85.                                       break;  86.         87.                                   }  88.                               if (carta_ric == 2 || carta_ric == 3 || carta_ric == 4 || carta_ric == 5 || carta_ric == 6 || carta_ric == 7 || carta_ric == 8 || carta_ric == 9 || carta_ric == 10) {  89.                                   cout<<carta_ric<<endl;  90.                                   cout<<""<<endl;  91.                               }  92.                                93.                               if (carta_ric == 1 || carta_ric == 12 || carta_ric == 11 || carta_ric == 10) {  94.                                       carta_ric = 10;  95.                                        96.                               }else if (carta_ric == 0) {  97.                                       carta_ric = 11;  98.                                        99.                               } 100.                               101.                               int carta_ric2; 102.                               cout <<"Seconda carta:"<<endl; 103.                               srand(time(NULL)); 104.                   carta_ric2=rand()%14; 105.                               if (carta_ric2 >=1) { 106.                               carta_ric2=carta_ric2-1; 107.                           } 108.                               switch (carta_ric2) { 109.                                       case (11): 110.                                       cout <<"J"; 111.                                       carta_ric2 = 10; 112.                                       cout <<""<<endl; 113.                                       break; 114.                                       case (12): 115.                                       cout <<"Q"; 116.                                       carta_ric2 = 10; 117.                                       cout <<""<<endl; 118.                                       break; 119.                                       case (1): 120.                                       cout <<"K"; 121.                                       carta_ric2 = 10; 122.                                       cout <<""<<endl; 123.                                       break; 124.                                       case (0): 125.                                       cout <<"A"; 126.                                       carta_ric2 = 11; 127.                                       cout<<""<<endl; 128.                                       break; 129.                                   case (10): 130.                                   cout <<"10"; 131.                                   carta_ric2 = 10; 132.                                   cout <<""<<endl; 133.                                   break; 134.                                   135.                                   } 136.                                   if (carta_ric2 == 2 || carta_ric2 == 3 || carta_ric2 == 4 || carta_ric2 == 5 || carta_ric2 == 6 || carta_ric2 == 7 || carta_ric2 == 8 || carta_ric2 == 9 ) { 137.                                      cout <<carta_ric2<<endl; 138.                                      cout <<""<<endl; 139.                                    } 140.                           141.                           142.                           int punteggio_pr = carta_ric+carta_ric2; 143.                           cout <<""<<endl; 144.                           cout <<"Punteggio provvisorio: "<<punteggio_pr<<endl; 145.                           cout <<""<<endl; 146.                           if (punteggio_pr == 21) { 147.                                               cout <<"Blackjack!"<<endl; 148.                                               cout <<"Hai battuto il banco!"<<endl; 149.                                               cout <<""<<endl; 150.                                               return 0; 151.                                       }else if (punteggio_pr > 21) { 152.                                               cout <<"Hai perso!"<<endl; 153.                                           return 0; 154.                                       155.                                   }else{      156.                       157.                       string scelta_1; 158.                               cout <<"Scrivere (carta) per richiedere un'altra carta o scrivere (stop) per fermarsi: "<<endl; 159.                               cin >> scelta_1; 160.                               161.                               if (scelta_1 == "carta") { 162.                               srand(time(NULL)); 163.                   int carta_ric3; 164.                   carta_ric3=rand()%13; 165.                               166.                               switch (carta_ric3) { 167.                                       case (11): 168.                                       cout <<"J"; 169.                                       carta_ric3 = 10; 170.                                       cout <<""<<endl; 171.                                       break; 172.                                       case (12): 173.                                       cout <<"Q"; 174.                                       carta_ric3 = 10; 175.                                       cout <<""<<endl; 176.                                       break; 177.                                       case (1): 178.                                       cout <<"K"; 179.                                       carta_ric3 = 10; 180.                                       cout <<""<<endl; 181.                                       break; 182.                                       case (0): 183.                                       cout <<"A"; 184.                                       carta_ric3 = 11; 185.                                       cout<<""<<endl; 186.                                       break; 187.                                   case (10): 188.                                   cout <<"10"; 189.                                   carta_ric3 = 10; 190.                                   cout <<""<<endl; 191.                                   break; 192.                                   193.                                   } 194.                                   195.                                   if (carta_ric3 == 2 || carta_ric3 == 3 || carta_ric3 == 4 || carta_ric3 == 5 || carta_ric3 == 6 || carta_ric3 == 7 || carta_ric3 == 8 || carta_ric3 == 9 ) { 196.                                      cout <<carta_ric3<<endl; 197.                                      cout <<""<<endl; 198.                                     199.                                    } 200.                           int punteggio_finale = punteggio_pr+carta_ric3; 201.                           cout <<""<<endl; 202.                       cout <<"Punteggio finale:  "<<punteggio_finale<<endl; 203.                       if (punteggio_finale > 21) { 204.                                               cout <<""<<endl; 205.                                               cout <<"Hai perso!"<<endl; 206.                                               cout <<""<<endl; 207.                                               return 0; 208.                                       }else if (punteggio_finale == 21) { 209.                                               cout <<""<<endl; 210.                                               cout <<"Blackjack! Hai vinto!"<<endl; 211.                                               cout <<""<<endl; 212.                                               return 0; 213.                      }else{ 214.                                              cout <<""<<endl; 215.                                              cout <<"Ora tocca al banco..."<<endl; 216.                          int mazziere; 217.                          srand(time(NULL)); 218.                              mazziere=rand()%21; 219.                          while (mazziere <= 16) { 220.                                                      srand(time(NULL)); 221.                                  mazziere=rand()%21; 222.                                              } 223.                          cout <<mazziere<<endl; 224.                          cout <<""<<endl; 225.                          if (mazziere == 21) { 226.                                  cout <<"Il banco vince! Ha fatto Blackjack."<<endl; 227.                                         228.                              } else if (punteggio_finale > mazziere) { 229.                                  cout <<"Complimenti! Hai battuto il banco."<<endl; 230.                              }else if (punteggio_finale < mazziere) { 231.                                  cout <<"Il banco ha realizzato un punteggio migliore del tuo. Hai perso."<<endl; 232.                              }else{ 233.                                  cout <<"Hai realizzato lo stesso punteggio del banco."<<endl; 234.                               } 235.                       } 236.      } else if (scelta_1 == "stop") { 237.                              cout <<""<<endl; 238.                              cout <<"Ora tocca al banco..."<<endl; 239.                              cout <<""<<endl; 240.                              int mazziere; 241.                          srand(time(NULL)); 242.                              mazziere=rand()%20; 243.                          244.                          while (mazziere <= 16) { 245.                                                      srand(time(NULL)); 246.                                  mazziere=rand()%21; 247.                                              } 248.                          249.                          cout <<mazziere<<endl; 250.                          cout <<""<<endl; 251.                          if (mazziere == 21) { 252.                                  cout <<"Il banco vince! Ha fatto Blackjack."<<endl; 253.                                       254.                              } else if (punteggio_pr > mazziere) { 255.                                  cout <<"Complimenti! Hai battuto il banco."<<endl; 256.                              }else if (punteggio_pr < mazziere) { 257.                                  cout <<"Il banco ha realizzato un punteggio migliore del tuo. Hai perso."<<endl; 258.                              }else{ 259.                                  cout <<"Hai realizzato lo stesso punteggio del banco."<<endl; 260.                               } 261.                    } 262.            } 263.         } 264.      }