A rouge-like rpg, heavily inspired on the binding of isaac. Running on a FRDM-K64F Mbed board. C++.
Dependencies: mbed MotionSensor
RoomEngine/Room/Room.h
- Committer:
- el17sm
- Date:
- 2019-05-06
- Revision:
- 34:1d5b4da3935e
- Parent:
- 33:4f3948dcd2f7
- Child:
- 36:92d131695e7c
File content as of revision 34:1d5b4da3935e:
#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 _enemy_coord[MAX_ENEMIES][2]; // _enemy_coord[EnemyID][x/y] // Functions void draw_walls(N5110 &lcd); void draw_walls_overlay(N5110 &lcd); public: // Constructors Room(int no_of_enemies); // Deconstructors ~Room(); // Accessors char * get_current_map_2d(); bool * get_doorways(); // Functions void load(); void unload(); void draw_room(N5110 &lcd); void draw_room_overlay(N5110 &lcd); void draw_enemies(N5110 &lcd); // Variables Entity *enemies[MAX_ENEMIES]; bool valid_enemies[MAX_ENEMIES]; int enemies_type[MAX_ENEMIES]; }; const char 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 char wall_n[10][12] = { // [Size_Y][Size_X] {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 char wall_s[3][12] = { // [Size_Y][Size_X] {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