ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18jkeo

Dependencies:   mbed

Ship/Ship.h

Committer:
josh_ohara
Date:
2020-05-15
Revision:
25:823b1a997a0c
Parent:
21:970807533b10
Child:
26:31a729ec7e76

File content as of revision 25:823b1a997a0c:

#ifndef SHIP_H
#define SHIP_H

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

/** Ship Class
@author Joshua Ohara, el18jkeo, 201291390
@brief Controls the ship  
@date May 2020
*/ 

class Ship
{
    
public: 
/** Constructor */
    Ship();
/** Destructor */
    ~Ship();
/** Set the score
 * @param the value of the score (int)
 */
    void init(int height, int width);        //dimensions of the ship without shooter, y position is bottom of the screen
    void render(N5110 &lcd);                          //Draws basic rectangle ship
    Vector2D get_position();                        //Returns position of ship
    void update(Direction d, float mag, Gamepad &pad, N5110 &lcd, int counter);            //Interface between joystick and ship control
    int get_height();
    int get_width();
    void set_life(bool life);
    bool get_life();
    vector<Bullet> get_bullet_vector();
    void set_bullet_hit(int i, bool hit);
    
private:
    int Height;
    int Width;
    int X;
    int Y;                                           
    int Speed;                                       
    bool Life;
    BulletS ship_bullet_vector;
};

#endif