ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18jgb

Dependencies:   mbed

Committer:
el18jgb
Date:
Sun May 17 13:11:55 2020 +0000
Revision:
5:c37f4ed2cad3
Parent:
4:6f898b000797
Child:
6:d560ecc21ae6
collision checker and reset, now will make it only check when a pressed.;

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 5:c37f4ed2cad3 29 void Eng::update(Gamepad &pad)
el18jgb 4:6f898b000797 30 {
el18jgb 5:c37f4ed2cad3 31 check_hit(pad);
el18jgb 5:c37f4ed2cad3 32
el18jgb 5:c37f4ed2cad3 33 heston.update(pad);
el18jgb 5:c37f4ed2cad3 34 aim.update(pad);
el18jgb 5:c37f4ed2cad3 35
el18jgb 5:c37f4ed2cad3 36
el18jgb 5:c37f4ed2cad3 37 }
el18jgb 5:c37f4ed2cad3 38
el18jgb 5:c37f4ed2cad3 39 void Eng::draw(N5110 &lcd)
el18jgb 5:c37f4ed2cad3 40 {
el18jgb 5:c37f4ed2cad3 41 heston.draw(lcd);
el18jgb 5:c37f4ed2cad3 42 aim.draw(lcd);
el18jgb 4:6f898b000797 43 }
el18jgb 5:c37f4ed2cad3 44
el18jgb 5:c37f4ed2cad3 45 void Eng::check_hit(Gamepad &pad)
el18jgb 5:c37f4ed2cad3 46 {
el18jgb 5:c37f4ed2cad3 47 Vector2D aim_pos = aim.get_pos();
el18jgb 5:c37f4ed2cad3 48 Vector2D h1_pos = heston.get_pos();
el18jgb 5:c37f4ed2cad3 49
el18jgb 5:c37f4ed2cad3 50 if (
el18jgb 5:c37f4ed2cad3 51 (aim_pos.y >= h1_pos.y) && //top
el18jgb 5:c37f4ed2cad3 52 (aim_pos.y <= h1_pos.y + 12) && //bottom
el18jgb 5:c37f4ed2cad3 53 (aim_pos.x >= h1_pos.x) && //left
el18jgb 5:c37f4ed2cad3 54 (aim_pos.x <= h1_pos.x + 11) //right
el18jgb 5:c37f4ed2cad3 55 ) {
el18jgb 5:c37f4ed2cad3 56 heston.hit(pad);
el18jgb 5:c37f4ed2cad3 57 }
el18jgb 5:c37f4ed2cad3 58
el18jgb 5:c37f4ed2cad3 59 }