ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Enemy/Enemy2.cpp

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

File content as of revision 16:37d98c281eb3:

#include "Enemy2.h"

Enemy2::Enemy2(){
    x_enem = 67;
    y_enem = 20;
}

Enemy2::~Enemy2(){

}

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

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

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

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

void Enemy2::movement(N5110 &lcd){
    accel = 1;
    _incrementer_enem2++;
    if ( _incrementer_enem2 == 28 ) { _incrementer_enem2 = 0; }
    if ( _incrementer_enem2 >= 0 && _incrementer_enem2 <= 13) { y_enem++; }
    else if ( _incrementer_enem2 >= 14 && _incrementer_enem2 <= 27) { y_enem--; }
}

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

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

bool Enemy2::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 Enemy2::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;
}