ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Enemy1.cpp Source File

Enemy1.cpp

00001 #include "Enemy1.h"
00002 
00003 Enemy1::Enemy1()
00004 {
00005 
00006 }
00007 
00008 Enemy1::~Enemy1()
00009 {
00010 
00011 }
00012 
00013 void Enemy1::init(int x, int y)
00014 {
00015   x_enem = x;
00016   y_enem = y;
00017 }
00018 
00019 // resets incrementer to 0 //
00020 void Enemy1::resetIncrementer() {
00021   _incrementer_enem1 = 0;
00022 }
00023 
00024 int Enemy1::get_x_enem()
00025 {
00026   return x_enem;
00027 }
00028 
00029 int Enemy1::get_y_enem()
00030 {
00031   return y_enem;
00032 }
00033 
00034 void Enemy1::drawSpriteA(N5110 &lcd)
00035 {
00036   lcd.drawSprite(x_enem,y_enem,7,7,(int *)enemy_A);
00037 }
00038 
00039 void Enemy1::drawSprite1(N5110 &lcd)
00040 {
00041   lcd.drawSprite(x_enem,y_enem,7,7,(int *)enemy_1);
00042 }
00043 
00044 void Enemy1::movementA(N5110 &lcd)
00045 {
00046   // incrementer increments 1 for every pixel enemyA needs to move // 
00047   // and thus it's possible to create a square path //
00048   accel = 1;
00049   _incrementer_enem1++;
00050   if ( _incrementer_enem1 == 54 ) {
00051     _incrementer_enem1 = 0;
00052   } 
00053   if (_incrementer_enem1 >= 0 && _incrementer_enem1 <= 21) {
00054     x_enem++;
00055   } else if (_incrementer_enem1 >= 22 && _incrementer_enem1 <= 26) {
00056       y_enem++;
00057   } else if (_incrementer_enem1 >= 27 && _incrementer_enem1 <= 48) {
00058       x_enem--;
00059   } else if (_incrementer_enem1 >= 49 && _incrementer_enem1 <= 53) {
00060       y_enem--;
00061   }
00062 }
00063 
00064 void Enemy1::movement1(N5110 &lcd)
00065 {
00066   // incrementer increments 1 for every pixel enemy1 needs to move 
00067   // and thus it's possible to create a square path //
00068   accel = 1;
00069   _incrementer_enem1++;
00070   if ( _incrementer_enem1 == 124 ) {
00071     _incrementer_enem1 = 0;
00072   } 
00073   if (_incrementer_enem1 >= 0 && _incrementer_enem1 <= 22) {
00074     y_enem--;
00075   } else if (_incrementer_enem1 >= 23 && _incrementer_enem1 <= 61) {
00076       x_enem--;
00077   } else if (_incrementer_enem1 >= 62 && _incrementer_enem1 <= 84) {
00078       y_enem++;
00079   } else if (_incrementer_enem1 >= 84 && _incrementer_enem1 <= 123) {
00080       x_enem++;
00081   }
00082 }
00083 
00084 bool Enemy1::collidePlayer(int x, int y, Gamepad &pad)
00085 {
00086   // if collision detected then tone plays //
00087   for (int ix = 0; ix < 7; ix++) {
00088     for (int iy = 0; iy < 7; iy++) {
00089       if ( x + ix == x_enem + 3 && y + iy == y_enem + 3 ) {
00090         pad.tone(400,0.5);
00091         return true;
00092       }
00093     }       
00094   }
00095   return false;
00096 }