⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blackjack.cpp

📁 BlackJack -Player vs Computer-
💻 CPP
字号:
//------------------------------------------------- |
//BlackJack w/ Dealer rules(most of them...I think) |
//By Sean Callan                                    |
//Finished : 4-7-2002                               |
//------------------------------------------------- |

#include <conio.h>
#include <iomanip.h>
//-----------------------|	
//Dealer related funtions|
//-----------------------|
   int dealersCards();
//-----------------------|

//-----------------------|	
//Player related funtions|
//-----------------------|
   void dealCards();
   void cardConvert();
   bool checkcards();
   void checkScore();
//-----------------------|

//-----------------------|
//All needed variables   |
//-----------------------|
//Player's
   int card,card_total;
   int games;
   int loses,wins;
//Dealer's
   int dealer_total,dealer_card;
//-----------------------|

   void blackJack()
   {
      int game_count = 0;
      cout << "\t Welcome to BlackJack\n";
      cout << "\n\n";
      cout << "How many games would you like to play?";
      cin >> games;
      do
      {
         card_total =0;
         dealer_total=0;
         dealCards();
         game_count++;
      }while(game_count < games);
      if(wins < 0)
         cout << "You never won, how sad\n";
      else if(wins > 0 && loses > 0)
      {
         cout << "You won " << wins << " times\n";
         cout << "You lose " << loses << " times\n";
      }
      else
      {
         cout << "WOW! You only won!\n";
         cout << wins << " wins in a row,nicely done!\n";
      }
   }


   void dealCards()
   {
      char yesORno;
      card = random(13)+1;
      cardConvert();
      card = random(13)+1;
      cardConvert();
      do
      {
         cout << "Your total is currently " << card_total << endl;
         cout << "Would you like another card(y/n)?";
         cin >> yesORno;
         if(yesORno == 'y')
         {
            card = random(13)+1;
            cardConvert();
            checkcards();
            if(checkcards() == false)
            {
               checkScore();
               yesORno = 'n';
            }
         }
         else
         {
            yesORno ='n';
            checkScore();
         }
      }while(yesORno != 'n');
   }

   void cardConvert()
   {
      switch(card)
      {
         case 1: cout << "You have an Ace\n";
            if(card_total+11 > 21)
               card_total = card_total+1;
            else
               card_total = card_total+11;
            break;
         case 11: cout << "You have a Jack\n";
            card_total = card_total+10;
            break;
         case 12: cout << "You have a Queen\n";
            card_total = card_total+10;
            break;
         case 13: cout << "You have a King\n";
            card_total = card_total+10;
            break;
         default: cout << "You have a " << card << endl;
            card_total = card_total+card;
            break;
      }
   }

   bool checkcards()
   {
      if(card_total < 21)
         return true;
      else
         return false; 
   }

   void checkScore()
   {
      if(card_total > 21 && dealer_total > 21)
      {
         cout << "You BUST!\n\n\n";
         loses++;
      } 
      else if(card_total > 21 && dealer_total < 21)
      {
         cout << "You BUST!\n\n\n";
         loses++;
      } 
      else if(card_total > 21 && dealer_total <= 21)
      {
         cout << "You BUST!\n\n\n";
         loses++;
      }
      else if(card_total < 21 && dealer_total > 21)
      {
         cout << "You WIN!\n\n\n";
         wins++;
      }
      else if(card_total > dealer_total && card_total < 21)
      {
         cout << "You WIN!\n\n\n";
         wins++;
      }
      else if(card_total == 21 && dealer_total > 21 || dealer_total < 21)
      {
         cout << "You WIN!\n\n\n";
         wins++;
      }
      else if(card_total < dealer_total && dealer_total < 21)
      {
         cout << "You LOSE!\n\n\n";
         loses++;
      }
      else if(card_total == dealer_total && card_total < 21)
      {
         cout << "You LOSE!\n\n\n";
         loses++;
      }
      else if(dealer_total == 21 && card_total < 21)
      {
         cout << "You LOSE!\n\n\n";
         loses++;
      }
   }

   int dealersCards()
   {
      dealer_card = random(10)+1;
      if(dealer_card == 1)
      {
         if(dealer_card+11 > 21)
            dealer_total = dealer_total+1;
         else
            dealer_total = dealer_total+11;
      }
      else
         dealer_total = dealer_total + dealer_card;
      dealer_card = random(10)+1;
      if(dealer_card == 1)
      {
         if(dealer_card+11 > 21)
            dealer_total = dealer_total+1;
         else
            dealer_total = dealer_total+11;
      }
      else
         dealer_total = dealer_total + dealer_card;
      do
      {
         dealer_card = random(10)+1;
         if(dealer_card == 1)
         {
            if(dealer_card+11 > 21)
               dealer_total = dealer_total+1;
            else
               dealer_total = dealer_total+11;
         }
         else
            dealer_total = dealer_total + dealer_card;
      }while(dealer_total < 17);
      return dealer_total;
   }

   int main()
   {
      randomize();
      blackJack();
      return 0;
   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -