ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18jkeo

Dependencies:   mbed

Alien/Alien.cpp

Committer:
josh_ohara
Date:
2020-04-03
Revision:
14:e88bcf5c0887
Parent:
13:b85f14d35be1
Child:
15:dde4ce4bf7fe

File content as of revision 14:e88bcf5c0887:

#include "Alien.h"


void Alien::init(int x, int y, int size) {
    Alive = true;
    StartX = x;
    StartY = y;
    X = x;
    Y = y;
    Size = size;
    Speed = 1;
}

void Alien::render(N5110 &lcd) {
    if(Alive == true){
        lcd.drawRect(X, Y, Size, Size, FILL_BLACK);
    } 
}

Vector2D Alien::get_position() {
    Vector2D p = {X,Y};
    return p;
}

void Alien::update(int step_x, int remainder_x, Gamepad &pad) {
    X+=Speed;
    int _step_x = step_x;
    int _remainder_x = remainder_x;
    if (X < 1 + _remainder_x*_step_x) {
        X = 1 + _remainder_x*_step_x;
        Speed = -Speed;
        Y = Y + 2;
    }
    if (X > WIDTH - Size - 1 - (4-_remainder_x)*_step_x) {
        X = WIDTH - Size - 1 - (4-_remainder_x)*_step_x;
        Speed = -Speed;
        Y = Y + 2;
    }
}

void Alien::set_life(bool x){
    Alive = x;
    }