ELEC2645 (2018/19) / Mbed 2 deprecated el17lw

Dependencies:   mbed

Revision:
12:ebaefda53dd0
Child:
14:9861fe85c803
diff -r b66170249a26 -r ebaefda53dd0 EngineController/EngineController.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/EngineController/EngineController.cpp	Mon Apr 01 18:06:55 2019 +0000
@@ -0,0 +1,46 @@
+#include "EngineController.h"
+
+int intro_text[12][42] =   { 
+  { 1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
+  { 1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
+  { 1,1,0,0,0,0,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1 },
+  { 1,1,0,0,0,0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1 },
+  { 1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,1,1 },
+  { 1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
+  { 1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0 },
+  { 0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,1,1,0,0,0 },
+  { 0,0,0,0,0,1,1,1,1,0,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0 },
+  { 0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0 },
+  { 1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,0 },
+  { 1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1 }
+};
+
+EngineController::EngineController() {}
+
+EngineController::~EngineController() {}
+
+void EngineController::init() {
+  _game_engine.init();
+  _game_counter = 0;
+  _start_platform = true;
+}
+
+void EngineController::run_game_engine(N5110 &lcd, Gamepad &gamepad) {
+  if(_start_platform) print_intro_text(lcd);
+  if(_game_counter == 100) _game_counter = 0;
+  _game_engine.check_reset();
+  _game_engine.read_input(gamepad);
+  _start_platform = _game_engine.get_start_platform();
+  if (_game_counter % 10 == 0) _game_engine.generate_map();  
+  _game_engine.set_level_condition();
+  _game_engine.process_y();
+  _game_engine.process_x(_game_counter);
+  _game_engine.process_sprite();
+  _game_engine.update_lcd(lcd);
+  _game_counter++;
+}
+
+void EngineController::print_intro_text(N5110 &lcd) {
+  lcd.drawLine(0,17,80,17,FILL_WHITE);
+  lcd.drawSprite(40,4,12,42,(int *)intro_text);    
+}
\ No newline at end of file