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
Tank/Tank.cpp
- Committer:
- el17mcd
- Date:
- 2019-04-24
- Revision:
- 16:a2c945279b79
- Parent:
- 15:fa5282fcd134
- Child:
- 17:cb39d9fa08dc
File content as of revision 16:a2c945279b79:
/* Tank.cpp Produces a tank object and dictates it's movement 1.4.19 */ #include "Tank.h" Tank::Tank() { _speed = 1; } Tank::~Tank() { } // Accessors 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; } // Mutators 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; } // Other Methods void Tank::move_position(int d) { int slowness = 9 - _speed; int i = _move_counter % slowness; if (d > 0) { _move_counter++; if (i == 0 && _position_x < _right_lim) { _position_x++; } } else if (d < 0) { _move_counter--; if (i == 0 && _position_x > _left_lim) { _position_x--; } } } void Tank::lose_health() { _health--; } 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++; } } }