-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEnemy.h
99 lines (76 loc) · 1.63 KB
/
Enemy.h
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include "Bomb.h"
class Enemy
{
public:
Texture tex;
Sprite sprite;
Bomb* bomb;
Enemy(std::string png_path)
{
tex.loadFromFile(png_path);
sprite.setTexture(tex);
sprite.setScale(0.5, 0.5);
bomb = new Bomb;
}
virtual int getScore()=0;
virtual ~Enemy()
{
delete bomb;
}
};
//-----------------------------------------------------------------//
class Invader : public Enemy
{
public:
Invader( std::string png_path) : Enemy(png_path) {}
virtual int getScore()=0;
};
//----------------------------------------------------------------------//
class Alpha_Invader : public Invader
{
public:
Alpha_Invader(): Invader("img/enemy_1.png"){}
int getScore()
{
return 10;
}
};
//----------------------------------------------------------------//
class Beta_Invader : public Invader
{
public:
Beta_Invader() : Invader("img/enemy_2.png"){}
int getScore()
{
return 20;
}
};
//---------------------------------------------------------------------------//
class Gamma_Invader : public Invader
{
public:
Gamma_Invader() : Invader("img/enemy_3.png")
{
sprite.setScale(0.4, 0.4);
}
int getScore()
{
return 30;
}
};
///////////////////////////////////////////////////////////////////////////////////////
// class Monster : public Enemy
// {
// public:
// Monster()
// {
// }
// };
// ///////////////////////////////////////////////////////////////////////////////
// class Dragon : public Enemy
// {
// public:
// Dragon()
// {
// }
// };