![](/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
main.cpp
- Committer:
- el17sm
- Date:
- 2019-05-02
- Revision:
- 28:98848e6a77a2
- Parent:
- 27:a1b41626f57c
- Child:
- 29:6b8411bb040a
File content as of revision 28:98848e6a77a2:
/* ELEC2645 Embedded Systems Project School of Electronic & Electrical Engineering University of Leeds Name: Steven Mahasin Username: el17sm Student ID Number: 201192939 Date: 11/04/2019 */ // Pre-Processor #include "mbed.h" #include "Gamepad.h" #include "N5110.h" #include "math.h" #include "sprites.h" #include "Entity.h" #include "Player.h" #include "Headless.h" #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; // Prototypes void render(); // Functions int main() { // initialize lcd.init(); lcd.setContrast(0.5); gamepad.init(); Player player(39, 27); while(1) { // gameloop RoomEngine room_engine; 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(); } } lcd.clear(); lcd.setContrast(0.5); lcd.printString("Game Over", 0, 0); lcd.printString("Retry?", 0, 1); lcd.refresh(); room_engine.~RoomEngine(); wait(0.05); while(!gamepad.check_event(Gamepad::A_PRESSED)) { } wait(0.05); while(gamepad.check_event(Gamepad::A_PRESSED)) { } } }