ELEC2645 (2018/19) / Mbed 2 deprecated el17aio

Dependencies:   mbed

RosenEngine/RosenEngine.h

Committer:
ikenna1
Date:
2019-04-30
Revision:
34:6d0786582d81
Parent:
33:7a814c874c57
Child:
35:3341f2bd0408

File content as of revision 34:6d0786582d81:

#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 shooter_ship_collision(int sh_no);
    bool seeker_ship_collision();
    bool enemy_projectile_collision();
    Vector2D shooter_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;
    int _shno;
    Vector2D _shooter1_pos;
    Vector2D _shooter2_pos;
    Vector2D _shooter3_pos;
    Vector2D _coloc;
    

};
/************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 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
**** add in options for lcd brightness and contrast
**** add in cheats
**** 
*/
#endif