test 1 doc

Dependencies:   mbed Gamepad2

Ennemy/Enemy.cpp

Committer:
joebarhouch
Date:
2020-05-27
Revision:
9:9830d3a78572
Parent:
8:d19b30a6cd69
Child:
10:9317a62bd4d0

File content as of revision 9:9830d3a78572:

#include "Enemy.h"
int s_enemy[] = {

    1,1,1,1,1,1,1,
    1,1,1,0,1,0,1,
    1,1,1,0,1,0,1,
    1,1,1,1,1,1,1,
    1,1,1,1,1,1,1,
    0,1,1,0,1,1,0,

};
Enemy::Enemy(int spawnX, int spawnY)
{
    _enY = spawnY;
    _enX = spawnX;
    if( spawnX > WIDTH/2) {
        eDir = 1; //right
    } else {
        eDir = 0; //left
    }
}
Enemy::~Enemy() {}



void Enemy::update(int eYpos, bool efall)
{

    // go left or right depending on direction
    switch (eDir) {
        case 1:
            _enX -= 2;
            //switch direction when it hits a wall
            if(_enX + 8 > WIDTH || _enX < 0) {
                eDir = 0;
                break;
            }
            break;
        case 0:
            _enX +=2;
            //switch direction when it hits a wall
            if(_enX + 8 > WIDTH || _enX < 0) {
                eDir = 1;
                break;
            }
            break;
    }


    //fall down
    switch (efall) {
        case 1:
            _enY +=3;
            break;
        case 2:
            _enY = eYpos;
            break;
    }


}




void Enemy::draw(N5110 &lcd)
{
    Bitmap bit_en(s_enemy, 6, 7 );
    bit_en.render(lcd, _enX, _enY);
}



void Enemy::set_pos(int x, int y)
{
    _enX = x;
    _enY = y;

}


bool Enemy::fell()
{
    if( _enY + 6 > HEIGHT) {
        _fell = true;
    } else {
        _fell = false;
    }
    return _fell;
}


Vector2D Enemy::get_pos()
{
    Vector2D pos = {_enX, _enY};
    return pos;
}