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

Dependencies:   mbed MotionSensor

Revision:
28:98848e6a77a2
Parent:
27:a1b41626f57c
Child:
29:6b8411bb040a
--- a/RoomEngine/RoomEngine.h	Mon Apr 29 10:39:09 2019 +0000
+++ b/RoomEngine/RoomEngine.h	Thu May 02 21:30:49 2019 +0000
@@ -1,27 +1,31 @@
 #ifndef ROOMENGINE_H
 #define ROOMENGINE_H
+#include "N5110.h"
 #include "Player.h"
 #include "Bullets.h"
 #include "Room.h"
 #include "Gamepad.h"
 #include "sprites.h"
+#include "Health.h"
 
 class RoomEngine
 {
 public:
     RoomEngine();
     ~RoomEngine();
-    void load_room(Room &current_room);
+    void init(Player &current_player, Room &current_room);
+    void save_room(Room &current_room);
+    void entrance_scene(N5110 &lcd, Gamepad &gamepad);
+    void exit_scene(N5110 &lcd, Gamepad &gamepad);
     void read_input(Gamepad &gamepad);
     void update();
     void render(N5110 &lcd, Gamepad &gamepad);
     bool check_player_death();
+    int check_player_room_position();
     
 private:
     bool _L;
     bool _R;
-    bool _START;
-    bool _BACK;
     bool _A;
     bool _B;
     bool _X;
@@ -31,15 +35,27 @@
     Room *room;
     Player *player;
     
+    // Mutator
+    void set_input(bool L, bool R, bool A, bool B, bool X, bool Y, float mapped_x, float mapped_y);
+    void set_mapped_coord(float x, float y);
+    
     // Functions
+    bool entity_collision(Entity &a, Entity &b);
+    float entity_move_check_x(Entity *a, Entity *array[], int no_of_enemies, int current_entity, bool valid_enemies[]);
+    float entity_move_check_y(Entity *a, Entity *array[], int no_of_enemies, int current_entity, bool valid_enemies[]);
+    
     void check_damage();
     void check_damage_player();
     void check_damage_enemies();
+    void check_damage_enemies_by_bullets();
+    void check_damage_enemies_by_collisions();
     void check_enemies_death();
     void move();
     void move_player();
     void move_enemies();
     void move_bullets();
+    void update_player_position(int side);
+    
     void minimap_detection(N5110 &lcd, Gamepad &gamepad);
     void pause_detection(N5110 &lcd, Gamepad &gamepad);
     
@@ -49,8 +65,5 @@
     void draw_bullets(N5110 &lcd);
     void draw_health(N5110 &lcd);
     
-    bool entity_collision(Entity &a, Entity &b);
-    float entity_move_check_x(Entity *a, Entity *array[], int no_of_enemies, int current_entity, bool valid_enemies[]);
-    float entity_move_check_y(Entity *a, Entity *array[], int no_of_enemies, int current_entity, bool valid_enemies[]);
 };
 #endif
\ No newline at end of file