ELEC2645 (2018/19) / Mbed 2 deprecated el17aio

Dependencies:   mbed

RosenEngine/RosenEngine.h

Committer:
ikenna1
Date:
2019-04-20
Revision:
32:098fbc1222cd
Parent:
30:711d722f3cef
Child:
33:7a814c874c57

File content as of revision 32:098fbc1222cd:

#ifndef ROSENENGINE_H
#define ROSENENGINE_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Ship.h"
#include "Weapons.h"
#include "Menu.h"
#include "Enemy.h"
#include "Health.h"

class RosenEngine
{

public:
   RosenEngine();
    ~RosenEngine();
    
    void init(int ship_width,int ship_height,int ship_speed,int ship_xpos,int ship_ypos);
    void reset();
    void read_input(Gamepad &pad);
    void update(Gamepad &pad);
    void draw(N5110 &lcd, Gamepad &pad);
    void get_pos();
    void title(N5110 &lcd);
    int get_ycursor();
    int get_shipno();
    void ship_select(N5110 &lcd);

    
    int ship_xpos; 
    int ship_ypos; 
    int ship_width;
    int ship_height;
    //*** note: add ship width and ship heirgth in place of 6 and 9 to generalize arrays after they are finished
    
private:
    bool shooter_weapon_collision(int sh_no);
    bool enemy_ship_collision();
    bool enemy_projectile_collision();   
    void score(int points);
    
    // Variables
    Ship _ship;
    Weapons _weapons;
    Menu _menu;
    Enemy _enemy;
    Health _health;
    float _xjoystick;
    float _yjoystick;
    Direction _d;
    int _ycursor;
    int _shipno;
    int _score;
    

};
/************STUFF TO FIX******************************
**** add sound effects for sjield braking
**** add passive shield regeneration
**** work on score increase
**** add title screen with name
**** make it so title ship switches deopending on ship being used
**** make it so back asks you if you are sure and ststes that you will lose all progress
**** think of level system
**** orion should send out pulses that stun enemy ships and absorb thier shields(use draw line)
**** scale shields properly
**** fix the border issue(i.e the ships clip through healthbar)
**** make it so enemy ship spawning is random use srand
*/
#endif