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 11:953141c3f7dd 1 #include "Enemy1.h"
S_Tingle 11:953141c3f7dd 2
S_Tingle 22:8e38efeae0c9 3 Enemy1::Enemy1()
S_Tingle 22:8e38efeae0c9 4 {
S_Tingle 21:7d4827af00d6 5
S_Tingle 11:953141c3f7dd 6 }
S_Tingle 11:953141c3f7dd 7
S_Tingle 22:8e38efeae0c9 8 Enemy1::~Enemy1()
S_Tingle 22:8e38efeae0c9 9 {
S_Tingle 11:953141c3f7dd 10
S_Tingle 11:953141c3f7dd 11 }
S_Tingle 11:953141c3f7dd 12
S_Tingle 22:8e38efeae0c9 13 void Enemy1::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 11:953141c3f7dd 17 }
S_Tingle 11:953141c3f7dd 18
S_Tingle 22:8e38efeae0c9 19 int Enemy1::get_x_enem()
S_Tingle 22:8e38efeae0c9 20 {
S_Tingle 22:8e38efeae0c9 21 return x_enem;
S_Tingle 11:953141c3f7dd 22 }
S_Tingle 11:953141c3f7dd 23
S_Tingle 22:8e38efeae0c9 24 int Enemy1::get_y_enem()
S_Tingle 22:8e38efeae0c9 25 {
S_Tingle 22:8e38efeae0c9 26 return y_enem;
S_Tingle 21:7d4827af00d6 27 }
S_Tingle 21:7d4827af00d6 28
S_Tingle 22:8e38efeae0c9 29 void Enemy1::drawSpriteA(N5110 &lcd)
S_Tingle 22:8e38efeae0c9 30 {
S_Tingle 22:8e38efeae0c9 31 lcd.drawSprite(x_enem,y_enem,7,7,(int *)enemy_A);
S_Tingle 21:7d4827af00d6 32 }
S_Tingle 21:7d4827af00d6 33
S_Tingle 22:8e38efeae0c9 34 void Enemy1::drawSprite1(N5110 &lcd)
S_Tingle 22:8e38efeae0c9 35 {
S_Tingle 22:8e38efeae0c9 36 lcd.drawSprite(x_enem,y_enem,7,7,(int *)enemy_1);
S_Tingle 11:953141c3f7dd 37 }
S_Tingle 11:953141c3f7dd 38
S_Tingle 22:8e38efeae0c9 39 void Enemy1::movementA(N5110 &lcd)
S_Tingle 22:8e38efeae0c9 40 {
S_Tingle 22:8e38efeae0c9 41 // incrementer increments 1 for every pixel enemyA needs to move //
S_Tingle 22:8e38efeae0c9 42 // and thus it's possible to create a square path //
S_Tingle 22:8e38efeae0c9 43 accel = 1;
S_Tingle 22:8e38efeae0c9 44 _incrementer_enem1++;
S_Tingle 22:8e38efeae0c9 45 if ( _incrementer_enem1 == 54 ) {
S_Tingle 22:8e38efeae0c9 46 _incrementer_enem1 = 0;
S_Tingle 22:8e38efeae0c9 47 }
S_Tingle 22:8e38efeae0c9 48 if (_incrementer_enem1 >= 0 && _incrementer_enem1 <= 21) {
S_Tingle 22:8e38efeae0c9 49 x_enem++;
S_Tingle 22:8e38efeae0c9 50 } else if (_incrementer_enem1 >= 22 && _incrementer_enem1 <= 26) {
S_Tingle 22:8e38efeae0c9 51 y_enem++;
S_Tingle 22:8e38efeae0c9 52 } else if (_incrementer_enem1 >= 27 && _incrementer_enem1 <= 48) {
S_Tingle 22:8e38efeae0c9 53 x_enem--;
S_Tingle 22:8e38efeae0c9 54 } else if (_incrementer_enem1 >= 49 && _incrementer_enem1 <= 53) {
S_Tingle 22:8e38efeae0c9 55 y_enem--;
S_Tingle 22:8e38efeae0c9 56 }
S_Tingle 11:953141c3f7dd 57 }
S_Tingle 11:953141c3f7dd 58
S_Tingle 22:8e38efeae0c9 59 void Enemy1::movement1(N5110 &lcd)
S_Tingle 22:8e38efeae0c9 60 {
S_Tingle 22:8e38efeae0c9 61 // incrementer increments 1 for every pixel enemy1 needs to move
S_Tingle 22:8e38efeae0c9 62 // and thus it's possible to create a square path //
S_Tingle 22:8e38efeae0c9 63 accel = 1;
S_Tingle 22:8e38efeae0c9 64 _incrementer_enem1++;
S_Tingle 22:8e38efeae0c9 65 if ( _incrementer_enem1 == 124 ) {
S_Tingle 22:8e38efeae0c9 66 _incrementer_enem1 = 0;
S_Tingle 22:8e38efeae0c9 67 }
S_Tingle 22:8e38efeae0c9 68 if (_incrementer_enem1 >= 0 && _incrementer_enem1 <= 22) {
S_Tingle 22:8e38efeae0c9 69 y_enem--;
S_Tingle 22:8e38efeae0c9 70 } else if (_incrementer_enem1 >= 23 && _incrementer_enem1 <= 61) {
S_Tingle 22:8e38efeae0c9 71 x_enem--;
S_Tingle 22:8e38efeae0c9 72 } else if (_incrementer_enem1 >= 62 && _incrementer_enem1 <= 84) {
S_Tingle 22:8e38efeae0c9 73 y_enem++;
S_Tingle 22:8e38efeae0c9 74 } else if (_incrementer_enem1 >= 84 && _incrementer_enem1 <= 123) {
S_Tingle 22:8e38efeae0c9 75 x_enem++;
S_Tingle 22:8e38efeae0c9 76 }
S_Tingle 11:953141c3f7dd 77 }
S_Tingle 11:953141c3f7dd 78
S_Tingle 22:8e38efeae0c9 79 bool Enemy1::collidePlayer(int x, int y, Gamepad &pad)
S_Tingle 22:8e38efeae0c9 80 {
S_Tingle 22:8e38efeae0c9 81 // if collision detected then tone plays //
S_Tingle 22:8e38efeae0c9 82 for (int ix = 0; ix < 7; ix++) {
S_Tingle 22:8e38efeae0c9 83 for (int iy = 0; iy < 7; iy++) {
S_Tingle 22:8e38efeae0c9 84 if ( x + ix == x_enem + 3 && y + iy == y_enem + 3 ) {
S_Tingle 22:8e38efeae0c9 85 pad.tone(400,0.5);
S_Tingle 22:8e38efeae0c9 86 return true;
S_Tingle 22:8e38efeae0c9 87 }
S_Tingle 22:8e38efeae0c9 88 }
S_Tingle 22:8e38efeae0c9 89 }
S_Tingle 22:8e38efeae0c9 90 return false;
S_Tingle 11:953141c3f7dd 91 }