ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18jkeo

Dependencies:   mbed

Alien/Alien.cpp

Committer:
josh_ohara
Date:
2020-03-27
Revision:
10:9189419fda68
Parent:
9:8e695df3cc36
Child:
12:be491ab6e742

File content as of revision 10:9189419fda68:

#include "Alien.h"


void Alien::init(int y, int size) {
    Alive = true;
    X = WIDTH/2 - Size/2;
    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(N5110 &lcd) {
    X+=Speed;
    
    if (X < 1) {
        X = 1;
        Speed = -Speed;
    }
    if (X > WIDTH - Size - 1) {
        X = WIDTH - Size - 1;
        Speed = -Speed;
    }
    collision(lcd);
}
    
void Alien::collision(N5110 &lcd) {
    for(int i = X; i < X + Size; i++) {
        if(lcd.getPixel(i,Y + Size + 1)) {
            Alive = false;
        }
    }
}