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 MotionSensor
Entity/Player/Bullets/Bullets.cpp
- Committer:
- el17sm
- Date:
- 2019-05-09
- Revision:
- 53:93338b52489d
- Parent:
- 51:4d0cd75e7ed3
- Child:
- 57:1c12361b6e3d
File content as of revision 53:93338b52489d:
#include "Bullets.h"
// Constructor
Bullets::Bullets(float pos_x, float pos_y, int dir)
{
face = dir;
hp = 1;
hitbox.width = 3;
hitbox.height = 3;
position.x = pos_x;
position.y = pos_y;
sprite_size.width = 3;
sprite_size.height = 3;
sprite_size.offset_x = -1;
sprite_size.offset_y = -4;
}
// Functions
void Bullets::move(float speed, float unused, char * unused2, bool * unused3) // Moves regarding face(constant after constructed)
{
if (face == 0) {
position.y -= speed;
} else if (face == 1) {
position.x += speed;
} else if (face == 2) {
position.y += speed;
} else if (face == 3) {
position.x -= speed;
}
}
void Bullets::draw(N5110 &lcd)
{
lcd.drawSpriteTransparent(position.x+sprite_size.offset_x,
position.y+sprite_size.offset_y,
sprite_size.height,
sprite_size.width,
(char *) bullets_sprite);
}
void Bullets::take_damage(int damage) // Taking damage, currently not used(has to be inherited, as well as useful for possible future use)
{
hp -= damage;
}
bool Bullets::out_of_bounds_check(char * map, bool * doorways) // Returns true when bullets exit map or collide with walls
{
if (entity_to_map_collision_test(position.x, position.y, map, doorways)) {
return true;
}
if ((0 > position.x) || (position.x > 84) || (0 > position.y) || (position.y > 48)) {
return true;
}
return false;
}