enum Star { One = 128, Two = 256, Three = 512, Four = 1024, Five = 2048, }; class Player { protected: int ID; short points; Star star; public: Player() { ID = 0; points = 0; star = One; } virtual bool levelUp() { bool can = star < Five && points >= (star << 1); if (can) { star = (Star)(star << 1); points -= star; } return can; } };