You could decide to give a warior the number 0, a rogue 1 and a priest 2. This makes your code a lot easier.
class enemy {
int type = -1;
Rect r;
5 void setType(int type) {
T.type = type;
}
void draw() {
10 switch(type) {
case 0: Images(=== warriorImage ===).draw(r); break;
case 1: Images(=== rogueImage ===).draw(r); break;
case 2: Images(=== priestImage ===).draw(r); break;
}
15 }
}
Although this is better than the first version, you will mess up sooner or later and use the wrong number somewhere. Or maybe you will use a number for which no class exists.