DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   C++ (http://www.daniweb.com/forums/forum8.html)
-   -   Craps, game help! (http://www.daniweb.com/forums/thread10315.html)

Mr.PinkBunny Sep 4th, 2004 2:12 pm
Craps, game help!
 
I've been studying VC++ for about 2 months, and I was working on my first game from a book (Game Programming All In One)
The game is 'Craps', it's a dice game. Anyways, I've had a few prolems with the codeing, can someone help me? (Windows 32 Console)
Here is the game....


#include <iostream>                                        // Includeing Headers
#include <stdlib.h>                                       
#include <time.h>

using namespace std;                                      // Language
                                                          // Global Variables
void ShowIntroScreen (void), ShowInformation (unsigned long Money);
short GetBet (void), DoDiceThrow (void);                               
unsigned short DoMoneyCalc (short Dice, short Bet, short BetMoney);
unsigned long GetAmount (void);

main (void)
    {
        unsigned long MoneyEarned, Money;                   
            short DiceValue, Bet, BetMoney;


            ShowIntroScreen ();
            Money = 1000;

            do                                                  // Loop Actions
                {
                    ShowInformation (Money);                 

                      Bet          = GetBet ();
                    BetMoney    = GetAmount ();
                    DiceValue    = DoDiceThrow ();
                    MoneyEarned  = DoMoneyCalc (DiceValue, Bet, BetMoney);

                    Money -= BetMoney;

                        if (MoneyEarned == 0 )
                            {
                                cout << "You have lost.  The number was: " << DiceValue << endl << endl;
                    }
                        else
                            {
                                cout << "You won " << MoneyEarned - BetMoney;
                                cout << " dollars. Number was: " << DiceValue;
                                cout << endl << endl;

                                Money += MoneyEarned;
                          }
          }
        while (Money > 100);
            cout << "Game Over. Keep $" << Money << " for the ride home\n";

            return 0;
}
                       
void ShowIntroScreen (void)                                // Rules and Start Up
    {
                        cout << "    Welcome to Craps 1.0" << endl << endl;
                    cout << " Here are the rules:" << endl << endl;
            cout << "You have 1000 dollars to start gambling. ";
                        cout << endl << endl;
               
                        cout << "There are three types of bets. You can bet on: " << endl << endl;
                        cout << "  - 2 and 12 which will give you the ratio of 5 to 1 if you win.\n";
                        cout << "  - 4 and 10 which will give you the ratio of 2.5 to 1 if you win.\n";
                        cout << "  - 6 and 8 which will give you the ration of 1.5 and 1 if you win.";
                            cout << endl << endl;

                        cout << "The minimum amount of money you can bet is 10 dollars and \n" " the highest amount of money you can bet is 100.";
                                cout << endl << endl;
            cout << "Have fun playing!";
                                cout << endl << endl;

    }

void ShowInformation (unsigned long Money)                // Money Display
    {
                                cout << "You have : " << Money << " dollars.";
                                    cout << endl << endl;
    }

short GetBet (void)                                        // Gets Bet Type
    {
        unsigned short BetType;   


        cout << "Enter a type of bet ( 1 = '6/8',  2 = '4/10',  3 = '2/12': ";
        cin >> BetType;

        if ((BetType == 1) || (BetType == 2) || (BetType == 3))
        {
                    return BetType;
            }
        else
            {
                    return 1;
        }

short DoDiceThrow (void)                                  // Randomized Numbers
    {
            short DiceValue;
       

            srand (time (NULL));
            DiceValue = (rand () % 11) + 2;

        if ((DiceValue == 4 ) || (DiceValue == 10))
            {
                    srand (time (NULL));
                    DiceValue == (rand () % 12) + 1;
            }

        if ((DiceValue == 2) || (DiceValue == 12))
            {
                    srand (time (NULL));
                    DiceValue = (rand () % 12) + 1;
           
                  if ((DiceValue == 2) || (DiceValue == 12))
                {
                        srand (time (NULL));
                        DiceValue = (rand () % 12) + 1;
                }
        }
return DiceValue;
          }
                                                          // Calculating Data
unsigned short DoMoneyCalc (short Dice, short Bet, short BetMoney)
{
          unsigned long MoneyEarned = 0;


          switch (Bet)
              case 1:
                      if ((Dice == 6) || (Dice == 8))
                              {
                                          MoneyEarned = BetMoney * 1.5;
                                  }
                                  break; break;
                  case 2:
                          if ((Dice == 10) || (Dice == 4))
                              {
                                          MoneyEarned = BetMoney * 2.5;
                                  }
                                  break; break;
                  case 3:
                          if ((Dice == 3) || (Dice == 12))
                              {
                                      MoneyEarned = BetMoney * 5;
                              }
                              break;
                              default;
                                  MoneyEarned = 0;
                                  break;
      }

  return MoneyEarned;
        }

        unsigned long GetAmount (void)                       
                    {
                          unsigned short BetAmount;
                cout << "Enter amount to bet (min 10 - max 100): ";
                                  cin >> BetAmount;

                if (BetAmount < 10)
                    {
                            BetAmount = 10;
                    }

                if (BetAmount > 100)
                    {
                            BetAmount = 100;
                    }
               
                return BetAmount;
        }
I've had a few problems with this book already, it's about 2 years old or so, it uses an older version of c++ and there has been some
modifications over those few years. ANYWAYS!!! I need help, here are the errors!



c:\Projects\Craps\Craps.cpp(151): error C2065: 'MoneyEarned' : undeclared identifier
c:\Projects\Craps\Craps.cpp(95): error C2601: 'DoDiceThrow' : local function definitions are illegal
c:\Projects\Craps\Craps.cpp(123): error C2601: 'DoMoneyCalc' : local function definitions are illegal
c:\Projects\Craps\Craps.cpp(26): warning C4244: '=' : conversion from 'unsigned long' to 'short', possible loss of data


All times are GMT -4. The time now is 1:36 pm.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC