ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Enemy2.cpp Source File

Enemy2.cpp

00001 #include "Enemy2.h"
00002 
00003 Enemy2::Enemy2()
00004 {
00005 
00006 }
00007 
00008 Enemy2::~Enemy2()
00009 {
00010 
00011 }
00012 
00013 void Enemy2::init(int x,int y)
00014 {
00015   x_enem = x;
00016   y_enem = y;
00017 }
00018 
00019 // resets incrementer to 0 //
00020 void Enemy2::resetIncrementer(){
00021   _incrementer_enem2 = 0;
00022 }
00023 
00024 int Enemy2::get_x_enem()
00025 {
00026   return x_enem;
00027 }
00028 
00029 int Enemy2::get_y_enem()
00030 {
00031   return y_enem;
00032 }
00033 
00034 void Enemy2::drawSpriteB(N5110 &lcd)
00035 {
00036   lcd.drawSprite(x_enem, y_enem,7,7,(int *)enemy_B);
00037 }
00038 
00039 void Enemy2::drawSprite2(N5110 &lcd)
00040 {
00041   lcd.drawSprite(x_enem, y_enem,7,7,(int *)enemy_2);
00042 }
00043 
00044 void Enemy2::drawSpriteC(N5110 &lcd)
00045 {
00046   lcd.drawSprite(x_enem, y_enem,7,7,(int *)enemy_C);
00047 }
00048 
00049 void Enemy2::movementB(N5110 &lcd)
00050 {
00051   // incrementer increments 1 for every pixel enemyB needs to move //
00052   // and thus it's possible to create a straight path //
00053   accel = 1;
00054   _incrementer_enem2++;
00055   if ( _incrementer_enem2 == 28 ) {
00056     _incrementer_enem2 = 0;
00057   }
00058   if ( _incrementer_enem2 >= 0 && _incrementer_enem2 <= 13) {
00059     y_enem++;
00060   } else if ( _incrementer_enem2 >= 14 && _incrementer_enem2 <= 27) {
00061       y_enem--;
00062   }
00063 }
00064 
00065 void Enemy2::movement2(N5110 &lcd)
00066 {
00067   // incrementer increments 1 for every pixel enemy2 needs to move //
00068   // and thus it's possible to create a straight path //
00069   accel = 1;
00070   _incrementer_enem2++;
00071   if ( _incrementer_enem2 == 24 ) {
00072     _incrementer_enem2 = 0;
00073   }
00074   if ( _incrementer_enem2 >= 0 && _incrementer_enem2 <= 11) {
00075     y_enem--;
00076   } else if ( _incrementer_enem2 >= 12 && _incrementer_enem2 <= 23) {
00077       y_enem++;
00078   }
00079 }
00080 
00081 void Enemy2::movementC(N5110 &lcd)
00082 {
00083   // incrementer increments 1 for every pixel enemyC needs to move //
00084   // and thus it's possible to create a straight path //
00085   accel = 1;
00086   _incrementer_enem2++;
00087   if ( _incrementer_enem2 == 58 ) {
00088     _incrementer_enem2 = 0;
00089   }
00090   if ( _incrementer_enem2 >= 0 && _incrementer_enem2 <= 28) {
00091     x_enem++;
00092   } else if ( _incrementer_enem2 >= 29 && _incrementer_enem2 <= 57) {
00093       x_enem--;
00094   }
00095 }
00096 
00097 bool Enemy2::collidePlayer(int x, int y, Gamepad &pad)
00098 {
00099   // if collision detected then tone plays //
00100   for (int ix = 0; ix < 7; ix++) {
00101     for (int iy = 0; iy < 7; iy++) {
00102       if ( x + ix == x_enem + 3 && y + iy == y_enem + 3 ) {
00103         pad.tone(400,0.5);
00104         return true;
00105       }
00106     }       
00107   }
00108   return false;
00109 }