A rouge-like rpg, heavily inspired on the binding of isaac. Running on a FRDM-K64F Mbed board. C++.
Dependencies: mbed MotionSensor
Diff: main.cpp
- Revision:
- 28:98848e6a77a2
- Parent:
- 27:a1b41626f57c
- Child:
- 29:6b8411bb040a
--- a/main.cpp Mon Apr 29 10:39:09 2019 +0000 +++ b/main.cpp Thu May 02 21:30:49 2019 +0000 @@ -20,6 +20,10 @@ #include "Snake.h" #include "RoomEngine.h" +#define INSIDE 4 +#define MAX_ROOMS_MAP_X 10 +#define MAX_ROOMS_MAP_Y 10 + // Objects N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); Gamepad gamepad; @@ -32,23 +36,31 @@ { // initialize lcd.init(); - lcd.setContrast(0.45); + lcd.setContrast(0.5); gamepad.init(); - + Player player(39, 27); + while(1) { // gameloop RoomEngine room_engine; - while(1) { // floorloop - Room room; - room.init(); - room_engine.load_room(room); - while(!room_engine.check_player_death()) { // roomloop - room_engine.read_input(gamepad); - room_engine.update(); - room_engine.render(lcd, gamepad); + Room room(2); + // Rooms Generation + while(player.get_hp() > 0) { // Room Loop + while(1) { + room.load(); + room_engine.init(player, room); + + room_engine.entrance_scene(lcd, gamepad); + while(room_engine.check_player_room_position() == INSIDE) { // Room actions + room_engine.read_input(gamepad); + room_engine.update(); + room_engine.render(lcd, gamepad); + } + room_engine.exit_scene(lcd, gamepad); + room.unload(); } - break; } lcd.clear(); + lcd.setContrast(0.5); lcd.printString("Game Over", 0, 0); lcd.printString("Retry?", 0, 1); lcd.refresh();