ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Enemy/Enemy1.cpp

Committer:
S_Tingle
Date:
2019-05-09
Revision:
26:3652bc2fe3fc
Parent:
22:8e38efeae0c9

File content as of revision 26:3652bc2fe3fc:

#include "Enemy1.h"

Enemy1::Enemy1()
{

}

Enemy1::~Enemy1()
{

}

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

// resets incrementer to 0 //
void Enemy1::resetIncrementer() {
  _incrementer_enem1 = 0;
}

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

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

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

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

void Enemy1::movementA(N5110 &lcd)
{
  // incrementer increments 1 for every pixel enemyA needs to move // 
  // and thus it's possible to create a square path //
  accel = 1;
  _incrementer_enem1++;
  if ( _incrementer_enem1 == 54 ) {
    _incrementer_enem1 = 0;
  } 
  if (_incrementer_enem1 >= 0 && _incrementer_enem1 <= 21) {
    x_enem++;
  } else if (_incrementer_enem1 >= 22 && _incrementer_enem1 <= 26) {
      y_enem++;
  } else if (_incrementer_enem1 >= 27 && _incrementer_enem1 <= 48) {
      x_enem--;
  } else if (_incrementer_enem1 >= 49 && _incrementer_enem1 <= 53) {
      y_enem--;
  }
}

void Enemy1::movement1(N5110 &lcd)
{
  // incrementer increments 1 for every pixel enemy1 needs to move 
  // and thus it's possible to create a square path //
  accel = 1;
  _incrementer_enem1++;
  if ( _incrementer_enem1 == 124 ) {
    _incrementer_enem1 = 0;
  } 
  if (_incrementer_enem1 >= 0 && _incrementer_enem1 <= 22) {
    y_enem--;
  } else if (_incrementer_enem1 >= 23 && _incrementer_enem1 <= 61) {
      x_enem--;
  } else if (_incrementer_enem1 >= 62 && _incrementer_enem1 <= 84) {
      y_enem++;
  } else if (_incrementer_enem1 >= 84 && _incrementer_enem1 <= 123) {
      x_enem++;
  }
}

bool Enemy1::collidePlayer(int x, int y, Gamepad &pad)
{
  // if collision detected then tone plays //
  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;
}