ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Committer:
S_Tingle
Date:
Thu May 09 12:10:56 2019 +0000
Revision:
22:8e38efeae0c9
Parent:
21:7d4827af00d6
Child:
26:3652bc2fe3fc
working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
S_Tingle 12:200a1266ceee 1 #include "Enemy2.h"
S_Tingle 12:200a1266ceee 2
S_Tingle 22:8e38efeae0c9 3 Enemy2::Enemy2()
S_Tingle 22:8e38efeae0c9 4 {
S_Tingle 21:7d4827af00d6 5
S_Tingle 12:200a1266ceee 6 }
S_Tingle 12:200a1266ceee 7
S_Tingle 22:8e38efeae0c9 8 Enemy2::~Enemy2()
S_Tingle 22:8e38efeae0c9 9 {
S_Tingle 12:200a1266ceee 10
S_Tingle 12:200a1266ceee 11 }
S_Tingle 12:200a1266ceee 12
S_Tingle 22:8e38efeae0c9 13 void Enemy2::init(int x,int y)
S_Tingle 22:8e38efeae0c9 14 {
S_Tingle 22:8e38efeae0c9 15 x_enem = x;
S_Tingle 22:8e38efeae0c9 16 y_enem = y;
S_Tingle 12:200a1266ceee 17 }
S_Tingle 12:200a1266ceee 18
S_Tingle 22:8e38efeae0c9 19 int Enemy2::get_x_enem()
S_Tingle 22:8e38efeae0c9 20 {
S_Tingle 22:8e38efeae0c9 21 return x_enem;
S_Tingle 12:200a1266ceee 22 }
S_Tingle 12:200a1266ceee 23
S_Tingle 22:8e38efeae0c9 24 int Enemy2::get_y_enem()
S_Tingle 22:8e38efeae0c9 25 {
S_Tingle 22:8e38efeae0c9 26 return y_enem;
S_Tingle 12:200a1266ceee 27 }
S_Tingle 12:200a1266ceee 28
S_Tingle 22:8e38efeae0c9 29 void Enemy2::drawSpriteB(N5110 &lcd)
S_Tingle 22:8e38efeae0c9 30 {
S_Tingle 22:8e38efeae0c9 31 lcd.drawSprite(x_enem, y_enem,7,7,(int *)enemy_B);
S_Tingle 12:200a1266ceee 32 }
S_Tingle 12:200a1266ceee 33
S_Tingle 22:8e38efeae0c9 34 void Enemy2::drawSprite2(N5110 &lcd)
S_Tingle 22:8e38efeae0c9 35 {
S_Tingle 22:8e38efeae0c9 36 lcd.drawSprite(x_enem, y_enem,7,7,(int *)enemy_2);
S_Tingle 22:8e38efeae0c9 37 }
S_Tingle 22:8e38efeae0c9 38
S_Tingle 22:8e38efeae0c9 39 void Enemy2::drawSpriteC(N5110 &lcd)
S_Tingle 22:8e38efeae0c9 40 {
S_Tingle 22:8e38efeae0c9 41 lcd.drawSprite(x_enem, y_enem,7,7,(int *)enemy_C);
S_Tingle 21:7d4827af00d6 42 }
S_Tingle 21:7d4827af00d6 43
S_Tingle 22:8e38efeae0c9 44 void Enemy2::movementB(N5110 &lcd)
S_Tingle 22:8e38efeae0c9 45 {
S_Tingle 22:8e38efeae0c9 46 // incrementer increments 1 for every pixel enemyB needs to move //
S_Tingle 22:8e38efeae0c9 47 // and thus it's possible to create a straight path //
S_Tingle 22:8e38efeae0c9 48 accel = 1;
S_Tingle 22:8e38efeae0c9 49 _incrementer_enem2++;
S_Tingle 22:8e38efeae0c9 50 if ( _incrementer_enem2 == 28 ) {
S_Tingle 22:8e38efeae0c9 51 _incrementer_enem2 = 0;
S_Tingle 22:8e38efeae0c9 52 }
S_Tingle 22:8e38efeae0c9 53 if ( _incrementer_enem2 >= 0 && _incrementer_enem2 <= 13) {
S_Tingle 22:8e38efeae0c9 54 y_enem++;
S_Tingle 22:8e38efeae0c9 55 } else if ( _incrementer_enem2 >= 14 && _incrementer_enem2 <= 27) {
S_Tingle 22:8e38efeae0c9 56 y_enem--;
S_Tingle 22:8e38efeae0c9 57 }
S_Tingle 12:200a1266ceee 58 }
S_Tingle 12:200a1266ceee 59
S_Tingle 22:8e38efeae0c9 60 void Enemy2::movement2(N5110 &lcd)
S_Tingle 22:8e38efeae0c9 61 {
S_Tingle 22:8e38efeae0c9 62 // incrementer increments 1 for every pixel enemy2 needs to move //
S_Tingle 22:8e38efeae0c9 63 // and thus it's possible to create a straight path //
S_Tingle 22:8e38efeae0c9 64 accel = 1;
S_Tingle 22:8e38efeae0c9 65 _incrementer_enem2++;
S_Tingle 22:8e38efeae0c9 66 if ( _incrementer_enem2 == 24 ) {
S_Tingle 22:8e38efeae0c9 67 _incrementer_enem2 = 0;
S_Tingle 22:8e38efeae0c9 68 }
S_Tingle 22:8e38efeae0c9 69 if ( _incrementer_enem2 >= 0 && _incrementer_enem2 <= 11) {
S_Tingle 22:8e38efeae0c9 70 y_enem--;
S_Tingle 22:8e38efeae0c9 71 } else if ( _incrementer_enem2 >= 12 && _incrementer_enem2 <= 23) {
S_Tingle 22:8e38efeae0c9 72 y_enem++;
S_Tingle 22:8e38efeae0c9 73 }
S_Tingle 16:37d98c281eb3 74 }
S_Tingle 16:37d98c281eb3 75
S_Tingle 22:8e38efeae0c9 76 void Enemy2::movementC(N5110 &lcd)
S_Tingle 22:8e38efeae0c9 77 {
S_Tingle 22:8e38efeae0c9 78 // incrementer increments 1 for every pixel enemyC needs to move //
S_Tingle 22:8e38efeae0c9 79 // and thus it's possible to create a straight path //
S_Tingle 22:8e38efeae0c9 80 accel = 1;
S_Tingle 22:8e38efeae0c9 81 _incrementer_enem2++;
S_Tingle 22:8e38efeae0c9 82 if ( _incrementer_enem2 == 58 ) {
S_Tingle 22:8e38efeae0c9 83 _incrementer_enem2 = 0;
S_Tingle 22:8e38efeae0c9 84 }
S_Tingle 22:8e38efeae0c9 85 if ( _incrementer_enem2 >= 0 && _incrementer_enem2 <= 28) {
S_Tingle 22:8e38efeae0c9 86 x_enem++;
S_Tingle 22:8e38efeae0c9 87 } else if ( _incrementer_enem2 >= 29 && _incrementer_enem2 <= 57) {
S_Tingle 22:8e38efeae0c9 88 x_enem--;
S_Tingle 22:8e38efeae0c9 89 }
S_Tingle 22:8e38efeae0c9 90 }
S_Tingle 16:37d98c281eb3 91
S_Tingle 22:8e38efeae0c9 92 bool Enemy2::collidePlayer(int x, int y, Gamepad &pad)
S_Tingle 22:8e38efeae0c9 93 {
S_Tingle 22:8e38efeae0c9 94 // if collision detected then tone plays //
S_Tingle 22:8e38efeae0c9 95 for (int ix = 0; ix < 7; ix++) {
S_Tingle 22:8e38efeae0c9 96 for (int iy = 0; iy < 7; iy++) {
S_Tingle 22:8e38efeae0c9 97 if ( x + ix == x_enem + 3 && y + iy == y_enem + 3 ) {
S_Tingle 22:8e38efeae0c9 98 pad.tone(400,0.5);
S_Tingle 22:8e38efeae0c9 99 return true;
S_Tingle 22:8e38efeae0c9 100 }
S_Tingle 22:8e38efeae0c9 101 }
S_Tingle 22:8e38efeae0c9 102 }
S_Tingle 22:8e38efeae0c9 103 return false;
S_Tingle 12:200a1266ceee 104 }