A rouge-like rpg, heavily inspired on the binding of isaac. Running on a FRDM-K64F Mbed board. C++.
Dependencies: mbed MotionSensor
Room/Room.h
- Committer:
- el17sm
- Date:
- 2019-05-02
- Revision:
- 28:98848e6a77a2
- Parent:
- 27:a1b41626f57c
- Child:
- 29:6b8411bb040a
File content as of revision 28:98848e6a77a2:
#ifndef ROOM_H #define ROOM_H #include "sprites.h" #include "Entity.h" #include "Player.h" #include "Headless.h" #include "Snake.h" #include "N5110.h" #define MAX_ENEMIES 10 class Room // contains the type of room, number of enemies inside it, the doorways existing in the room, functions to spawn enemies { private: bool _doorways[4]; int _room_type; int _current_map[3][48][84]; // Functions void overlap(int x, int y, int width, int height, int * object, int * map); void overlap_wall(int side); public: // Constructors Room(int no_of_enemies); // Deconstructors ~Room(); // Accessors int * get_current_map_2d(); // Functions void load(); void unload(); void draw_room(N5110 &lcd); void draw_room_overlay(N5110 &lcd); // Variables Entity *enemies[MAX_ENEMIES]; bool valid_enemies[MAX_ENEMIES]; int enemies_type[MAX_ENEMIES]; }; const int wall_x[2][11][3] = { // [E/W][Size_Y][Size_X] { // E {1,2,2}, {1,2,2}, {1,2,2}, {1,2,2}, {1,2,2}, {1,2,2}, {1,2,2}, {1,2,2}, {1,2,2}, {1,2,2}, {1,2,2}, }, { // W {2,2,1}, {2,2,1}, {2,2,1}, {2,2,1}, {2,2,1}, {2,2,1}, {2,2,1}, {2,2,1}, {2,2,1}, {2,2,1}, {2,2,1}, } }; const int wall_n[2][10][12] = { // [2d/3d][Size_Y][Size_X] { // N {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {1,1,1,1,1,1,1,1,1,1,1,1,}, }, { {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {1,1,1,1,1,1,1,1,1,1,1,1,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {1,1,1,1,1,1,1,1,1,1,1,1,}, }, }; const int wall_s[2][3][12] = { // [2d/3d][Size_Y][Size_X] { {1,1,1,1,1,1,1,1,1,1,1,1,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, {0,0,0,0,0,0,0,0,0,0,0,0,}, }, { {1,1,1,1,1,1,1,1,1,1,1,1,}, {2,2,2,2,2,2,2,2,2,2,2,2,}, {2,2,2,2,2,2,2,2,2,2,2,2,}, }, }; #endif