ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Committer:
S_Tingle
Date:
Thu May 09 14:40:58 2019 +0000
Revision:
26:3652bc2fe3fc
Parent:
22:8e38efeae0c9
I understand the university's rules on plagiarism. I hereby declare this my own independent work.

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