ELEC2645 (2018/19) / Mbed 2 deprecated el17m2h_public

Dependencies:   mbed

Enemy/Enemy.h

Committer:
el17m2h
Date:
2019-05-08
Revision:
26:d16a5b1e0ace
Parent:
24:67dc71a8f009
Child:
29:15e9640646b7

File content as of revision 26:d16a5b1e0ace:

#ifndef ENEMY_H
#define ENEMY_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Bullet.h"

/** Enemy class
@brief Class for the ghost enemies 
@author Melissa Hartmann
@date May 2019
*/

class Enemy{
public:
    Enemy();
    ~Enemy();
    /** 
    @brief Defines the initial position of the enemy
    @param float position_x uses float since the velocity will be added, which is not an integer.
    @param float position_y uses float since the velocity will be added, which is not an integer.
    @param double velocity_y needs to be double in order for it to decelerate to a small value that 
    approaches zero.
    @details The intial position of the doodler is at the centre of the screen and the values are 
    gotten from the Engine class. It also defines the gravity as a positive vale greater than 1 
    and the up object as a negative vale less than 1.
    */
    void init(float floor_pos_x, float floor_pos_y);
    void draw(N5110 &lcd);
    void update(float floor_pos_x, float floor_pos_y);
    Vector2D get_position(); 
    void set_position(Vector2D pos); // mutators
    void set_score(int score);
    
private:
    Bullet b;
    Vector2D _position;
    float bullet_pos_y;
    int _radius;
};
#endif