#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;
}