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