Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / 12-Practice-17.05.2022 / ex1 / Player.h
blob: e57eea2532f9213b09424cf37f29bb1799e82401 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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;
	}
};