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.

Bullet/Bullet.cpp

Committer:
MatisRequis
Date:
2020-05-27
Revision:
12:1f1907ebebeb
Parent:
10:2ae9d4145410

File content as of revision 12:1f1907ebebeb:

#include "Bullet.h"

Bullet::Bullet() {
    
}

Bullet::~Bullet() {
    
}

//initialises the current column and position in the column of the bullet and draws the path
void Bullet::init(int column) {
    _currentpos = 0;
    _column = column;
    _board.path();
    
}

//draws the bullet
void Bullet::draw(N5110 &lcd) {
    getxy();
    lcd.drawRect(_x, _y, 2, 2, FILL_BLACK);
}

//updates the bullet, moving it forward
void Bullet::update() {
    _currentpos++;
}

//checks if the bullet has reached the end of the lane
int Bullet::checkdelete() {
    if (_currentpos > 13) {
        return 1;   
    } else {
        return 0;
    }
}

//gets the coordinates of the bullet
Vector2D Bullet::getxy() {
    _x = _board.drawcolumn[_column][_currentpos].x;
    _y = _board.drawcolumn[_column][_currentpos].y;
    
    Vector2D bulletxy = {_board.drawcolumn[_column][_currentpos].x, _board.drawcolumn[_column][_currentpos].y};
    return bulletxy;
}  

//gets the current column and position in the column
Vector2D Bullet::getcolumnpos() {
    Vector2D p = {_column, _currentpos};
    return p;   
}