diff options
Diffstat (limited to 'engine/enemy.cpp')
-rw-r--r-- | engine/enemy.cpp | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/engine/enemy.cpp b/engine/enemy.cpp index ed07dec..87e9e87 100644 --- a/engine/enemy.cpp +++ b/engine/enemy.cpp @@ -6,10 +6,8 @@ Enemy::Enemy(const Vector2& initpos, std::vector<BulletPattern*>& stage_patterns) : patterns(stage_patterns) { pos = initpos; - - texture = new TextureSDL("textures/enemy.png"); - patterns.push_back(new BulletPattern1(Vector2(0.5, 0.8))); + texture = new TextureSDL("textures/enemy.png"); } void Enemy::update() { @@ -28,3 +26,27 @@ void Enemy::draw() { glDisable(GL_TEXTURE_2D); } + +Enemy1::Enemy1(const Vector2& initpos, std::vector<BulletPattern*>& stage_patterns) : Enemy(initpos, stage_patterns) { + steps = 0; + + patterns.push_back(new BulletPattern1(initpos)); +} + +void Enemy1::update() { + steps++; + if(steps == 180) { + patterns.push_back(new BulletPattern2(pos)); + } +} + +Enemy2::Enemy2(const Vector2& initpos, std::vector<BulletPattern*>& stage_patterns) : Enemy(initpos, stage_patterns) { + steps = 0; +} + +void Enemy2::update() { + steps++; + if(steps == 660) { + patterns.push_back(new BulletPattern3(pos)); + } +} |