A rouge-like rpg, heavily inspired on the binding of isaac. Running on a FRDM-K64F Mbed board. C++.

Dependencies:   mbed MotionSensor

Committer:
el17sm
Date:
Thu Apr 25 23:15:44 2019 +0000
Revision:
23:5a8f75e93508
Parent:
22:7abf4581bc9b
Child:
24:26369d92a06a
Added Health;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17sm 7:4aaa37a711a1 1 #include "Entity.h"
el17sm 7:4aaa37a711a1 2
el17sm 13:d04a6caba40d 3 // functions
el17sm 22:7abf4581bc9b 4 void Entity::undo_move_x(bool status_x)
el17sm 22:7abf4581bc9b 5 {
el17sm 22:7abf4581bc9b 6 if (status_x) {
el17sm 13:d04a6caba40d 7 position.x = prev_pos.x;
el17sm 13:d04a6caba40d 8 }
el17sm 13:d04a6caba40d 9 }
el17sm 22:7abf4581bc9b 10 void Entity::undo_move_y(bool status_y)
el17sm 22:7abf4581bc9b 11 {
el17sm 22:7abf4581bc9b 12 if (status_y) {
el17sm 13:d04a6caba40d 13 position.y = prev_pos.y;
el17sm 13:d04a6caba40d 14 }
el17sm 13:d04a6caba40d 15 }
el17sm 22:7abf4581bc9b 16 void Entity::update_prev_pos()
el17sm 22:7abf4581bc9b 17 {
el17sm 22:7abf4581bc9b 18 prev_pos = position;
el17sm 22:7abf4581bc9b 19 };
el17sm 7:4aaa37a711a1 20
el17sm 22:7abf4581bc9b 21 bool Entity::matrix_collision_test(float pos_x, float pos_y, int map_no)
el17sm 22:7abf4581bc9b 22 {
el17sm 22:7abf4581bc9b 23 for (int j = pos_y; j < (int)pos_y + hitbox.height; j++) {
el17sm 22:7abf4581bc9b 24 for(int i = pos_x; i < (int)pos_x + hitbox.width; i++) {
el17sm 13:d04a6caba40d 25 if ((j>=48) || (i>=84) || (j<0) || (i<0)) {}
el17sm 13:d04a6caba40d 26 else if ((level_map[0][j][i] == 1)) {
el17sm 13:d04a6caba40d 27 return true;
el17sm 13:d04a6caba40d 28 }
el17sm 13:d04a6caba40d 29 }
el17sm 13:d04a6caba40d 30 }
el17sm 13:d04a6caba40d 31 return false;
el17sm 13:d04a6caba40d 32 }
el17sm 13:d04a6caba40d 33
el17sm 22:7abf4581bc9b 34 bool Entity::death_check()
el17sm 22:7abf4581bc9b 35 {
el17sm 22:7abf4581bc9b 36 if (hp <= 0) {
el17sm 14:3361879490b2 37 return true;
el17sm 14:3361879490b2 38 }
el17sm 14:3361879490b2 39 return false;
el17sm 14:3361879490b2 40 }
el17sm 14:3361879490b2 41
el17sm 13:d04a6caba40d 42 // mutators
el17sm 7:4aaa37a711a1 43
el17sm 7:4aaa37a711a1 44 // accessors
el17sm 22:7abf4581bc9b 45 bool Entity::get_moving()
el17sm 22:7abf4581bc9b 46 {
el17sm 22:7abf4581bc9b 47 return moving;
el17sm 22:7abf4581bc9b 48 }
el17sm 22:7abf4581bc9b 49 int Entity::get_hitbox_width()
el17sm 22:7abf4581bc9b 50 {
el17sm 22:7abf4581bc9b 51 return hitbox.width;
el17sm 22:7abf4581bc9b 52 }
el17sm 22:7abf4581bc9b 53 int Entity::get_hitbox_height()
el17sm 22:7abf4581bc9b 54 {
el17sm 22:7abf4581bc9b 55 return hitbox.height;
el17sm 22:7abf4581bc9b 56 }
el17sm 22:7abf4581bc9b 57 int Entity::get_face()
el17sm 22:7abf4581bc9b 58 {
el17sm 22:7abf4581bc9b 59 return face;
el17sm 22:7abf4581bc9b 60 }
el17sm 22:7abf4581bc9b 61 int Entity::get_sprite_width()
el17sm 22:7abf4581bc9b 62 {
el17sm 22:7abf4581bc9b 63 return sprite_size.width;
el17sm 22:7abf4581bc9b 64 }
el17sm 22:7abf4581bc9b 65 int Entity::get_sprite_height()
el17sm 22:7abf4581bc9b 66 {
el17sm 22:7abf4581bc9b 67 return sprite_size.height;
el17sm 22:7abf4581bc9b 68 }
el17sm 22:7abf4581bc9b 69 int Entity::get_offset_x()
el17sm 22:7abf4581bc9b 70 {
el17sm 22:7abf4581bc9b 71 return sprite_size.offset_x;
el17sm 22:7abf4581bc9b 72 }
el17sm 22:7abf4581bc9b 73 int Entity::get_offset_y()
el17sm 22:7abf4581bc9b 74 {
el17sm 22:7abf4581bc9b 75 return sprite_size.offset_y;
el17sm 22:7abf4581bc9b 76 }
el17sm 22:7abf4581bc9b 77 int Entity::get_pos_x()
el17sm 22:7abf4581bc9b 78 {
el17sm 22:7abf4581bc9b 79 return position.x;
el17sm 22:7abf4581bc9b 80 }
el17sm 22:7abf4581bc9b 81 int Entity::get_pos_y()
el17sm 22:7abf4581bc9b 82 {
el17sm 22:7abf4581bc9b 83 return position.y;
el17sm 22:7abf4581bc9b 84 }
el17sm 22:7abf4581bc9b 85 int Entity::get_prev_pos_x()
el17sm 22:7abf4581bc9b 86 {
el17sm 22:7abf4581bc9b 87 return prev_pos.x;
el17sm 22:7abf4581bc9b 88 }
el17sm 22:7abf4581bc9b 89 int Entity::get_prev_pos_y()
el17sm 22:7abf4581bc9b 90 {
el17sm 22:7abf4581bc9b 91 return prev_pos.y;
el17sm 23:5a8f75e93508 92 }
el17sm 23:5a8f75e93508 93 int Entity::get_attack()
el17sm 23:5a8f75e93508 94 {
el17sm 23:5a8f75e93508 95 return attack;
el17sm 23:5a8f75e93508 96 }
el17sm 23:5a8f75e93508 97 int Entity::get_hp()
el17sm 23:5a8f75e93508 98 {
el17sm 23:5a8f75e93508 99 return hp;
el17sm 22:7abf4581bc9b 100 }