aboutsummaryrefslogtreecommitdiff
path: root/week09/Exam1/Drone.h
blob: a45cceb7efb5fb981f54cdcdb8825f0a8f1218a2 (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
30
31
32
33
34
// Помощна структура за метода moveWithOneStep
struct Coordinate {
	double x;
	double y;
};

class Drone {
	// +0.25 За член данни
	char* id;
	char generatedPath[64];
	// Валидна интерпретация е position да бъде индекс, нищо не му противоречи
	int position;

	// +1.25 За голяма петица
	void free();
	void copyFrom(const Drone& other);
public:
	Drone();
	~Drone();
	Drone(const Drone& other);
	Drone& operator=(const Drone& other);
	Drone(Drone&& other);
	Drone& operator=(Drone&& other);

	// +0.50 За метод
	void printGeneratedPath();
	// +0.50 За метод
	Coordinate moveWithOneStep();

	// Помощна за 2.2, метод play
	Coordinate positionAndMove();
	// Помощна за 3.1
	Drone(const char* id, char generatedPath[64], int position);
};