ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Enemy/Enemy1.cpp

Committer:
S_Tingle
Date:
2019-05-02
Revision:
12:200a1266ceee
Parent:
11:953141c3f7dd
Child:
13:c3b550fc2445

File content as of revision 12:200a1266ceee:

#include "Enemy1.h"

Enemy1::Enemy1(){
    x_enem = 27;
    y_enem = 17;
}

Enemy1::~Enemy1(){

}

void Enemy1::init(int x,int y){
    x_enem = x;
    y_enem = y;
}

int Enemy1::get_x_enem() 
{
    return x_enem;
}

int Enemy1::get_y_enem()
{
    return y_enem;
}

void Enemy1::drawSprite(N5110 &lcd){
    lcd.drawSprite(x_enem,y_enem,7,7,(int *)enemy_A);
}

void Enemy1::movement(N5110 &lcd){
    accel = 1;

    if (southCollision(x_enem, y_enem, lcd) == true && westCollision(x_enem, y_enem, lcd) == true){
        y_enem -= accel;
    } else if (southCollision(x_enem, y_enem, lcd) == true && eastCollision(x_enem, y_enem, lcd) == true){
        x_enem -= accel;
    } else if (northCollision(x_enem, y_enem, lcd) == true && westCollision(x_enem, y_enem, lcd) == true){
        x_enem += accel;
    } else if (northCollision(x_enem, y_enem, lcd) == true && eastCollision(x_enem, y_enem, lcd) == true){
        y_enem += accel;
    }
}


bool Enemy1::northCollision(int x, int y, N5110 &lcd){

    for (int i = 0; i < 7; i++) {
        if (lcd.getPixel(x + i,y + 1) == 1) {
            return true;
        }
    }
    return false;
}

bool Enemy1::southCollision(int x, int y, N5110 &lcd){

    for (int i = 0; i < 7; i++) {
        if (lcd.getPixel(x + i,y + 7) == 1) {
            return true;
        }
    }
    return false;
}

bool Enemy1::eastCollision(int x, int y, N5110 &lcd){

    for (int i = 0; i < 7; i++) {
        if (lcd.getPixel(x + 6,y + i) == 1) {
            return true;
        }
    }
    return false;
}

bool Enemy1::westCollision(int x, int y, N5110 &lcd){

    for (int i = 0; i < 7; i++) {
        if (lcd.getPixel(x + 1,y + i) == 1) {
            return true;
        }
    }
    return false;
}