![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
A rouge-like rpg, heavily inspired on the binding of isaac. Running on a FRDM-K64F Mbed board. C++.
Dependencies: mbed MotionSensor
RoomEngine/RoomEngine.h
- Committer:
- el17sm
- Date:
- 2019-05-02
- Revision:
- 28:98848e6a77a2
- Parent:
- 27:a1b41626f57c
- Child:
- 29:6b8411bb040a
File content as of revision 28:98848e6a77a2:
#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 init(Player ¤t_player, Room ¤t_room); void save_room(Room ¤t_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 _A; bool _B; bool _X; bool _Y; Vector2D mapped_coord; 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); void draw(N5110 &lcd); void draw_player(N5110 &lcd); void draw_enemies(N5110 &lcd); void draw_bullets(N5110 &lcd); void draw_health(N5110 &lcd); }; #endif