Carbastan

Black Jack - Carbastan

May 14th, 2023
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.75 KB | Gaming | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cmath>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. int calculator = 0, jucator = 0;
  9. long long sumaTotala, sumaBagata;
  10. bool soft = false;
  11.  
  12. char carti[13] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A'};
  13.  
  14. void pariere()
  15. {
  16.     cout << "CAT BAGI, PISPIREL?:\n";
  17.     cin >> sumaBagata;
  18.  
  19.     cout << "AI PUS IN JOC " << sumaBagata << "RON\n";
  20. }
  21.  
  22. int valoareCarte(char carte)
  23. {
  24.     switch (carte)
  25.     {
  26.         case 2:
  27.             return 2;
  28.         case 3:
  29.             return 3;
  30.         case 4:
  31.             return 4;
  32.         case 5:
  33.             return 5;
  34.         case 6:
  35.             return 6;
  36.         case 7:
  37.             return 7;
  38.         case 8:
  39.             return 8;
  40.         case 9:
  41.             return 9;
  42.         case 10:
  43.             return 10;
  44.         case 'J':
  45.             return 10;
  46.         case 'Q':
  47.             return 10;
  48.         case 'K':
  49.             return 10;
  50.         case 'A':
  51.             if(soft == true)
  52.                 return 11;
  53.             else
  54.                 return 1;
  55.     }
  56. }
  57.  
  58. void joaca()
  59. {
  60.     string raspuns;
  61.  
  62.     do
  63.     {
  64.         cout << "DORESTI SA JOCI SOFT?\nDA/NU:";
  65.         cin >> raspuns;
  66.         cin.clear();
  67.         fflush(stdin);
  68.  
  69.         if(raspuns == "DA" or raspuns == "da")
  70.         {
  71.             soft = true;
  72.             break;
  73.         }
  74.         else if(raspuns == "NU" or raspuns == "nu") break;
  75.         else
  76.         {
  77.             cout << "RASPUNS INVALID\n";
  78.         }
  79.     } while (true);
  80.  
  81.     cout << "\n***************\n";
  82.     cout << "JOCUL A INCEPUT\n";
  83.     cout << "***************\n\n";
  84.  
  85.     int ct = 0;
  86.     bool arata = false;
  87.  
  88.     do
  89.     {
  90.         if(jucator == 0)
  91.         {
  92.             int carteRand = rand() % 13;
  93.            
  94.             if(carteRand >= 0 and carteRand <= 8)
  95.                 cout << "AI TRAS " << carteRand + 2 << "\n";
  96.             else
  97.                 cout << "AI TRAS " << carti[carteRand] << "\n";
  98.             jucator += valoareCarte(carti[carteRand]);
  99.             cout << "VALOARE CARTE: " << valoareCarte(carti[carteRand]) << "\n";
  100.             cout << "AI " << jucator << "PC\n";
  101.  
  102.             ++ct;
  103.         }
  104.         else
  105.         {
  106.             int alegereJoc;
  107.             if(ct < 2)
  108.             {
  109.                 cout << "*******\n";
  110.                 cout << "OPTIUNI: \n";
  111.                 cout << "1: TRAGE\n";
  112.                 cout << "*******\n";
  113.  
  114.                 cin >> alegereJoc;
  115.                 cin.clear();
  116.                 fflush(stdin);
  117.  
  118.                 if(alegereJoc == 1)
  119.                 {
  120.                     ++ct;
  121.                     int carteRand = rand() % 13;
  122.                     if(carteRand >= 0 and carteRand <= 8)
  123.                         cout << "AI TRAS " << carteRand + 2 << "\n";
  124.                     else
  125.                         cout << "AI TRAS " << carti[carteRand] << "\n";
  126.                     cout << "VALOARE CARTE: " << valoareCarte(carti[carteRand]) << "\n";
  127.                     jucator += valoareCarte(carti[carteRand]);
  128.                     cout << "AI " << jucator << "PC\n";
  129.  
  130.                     if(calculator <= 12)
  131.                     {
  132.                         carteRand = rand() % 13;
  133.                         calculator += valoareCarte(carti[carteRand]);
  134.                     }
  135.                 }
  136.                 else
  137.                 {
  138.                     cout << "ALEGERE NEVALIDA\n";
  139.                 }
  140.             }
  141.             else if(ct >= 2 and arata == false)
  142.             {
  143.                 cout << "*******\n";
  144.                 cout << "OPTIUNI: \n";
  145.                 cout << "1: TRAGE\n";
  146.                 cout << "2: STAI\n";
  147.                 cout << "*******\n";
  148.  
  149.                 cin >> alegereJoc;
  150.                 cin.clear();
  151.                 fflush(stdin);
  152.  
  153.                 if(alegereJoc == 1)
  154.                 {
  155.                     ++ct;
  156.                     int carteRand = rand() % 13;
  157.                     if(carteRand >= 0 and carteRand <= 8)
  158.                         cout << "AI TRAS " << carteRand + 2 << "\n";
  159.                     else
  160.                         cout << "AI TRAS " << carti[carteRand] << "\n";
  161.                     cout << "VALOARE CARTE: " << valoareCarte(carti[carteRand]) << "\n";
  162.                     jucator += valoareCarte(carti[carteRand]);
  163.                     cout << "AI " << jucator << "PC\n";
  164.  
  165.                     if(calculator <= 12)
  166.                     {
  167.                         carteRand = rand() % 13;
  168.                         calculator += valoareCarte(carti[carteRand]);
  169.                     }
  170.                     else
  171.                     {
  172.                         arata = true;
  173.                         continue;
  174.                     }
  175.                 }
  176.                 else if(alegereJoc == 2)
  177.                 {
  178.                     ++ct;
  179.                     if(calculator <= 12)
  180.                     {
  181.                         int carteRand = rand() % 13;
  182.                         calculator += valoareCarte(carti[carteRand]);
  183.                         cout << "CALCULATORUL A TRAS CARTE\n";
  184.                     }
  185.                     else
  186.                     {
  187.                         arata = true;
  188.                         continue;
  189.                     }
  190.                 }
  191.                 else
  192.                 {
  193.                     cout << "ALEGERE NEVALIDA\n";
  194.                 }
  195.             }
  196.             else if(arata == true)
  197.             {
  198.                 cout << "*******\n";
  199.                 cout << "OPTIUNI: \n";
  200.                 cout << "1: TRAGE\n";
  201.                 cout << "2: ARATA CARTILE\n";
  202.                 cout << "*******\n";
  203.  
  204.                 cin >> alegereJoc;
  205.                 cin.clear();
  206.                 fflush(stdin);
  207.  
  208.                 if(alegereJoc == 1)
  209.                 {
  210.                     ++ct;
  211.                     int carteRand = rand() % 13;
  212.                     if(carteRand >= 0 and carteRand <= 8)
  213.                         cout << "AI TRAS " << carteRand + 2 << "\n";
  214.                     else
  215.                         cout << "AI TRAS " << carti[carteRand] << "\n";
  216.                     cout << "VALOARE CARTE: " << valoareCarte(carti[carteRand]) << "\n";
  217.                     jucator += valoareCarte(carti[carteRand]);
  218.                     cout << "AI " << jucator << "PC\n";
  219.                 }
  220.                 else if(alegereJoc == 2)
  221.                 {
  222.                     ++ct;
  223.                     break;
  224.                 }
  225.                 else
  226.                 {
  227.                     cout << "ALEGERE NEVALIDA\n";
  228.                 }
  229.             }
  230.         }
  231.     } while (true);
  232.  
  233.     cout << "\nTU AI " << jucator << "PC, IAR CALCULATORUL " << calculator << "PC\n";
  234.  
  235.     if(jucator > 21 and calculator > 21)
  236.     {
  237.         if(jucator == calculator)
  238.         {
  239.             cout << "\n*********\n";
  240.             cout << "EGALITATE\n";
  241.             cout << "*********\n";
  242.  
  243.             cout << "N-AI PIERDUT NICIUN LEU, SARACULE!\n";
  244.             cout << "CASTIG: " << 0 << "RON\n";
  245.             cout << "STIU CA VREI SA MAI JOCI. CINE STIE? POATE CASTIGI SI CHIAR O SA FACI PROFIT.\n\n";
  246.         }
  247.         else if(jucator < calculator)
  248.         {
  249.             cout << "\n*********\n";
  250.             cout << "AI CASTIGAT\n";
  251.             cout << "*********\n";
  252.  
  253.             cout << "AI CASTIGAT, BAROSANE!\n";
  254.             cout << "CASTIG: " << 2 * sumaBagata << "RON\n";
  255.             cout << "STIU CA VREI SA MAI JOCI. CINE STIE? POATE CASTIGI SI FACI MAI MULT PROFIT.\n\n";
  256.             sumaTotala += 2 * sumaBagata;
  257.         }
  258.         else
  259.         {
  260.             cout << "\n*********\n";
  261.             cout << "AI PIERDUT\n";
  262.             cout << "*********\n";
  263.  
  264.             cout << "AI PIERDUT, BAROSANE!\n";
  265.             cout << "PIERDERE: " << -sumaBagata << "RON\n";
  266.             cout << "STIU CA VREI SA MAI JOCI. CINE STIE? POATE CASTIGI SI RECUPEREZI ACEASTA PIERDERE.\n\n";
  267.             sumaTotala -= sumaBagata;
  268.         }
  269.     }
  270.     else if(jucator <= 21 and calculator <= 21)
  271.     {  
  272.         if(jucator == calculator)
  273.         {
  274.             cout << "\n*********\n";
  275.             cout << "EGALITATE\n";
  276.             cout << "*********\n";
  277.  
  278.             cout << "N-AI PIERDUT NICIUN LEU, SARACULE!\n";
  279.             cout << "STIU CA VREI SA MAI JOCI. CINE STIE? POATE CASTIGI SI CHIAR O SA FACI PROFIT.\n\n";
  280.         }
  281.         else if(jucator > calculator)
  282.         {
  283.             cout << "\n*********\n";
  284.             cout << "AI CASTIGAT\n";
  285.             cout << "*********\n";
  286.  
  287.             cout << "AI CASTIGAT, BAROSANE!\n";
  288.             cout << "CASTIG: " << 2 * sumaBagata << "RON\n";
  289.             cout << "STIU CA VREI SA MAI JOCI. CINE STIE? POATE CASTIGI SI FACI MAI MULT PROFIT.\n\n";
  290.  
  291.             sumaTotala += 2 * sumaBagata;
  292.         }
  293.         else
  294.         {
  295.             cout << "\n*********\n";
  296.             cout << "AI PIERDUT\n";
  297.             cout << "*********\n";
  298.  
  299.             cout << "AI PIERDUT, BAROSANE!\n";
  300.             cout << "PIERDERE: " << -sumaBagata << "RON\n";
  301.             cout << "STIU CA VREI SA MAI JOCI. CINE STIE? POATE CASTIGI SI RECUPEREZI ACEASTA PIERDERE.\n\n";
  302.  
  303.             sumaTotala -= sumaBagata;
  304.         }
  305.     }
  306.     else if(jucator > 21)
  307.     {
  308.         cout << "\n*********\n";
  309.         cout << "AI PIERDUT\n";
  310.         cout << "*********\n";
  311.  
  312.         cout << "AI PIERDUT, BAROSANE!\n";
  313.         cout << "PIERDERE: " << -sumaBagata << "RON\n";
  314.         cout << "STIU CA VREI SA MAI JOCI. CINE STIE? POATE CASTIGI SI RECUPEREZI ACEASTA PIERDERE.\n\n";
  315.  
  316.         sumaTotala -= sumaBagata;
  317.     }
  318.     else if(calculator > 21)
  319.     {
  320.         cout << "\n*********\n";
  321.         cout << "AI CASTIGAT\n";
  322.         cout << "*********\n";
  323.  
  324.         cout << "AI CASTIGAT, BAROSANE!\n";
  325.         cout << "CASTIG: " << 2 * sumaBagata << "RON\n";
  326.         cout << "STIU CA VREI SA MAI JOCI. CINE STIE? POATE CASTIGI SI FACI MAI MULT PROFIT.\n\n";
  327.  
  328.         sumaTotala += 2 * sumaBagata;
  329.     }
  330. }
  331.  
  332. int main()
  333. {
  334.     srand(time(NULL));
  335.  
  336.     int alegere;
  337.  
  338.     do
  339.     {
  340.         cout << "PROFIT: " << sumaTotala << "RON\n";
  341.         cout << "**********\n";
  342.         cout << "BLACK JACK\n";
  343.         cout << "**********\n";
  344.  
  345.         cout << "**********\n";
  346.         cout << "OPTIUNI: \n";
  347.         cout << "1: JOACA \n";
  348.         cout << "2: PLEACA \n";
  349.         cout << "**********\n";
  350.  
  351.         cin >> alegere;
  352.  
  353.         cin.clear();
  354.         fflush(stdin);
  355.  
  356.         switch (alegere)
  357.         {
  358.         case 1:
  359.             calculator = jucator = 0;
  360.             soft = false;
  361.             pariere();
  362.             joaca();
  363.             break;
  364.        
  365.         case 2:
  366.             cout << "MARE GRESEALA, FRAIERE!";
  367.             break;
  368.        
  369.         default:
  370.             cout << "ALEGERE NEVALIDA\n";
  371.             break;
  372.         }
  373.     } while (alegere != 2);
  374.    
  375.     return 0;
  376. }
Add Comment
Please, Sign In to add comment