ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Enemy/Enemy1.cpp

Committer:
S_Tingle
Date:
2019-05-08
Revision:
18:ba4159ab4da7
Parent:
16:37d98c281eb3
Child:
21:7d4827af00d6

File content as of revision 18:ba4159ab4da7:

#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;
    _incrementer_enem1++;
    if ( _incrementer_enem1 == 62 ) { _incrementer_enem1 = 0; }
    if ( _incrementer_enem1 >= 0 && _incrementer_enem1 <= 23) { x_enem++; }
    else if ( _incrementer_enem1 >= 24 && _incrementer_enem1 <= 30) { y_enem++; }
    else if ( _incrementer_enem1 >= 31 && _incrementer_enem1 <= 54) { x_enem--; }
    else if ( _incrementer_enem1 >= 55 && _incrementer_enem1 <= 61) { y_enem--; }
}

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

    for (int i = 1; i < 6; 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 = 1; i < 6; 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 = 1; i < 6; i++) {
        if (lcd.getPixel(x + 7,y + i) == 1) {
            return true;
        }
    }
    return false;
}

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

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

bool Enemy1::collidePlayer(int x, int y, Gamepad &pad) {

    for (int ix = 0; ix < 7; ix++) {
        for (int iy = 0; iy < 7; iy++) {
            if ( x + ix == x_enem + 3 &&
                 y + iy == y_enem + 3 ) {
                pad.tone(400,0.5);
                return true;
            
            }
        }       
    }
    return false;
}