nstructions: modify the code below and add these features to this dice game: Multilevel Inheritance with polymorphism and includes at least one abstract class. Dynamic memory (new, delete) using pointers within a class. At least one template class. At least one operator overloading Add comments

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Instructions:

modify the code below and add these features to this dice game:

  • Multilevel Inheritance with polymorphism and includes at least one abstract class.
  • Dynamic memory (new, delete) using pointers within a class.
  • At least one template class.
  • At least one operator overloading

Add comments

 

Program:

File GamePurse.h:

class GamePurse

{

// data

int purseAmount;

public:

// public functions

GamePurse(int);

void Win(int);

void Loose(int);

int GetAmount();

};

 

File GamePurse.cpp:

#include "GamePurse.h"

// constructor initilaizes the purseAmount variable

GamePurse::GamePurse(int amount){

     purseAmount = amount;

}

// function definations

// add a winning amount to the purseAmount

void GamePurse:: Win(int amount){

     purseAmount+= amount;

}

//  deduct an amount from the purseAmount.

void  GamePurse:: Loose(int amount){

     purseAmount-= amount;

}

 

// return the value of purseAmount.

int GamePurse::GetAmount(){

     return purseAmount;

}

 

File main.cpp:

// include necessary header files

#include <stdlib.h>

#include "GamePurse.h"

#include<iostream>

#include<time.h>

using namespace std;

int main(){

     // create the object of GamePurse class

     GamePurse dice(100);

     int amt=1;

     // seed the random generator

     srand(time(0));

     // to play the dice game repeatedly

     while(amt!=0){

          cout<<"Welcome to the diceware game. You have 100 in your game purse."<<endl;

          cout<<"Enter a bet amount to play (0 means exit the program):"<<endl;

          cin>>amt;

          // exit condition

          if(amt==0){

              break;

          }

          // to to bet only a positive amount to play a game.

          while(amt<0){

              cout<<"Enter a bet amount to play (0 means exit the program):"<<endl;

              cin>>amt;

          }

          // generate the dice randomly

          int comp_dice = rand()%5 + 1;

          int user_dice = rand()%5 + 1;

          cout<<"Your dice is "<<user_dice<<endl;

          cout<<"Computer dice is "<<comp_dice<<endl;

          // update the purse amount

          if(user_dice>=comp_dice){

              cout<<"You won "<< amt <<" dollars!"<<endl;

              dice.Win(amt);

          }else{

              cout<<"You lost "<< amt <<" dollars!"<<endl;

              dice.Loose(amt);

          }

          cout<<"Your game purse now has "<< dice.GetAmount()<<" dollars"<<endl<<endl;

     }

     // exit statements

     cout<<"You choose to exit the program. Thank you and goodbye."<<endl;

}

Expert Solution
steps

Step by step

Solved in 7 steps with 4 images

Blurred answer
Knowledge Booster
Concept of pointer parameter
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-engineering and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY