ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18jgb

Dependencies:   mbed

Committer:
el18jgb
Date:
Sun May 17 14:04:03 2020 +0000
Revision:
6:d560ecc21ae6
Parent:
5:c37f4ed2cad3
Child:
7:04a7826ff7e4
button 8 pressed, changes state of aim sprite checks collision

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el18jgb 5:c37f4ed2cad3 1
el18jgb 5:c37f4ed2cad3 2 #include "Eng.h"
el18jgb 4:6f898b000797 3 Eng::Eng()
el18jgb 4:6f898b000797 4 {
el18jgb 4:6f898b000797 5
el18jgb 4:6f898b000797 6 }
el18jgb 4:6f898b000797 7
el18jgb 4:6f898b000797 8 Eng::~Eng()
el18jgb 4:6f898b000797 9 {
el18jgb 4:6f898b000797 10
el18jgb 4:6f898b000797 11 }
el18jgb 4:6f898b000797 12 // objects
el18jgb 5:c37f4ed2cad3 13 //Gamepad pad;
el18jgb 5:c37f4ed2cad3 14 //N5110 lcd;
el18jgb 5:c37f4ed2cad3 15 Aim aim;
el18jgb 4:6f898b000797 16 Heston heston;
el18jgb 4:6f898b000797 17
el18jgb 4:6f898b000797 18
el18jgb 5:c37f4ed2cad3 19 void Eng::init()
el18jgb 5:c37f4ed2cad3 20 {
el18jgb 5:c37f4ed2cad3 21
el18jgb 5:c37f4ed2cad3 22 aim.init();
el18jgb 5:c37f4ed2cad3 23 heston.init();
el18jgb 4:6f898b000797 24
el18jgb 5:c37f4ed2cad3 25
el18jgb 5:c37f4ed2cad3 26 }
el18jgb 5:c37f4ed2cad3 27
el18jgb 5:c37f4ed2cad3 28 //void Eng::read_input(Gamepad &pad);
el18jgb 6:d560ecc21ae6 29 void Eng::update(Gamepad &pad, bool fire, N5110 &lcd)
el18jgb 4:6f898b000797 30 {
el18jgb 6:d560ecc21ae6 31 if (fire == 1){
el18jgb 6:d560ecc21ae6 32 aim.draw(lcd, fire);
el18jgb 6:d560ecc21ae6 33 lcd.refresh();
el18jgb 6:d560ecc21ae6 34 wait(0.1);
el18jgb 6:d560ecc21ae6 35 check_hit(pad);
el18jgb 6:d560ecc21ae6 36 }
el18jgb 5:c37f4ed2cad3 37 heston.update(pad);
el18jgb 5:c37f4ed2cad3 38 aim.update(pad);
el18jgb 5:c37f4ed2cad3 39
el18jgb 5:c37f4ed2cad3 40
el18jgb 5:c37f4ed2cad3 41 }
el18jgb 5:c37f4ed2cad3 42
el18jgb 5:c37f4ed2cad3 43 void Eng::draw(N5110 &lcd)
el18jgb 5:c37f4ed2cad3 44 {
el18jgb 5:c37f4ed2cad3 45 heston.draw(lcd);
el18jgb 6:d560ecc21ae6 46 aim.draw(lcd, 0);
el18jgb 4:6f898b000797 47 }
el18jgb 5:c37f4ed2cad3 48
el18jgb 5:c37f4ed2cad3 49 void Eng::check_hit(Gamepad &pad)
el18jgb 5:c37f4ed2cad3 50 {
el18jgb 5:c37f4ed2cad3 51 Vector2D aim_pos = aim.get_pos();
el18jgb 5:c37f4ed2cad3 52 Vector2D h1_pos = heston.get_pos();
el18jgb 5:c37f4ed2cad3 53
el18jgb 5:c37f4ed2cad3 54 if (
el18jgb 5:c37f4ed2cad3 55 (aim_pos.y >= h1_pos.y) && //top
el18jgb 5:c37f4ed2cad3 56 (aim_pos.y <= h1_pos.y + 12) && //bottom
el18jgb 5:c37f4ed2cad3 57 (aim_pos.x >= h1_pos.x) && //left
el18jgb 5:c37f4ed2cad3 58 (aim_pos.x <= h1_pos.x + 11) //right
el18jgb 5:c37f4ed2cad3 59 ) {
el18jgb 5:c37f4ed2cad3 60 heston.hit(pad);
el18jgb 5:c37f4ed2cad3 61 }
el18jgb 5:c37f4ed2cad3 62
el18jgb 5:c37f4ed2cad3 63 }