Steven Mahasin / Mbed 2 deprecated DreamDungeon

Dependencies:   mbed MotionSensor

Entity/Bullets/Bullets.cpp

Committer:
el17sm
Date:
2019-05-05
Revision:
31:ab24d028ddfd
Parent:
29:6b8411bb040a

File content as of revision 31:ab24d028ddfd:

#include "Bullets.h"

Bullets::Bullets(float pos_x, float pos_y, int dir)
{
    _damage_self_upon_collision = false;
    moving = true;
    face = 0;
    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 = 0;
    sprite_size.offset_y = 1;
    direction = dir;
}

void Bullets::move(float speed, float unused, int * unused2, bool * unused3)
{
    if (direction == 0) {
        position.y -= speed;
    } else if (direction == 1) {
        position.x += speed;
    } else if (direction == 2) {
        position.y += speed;
    } else if (direction == 3) {
        position.x -= speed;
    }
}

void Bullets::take_damage(int damage)
{
    hp -= damage;
}

int * Bullets::get_frame()
{
    return (int *) bullets_sprite;
}

bool Bullets::out_of_bounds_check(int * map, bool * doorways)
{
    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;
}