Matis Requis 201241242

Dependencies:   mbed

Tempest Game

Game Screen

https://os.mbed.com/media/uploads/MatisRequis/tempest_board_wiki.png The board is made of 12 columns. The Hero stays at the top of the column

Game Controls

https://os.mbed.com/media/uploads/MatisRequis/gamepad_buttons.png

To control the hero spaceship point the joystick to the column you want the hero to go to.

Press the A button to shoot a bullet in the column you are currently in.

TempestEngine/TempestEngine.h

Committer:
MatisRequis
Date:
2020-05-26
Revision:
9:759b419fec3b
Parent:
7:94bc3e21d664
Child:
10:2ae9d4145410

File content as of revision 9:759b419fec3b:

#ifndef TEMPESTENGINE_H
#define TEMPESTENGINE_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Bullet.h"
#include "Hero.h"
#include "Board.h"
#include "Alien.h"

#include <vector>
#include <cstdlib>
#include <ctime>

class TempestEngine {

public:

    TempestEngine();
    ~TempestEngine();
    
    void init();
    void read_input(Gamepad &pad);
    void draw(N5110 &lcd);
    void update();
    
    //BULLET FUNCTIONS
    void create_bullets();
    void draw_bullets(N5110 &lcd);
    void update_bullets();
    
    //ALIEN FUNCTIONS
    void create_aliens();
    void draw_aliens(N5110 &lcd);
    void update_aliens();
    
private:
    //////////////////OBJECTS////////////////////
    Board _board;
    Hero _hero;
    
    
    /////////////////VARIABLES////////////////
    int _column_amount;
    int _bullet_speed;
    float _d;
    int _mag;
    int _a;
    int _bullet_timer;
    int _alien_timer;
    int _alienspeed;
    
    /////////////////VECTOR/////////////////
    std::vector<Bullet> bullet_vect;
    std::vector<Alien> alien_vect;
};

#endif