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
Diff: Tank/Tank.cpp
- Revision:
- 13:feadff02d3f7
- Parent:
- 12:9e6d5d0a0c82
- Child:
- 15:fa5282fcd134
diff -r 9e6d5d0a0c82 -r feadff02d3f7 Tank/Tank.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Tank/Tank.cpp Wed Apr 17 14:03:14 2019 +0000 @@ -0,0 +1,105 @@ +/* Tank.cpp +Produces tank on the left side of the +lcd and dictates it's movement +1.4.19 +*/ +#include "Tank.h" + +Tank::Tank() +{ + +} + +Tank::~Tank() +{ + +} + +int Tank::get_position_x() +{ + return _position_x; +} + +int Tank::get_position_y() +{ + return _position_y; +} + +int Tank::get_hitbox(int i) +{ + return _hitbox[i]; +} + +int Tank::get_health() +{ + return _health; +} + +void Tank::set_position(int x, int y) +{ + _position_x = x; + _position_y = y; +} + +void Tank::set_movement_limits(int left, int right) +{ + _left_lim = left; + _right_lim = right; +} + +void Tank::set_health(int h) +{ + _health = h; +} + +void Tank::set_speed(int s) +{ + _speed = s; +} + +void Tank::set_angle(float angle) +{ + _angle = angle; +} + +void Tank::_limit_movement() +{ + if (_position_x == _left_lim - 1) { + _position_x = _left_lim; + } else if (_position_x == _right_lim + 1) { + _position_x = _right_lim; + } +} + +void Tank::move_position(int d) +{ + int slowness = 9 - _speed; + int i = _move_counter % slowness; + if (d > 0) { + if (i == 0) {_position_x++;} + _move_counter++; + } + else if (d < 0) { + if (i == 0) {_position_x--;} + _move_counter--; + } + _limit_movement(); +} + +void Tank::lose_health() +{ + _health--; +/* if (_health <= 0) right player wins +{} */ +} + +void Tank::generate_hitbox() +{ + int i = 0; + for (int i0 = 0; i0 < 4; i0++) { + for (int i1 = 1; i1 < 11; i1++) { + _hitbox[i] = (i0 + _position_y) * 84 + _position_x + i1; + i++; + } + } +} \ No newline at end of file