Commit 75cbdec4 authored by Illia Aldabaiev's avatar Illia Aldabaiev
Browse files

class enemy

parent d32793bb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ project(SpaceTour_)

set(CMAKE_CXX_STANDARD 14)

add_executable(SpaceTour_ main.cpp OpenSpace.cpp OpenSpace.h ScreenController.cpp ScreenController.h Falcon_9.cpp Falcon_9.h)
add_executable(SpaceTour_ main.cpp OpenSpace.cpp OpenSpace.h ScreenController.cpp ScreenController.h Falcon_9.cpp Falcon_9.h Enemy.cpp Enemy.h Enemies.cpp Enemies.h)

add_compile_options(-Wall -Wextra)
include_directories(/usr/local/include)

Enemies.cpp

0 → 100644
+21 −0
Original line number Diff line number Diff line
#include "Enemies.h"

Enemies::Enemies(GameMode mode, sf::RenderWindow &win) : window(win), Enemy(mode)
{

    int speed = 10;

    for (int i = 0; i < 1; ++i)
    {
        Enemy enemy_n(mode);
        enemy.push_back(enemy_n);
    }
}

void Enemies::display_enemys()
{
    for (int i = 0; i < enemy.size(); ++i)
    {
        enemy[i].draw_enemy(window);
    }
}

Enemies.h

0 → 100644
+23 −0
Original line number Diff line number Diff line
#ifndef SPACETOUR__ENEMIES_H
#define SPACETOUR__ENEMIES_H

#include <vector>
#include "Enemy.h"



class Enemies : public Enemy{
    std::vector<Enemy> enemy;
    sf::RenderWindow &window;

public:
    Enemies(GameMode mode, sf::RenderWindow &win);
    void add_enemy();
    void remove_enemy(int &i);
    void display_enemys();

};



#endif

Enemy.cpp

0 → 100644
+55 −0
Original line number Diff line number Diff line
#include <iostream>
#include "Enemy.h"

Enemy::Enemy(GameMode mode)
{
    if (!enemy_texture.loadFromFile("../IMG/Red_enemy.png"))
    {
        std::cerr << strerror(errno) << std::endl;
        abort();
    }

    enemy.setTexture(enemy_texture);
    enemy.setPosition(400,360);
    switch (mode)
    {
        case NORMAL:
            health = 10;
            speed = 5;
            break;
        case HERO:
            health = 15;
            speed = 6;
            break;
        case GOD:
            health = 20;
            speed = 7;
            break;
    }
}

void Enemy::hit(int &h)
{
    health -= h;
}

void Enemy::setSpeed(int &s)
{
    health = s;
}

int Enemy::getHealth() const
{
    return health;
}

int Enemy::getSpeed() const
{
    return speed;
}

void Enemy::draw_enemy(sf::RenderWindow &win) const
{
    win.draw(enemy);
}

Enemy.h

0 → 100644
+27 −0
Original line number Diff line number Diff line
#ifndef SPACETOUR__ENEMY_H
#define SPACETOUR__ENEMY_H

#include <SFML/Graphics.hpp>



enum GameMode: int {NORMAL, HERO, GOD};

class Enemy {
    int health;
    int speed;
    sf::Texture enemy_texture;
    sf::Sprite enemy;

public:
    explicit Enemy(GameMode mode);
    void hit(int &h);
    void setSpeed(int &s);
    int getHealth() const;
    int getSpeed() const;
    void draw_enemy(sf::RenderWindow &win) const;
};



#endif
Loading