Ikenna Adrian Ozoemena 201157039

Dependencies:   mbed

Enemy/Enemy.cpp

Committer:
ikenna1
Date:
2019-04-18
Revision:
28:6319e928f0aa
Parent:
20:5b4b3bf5795c
Child:
30:711d722f3cef

File content as of revision 28:6319e928f0aa:

#include "Enemy.h"

Enemy::Enemy()
{

}

Enemy::~Enemy()
{

}
const int seeker[7][9] = {
    {1,1,0,0,0,0,0,1,1},
    {1,0,1,0,0,0,1,0,1},
    {1,0,0,1,1,1,0,0,1},
    {0,1,0,0,0,0,0,1,0},
    {0,0,1,0,0,0,1,0,0},
    {0,0,1,1,0,1,1,0,0},
    {0,0,0,0,1,0,0,0,0},
};
const int shooter[10][11] = {
    {0,0,1,0,0,0,0,0,1,0,0},
    {0,1,0,1,0,0,0,1,0,1,0},
    {1,0,0,1,0,1,0,1,0,0,1},
    {1,0,0,1,1,0,1,1,0,0,1},
    {0,1,0,0,0,0,0,0,0,1,0},
    {0,1,0,0,1,1,1,0,0,1,0},
    {0,0,1,0,0,1,0,0,1,0,0},
    {0,0,0,1,0,0,0,1,0,0,0},
    {0,0,0,0,1,0,1,0,0,0,0},
    {0,0,0,0,0,1,0,0,0,0,0},
};
void Enemy::init(int seeker_xpos,int seeker_ypos)
{
    _seeker_xpos = seeker_xpos;
    _seeker_ypos = seeker_ypos;

}
// Draw the ship ***Note: figure out how to change ship type e.g from basic to devotion
void Enemy::draw_seeker(N5110 &lcd)
{
    lcd.drawSprite(_seeker_xpos,_seeker_ypos,7,9,(int *)seeker);
}
void Enemy::update_seeker(int ship_xpos, int ship_ypos)
{
    int rangex = _seeker_xpos - ship_xpos;
    int rangey = _seeker_ypos - ship_ypos;

    // make seeker move towards ship
    if(rangey < 0) {
        if(rangex < 0) {
            _seeker_xpos = _seeker_xpos + 2;
        } else if(rangex == 0) {
            _seeker_xpos = _seeker_xpos;
        } else {
            _seeker_xpos = _seeker_xpos - 2;
        }
    }

    // reset seeker to top
    if(_seeker_ypos > 54) {
        _seeker_ypos = 0;
    }
    _seeker_ypos = _seeker_ypos + 2;
    // printf("seeker_xpos , seeker_ypos = %d, %d\n", _seeker_xpos, _seeker_ypos);
}
void Enemy::reset_seeker()
{
    _seeker_xpos = 0;
    _seeker_ypos = 0;
}
Vector2D Enemy::get_seekerpos()
{
    Vector2D seeker_pos = {_seeker_xpos,_seeker_ypos};
    return seeker_pos;
}