Question: We're going to revisit the robot code from the 'functions' lab and turn the code into a class called 'Robot'. We're then going to make
We're going to revisit the robot code from the 'functions' lab and turn the code into a class called 'Robot'. We're then going to make a multiplayer game where players race to build their robots. This will use a vector of robot objects.
You will use the RobotController class to managed both the game, players and Robots.
You need to complete the RobotController and Robot classes based onthe code I provide in a later slide.
Using the rules from the previous robot (repeated on the next slide), make a robot with the following methods to the Robot class
Robot(); // Constructor that initializes the robot to 'empty' bool addPart(); // Part will be 'Leg' or 'Hand', etc. Gives the Robot that part only // if the rules allow it (This is where the logic resides) return true // if the part was added, false otherwise int countPart(); // Returns the number of parts of that type added bool complete(); // Returns true if the robot is complete or false if not void print(); // Prints the robot part counts in a single neatly formatted line void setName(string name); // Set the 'name' of the player using that robot string getName(); // Returns the name of the Robot
| If the dice roll is, | you may add this part | if you already have this number of parts | and no more than this amount. |
| 1 | Foot | Any. You can always add a Foot | 2 |
| 2 | Leg | A free Foot. If the number of Feet is more than the number of Legs, you can add a Leg | 2 |
| 3 | Torso | 2 Legs | 1 |
| 4 | Arm | Torso | 2 |
| 5 | Hand | A free Arm. If the number of Arms is more than the number of Hands, you can add a Hand. | 2 |
| 6 | Head | Torso | 1 |
| 7 | Antenna | Head | 1 |
| 8 | Laser | Hand | 1 |
This class maintains the vector
void initializeGame(int numPlayers);
void playGame();
These are described in the template code I've provided on a later slide.
P.S- i've posted this question before but the answer had an issue saying 'Implicit conversion loses integer precision: 'time_t' (aka 'long') to 'unsigned int'' and 'Control may reach end of non-void function'
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
