Game Design Lab 1
Introduction/review of C++ and Classes
Due Wednesday, August 28
This lab is intended to make sure everybody thinks about object oriented programming and C++, in preparation to use it in creating a game engine. The file lab1main.cpp is given, and contains a test routine expecting a class called "astronaut". The astronaut class must have 4 properties and 2 methods. The properties are:
- name : The name of the astronaut. Data type is string.
- age : The age of the astronaut, which must default to 26. Data type is int, or unsigned int if you prefer.
- alive : Whether or not the astronaut is alive. This must start as true. Data type is bool.
- flights : Number of space flights the astronaut has experienced. This should start at 0.
Methods are as follows:
- A constructor : This takes one string argument, which is the astronaugt's name. It is used to initialize the name property.
- void fly() : This is called when the astronaut is flown. It must increment flights. It should also give a 10% chance the astronaut dies, in which case the alive property will be changed to false.
Note from looking at lab1main.cpp that all properties are expected to be public. This stakes a position in an unresolved CS debate, which contradicts the standard practice given in many tutorials. It will simplify your code in this case. Do keep in mind that in many cases it is preferred to add extra methods soley to access properties (accessor methods). Take CS211 and CS311 (you may have already) for a more detailed discussion of the nature of object-oriented programming. At some point, you will likely form a strong opinion on this topic, and this point may have been in the past.