game of 21, person vs. computer. first closest to 21 without going over wins help fin

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mProgramz
    New Member
    • Nov 2009
    • 2

    game of 21, person vs. computer. first closest to 21 without going over wins help fin

    Code:
    //Specification: This program plays a version of
    //the card game of 21.
    //A human player is pitted against the computer.
    //The player who is the closest to 21 without
    //going over wins the hand. 
    #include <iostream>
    #include <ctime>
    #include <string>
    
    using namespace std;
    
    //prototypes...
    void play21(void);
    int dealCards(int, string);
    void hit(int &);
    void determineWinner(int, int);
    int Random(int, int);
    
    
    void main(){
    
           char keepPlaying = 'n'; //loop control variable
    
           do {
                  play21();
              
                  //keep playing?
                 cout << "Do you want to play anouther hand (y/n)?";
                 cin >> keepPlaying;
         } while(keepPlaying == 'Y' || keepPlaying == 'y');
    }
    
    void play21(void){
            //play one hand of 21
    
            //randomize the cards
            srand((int) time(0));
    
           // deal the cards
             int person = dealCards(2, "Your Cards:");
             cout << " = " << person << endl;
             int house = dealCards(2, "Computers Cards:");
             cout << " = " << house << endl;
    
            // Ask if human wants a hit and keep hitting...
            hit(person);
            cout << endl;
    
           //Determine if computer takes a hit
           while ((house < person) && (house <= 21) && (person <= 21)) {
                   house += dealCards(1, "The Computer takes a card ");
                   cout << endl;
            }
    
           //show who won....
           determineWinner(person, house);
    }
    
    void determineWinner(int humanScore, int houseScore) {
    //Compare the scores to see who won
    //Both the human and the house score totals are provided as arguments
    //Display total scores and indicate winner
    //possible outcomes: human wins, computer wins, tie
    
    }
    
    int dealCards(int numberOfCards, string message){
    //This function deals the cards
    //The number of cards to be dealt is provided as an argument
    //A message indicating which player is receiving the cards is also
    //given as an argument
    //The player message and the cards dealt is displayed to the screen
    //the total value of the dealt cards  is returned
    
    }
    
    void hit(int &playerScore){
    //This function asks the human if they want another card -- 'a hit'
    //the player's score total is accumulated as they take cards
    //the player can continue taking cards until they wish to stop or they exceed 21
    //After a card is taken (use the dealCards function) the user's current total is displayed
    //If the user goes over 21 'busted' is displayed
    
    }
    
    int Random(int lowerLimit, int upperLimit) {
    //returns a random number within the given boundary
             return 1 + rand() % (upperLimit - lowerLimit + 1);
    }
    Last edited by Banfa; Nov 20 '09, 09:31 PM. Reason: Added [code] ... [/code] tags
  • YarrOfDoom
    Recognized Expert Top Contributor
    • Aug 2007
    • 1243

    #2
    I'm sorry, but what exactly is your question?

    Also, when you're posting code, you can use code-tags (put [code] in front of your code, and [/code] behind it, and it will be nicely formatted). Other guidelines like this and rules can be found in the faq.

    Comment

    • mProgramz
      New Member
      • Nov 2009
      • 2

      #3
      Code:
      //Specification: This program plays a version of 
      //the card game of 21. 
      //A human player is pitted against the computer. 
      //The player who is the closest to 21 without 
      //going over wins the hand.  
      #include <iostream> 
      #include <ctime> 
      #include <string> 
        
      using namespace std; 
        
      //prototypes... 
      void play21(void); 
      int dealCards(int, string); 
      void hit(int &); 
      void determineWinner(int, int); 
      int Random(int, int); 
        
        
      void main(){ 
        
             char keepPlaying = 'n'; //loop control variable 
        
             do { 
                    play21(); 
        
                    //keep playing? 
                   cout << "Do you want to play anouther hand (y/n)?"; 
                   cin >> keepPlaying; 
           } while(keepPlaying == 'Y' || keepPlaying == 'y'); 
      } 
        
      void play21(void){ 
              //play one hand of 21 
        
              //randomize the cards 
              srand((int) time(0)); 
        
             // deal the cards 
               int person = dealCards(2, "Your Cards:"); 
               cout << " = " << person << endl; 
               int house = dealCards(2, "Computers Cards:"); 
               cout << " = " << house << endl; 
        
              // Ask if human wants a hit and keep hitting... 
              hit(person); 
              cout << endl; 
        
             //Determine if computer takes a hit 
             while ((house < person) && (house <= 21) && (person <= 21)) { 
                     house += dealCards(1, "The Computer takes a card "); 
                     cout << endl; 
              } 
        
             //show who won.... 
             determineWinner(person, house); 
      } 
        
      void determineWinner(int humanScore, int houseScore) { 
      //Compare the scores to see who won 
      //Both the human and the house score totals are provided as arguments 
      //Display total scores and indicate winner 
      //possible outcomes: human wins, computer wins, tie 
        
      } 
        
      int dealCards(int numberOfCards, string message){ 
      //This function deals the cards 
      //The number of cards to be dealt is provided as an argument 
      //A message indicating which player is receiving the cards is also 
      //given as an argument 
      //The player message and the cards dealt is displayed to the screen 
      //the total value of the dealt cards  is returned 
        
      } 
        
      void hit(int &playerScore){ 
      //This function asks the human if they want another card -- 'a hit' 
      //the player's score total is accumulated as they take cards 
      //the player can continue taking cards until they wish to stop or they exceed 21 
      //After a card is taken (use the dealCards function) the user's current total is displayed 
      //If the user goes over 21 'busted' is displayed 
        
      } 
        
      int Random(int lowerLimit, int upperLimit) { 
      //returns a random number within the given boundary 
               return 1 + rand() % (upperLimit - lowerLimit + 1); 
      }

      Comment

      • Banfa
        Recognized Expert Expert
        • Feb 2006
        • 9067

        #4
        You have still not asked a question!

        If you are having a prblem with the post code then you need to either post any compiler and linker errors you are getting or post a description of the runtime errors including, expected behaviour, actual behaviour, input data, output.

        Additionally you need to have the courtesy to actually ask for the help you require.

        Comment

        Working...