Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Eng.cpp@5:c37f4ed2cad3, 2020-05-17 (annotated)
- 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?
User | Revision | Line number | New 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 | } |