Enumerations (also often called ‘enums’) allow us to display numbers as text. Take an enemy class for example. The enemy could be a warrior, a rogue or a priest. Depending on that choice, another image would be displayed on the screen. You could use booleans to remember what type of enemy you’re dealing with:
class enemy {
bool warrior = false;
bool rogue = false;
bool priest = false;
5 Rect r;
void setWarrior() {
warrior = true ;
rogue = false;
10 priest = false;
}
// the methods setRogue and setPriest are similar
// ...
15
void draw() {
if (warrior) Images(=== warriorImage ===).draw(r);
else if(rogue ) Images(=== rogueImage ===).draw(r);
else if(priest ) Images(=== priestImage ===).draw(r);
20 }
}
Even though this works, it isn’t very efficient. Right now, we only got 3 types of enemies, but the more possibilities you have, the more variables you need to change when selecting a type. It would be much better to use a single variable.