ELEC2645 (2018/19) / Mbed 2 deprecated el17lw

Dependencies:   mbed

Committer:
lewisgw
Date:
Thu Mar 28 21:27:05 2019 +0000
Revision:
11:b66170249a26
Parent:
10:8bf3713d9e9c
Child:
12:ebaefda53dd0
Added an introductory text at the top right of the screen that disappears after the skater jumps for the first time.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lewisgw 9:fff2009f826e 1 #include "Menu.h"
lewisgw 9:fff2009f826e 2
lewisgw 11:b66170249a26 3 int intro_text[12][42] = {
lewisgw 11:b66170249a26 4 { 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 },
lewisgw 11:b66170249a26 5 { 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 },
lewisgw 11:b66170249a26 6 { 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 },
lewisgw 11:b66170249a26 7 { 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 },
lewisgw 11:b66170249a26 8 { 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 },
lewisgw 11:b66170249a26 9 { 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 },
lewisgw 11:b66170249a26 10 { 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 },
lewisgw 11:b66170249a26 11 { 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 },
lewisgw 11:b66170249a26 12 { 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 },
lewisgw 11:b66170249a26 13 { 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 },
lewisgw 11:b66170249a26 14 { 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 },
lewisgw 11:b66170249a26 15 { 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 }
lewisgw 11:b66170249a26 16 };
lewisgw 11:b66170249a26 17
lewisgw 9:fff2009f826e 18 Menu::Menu() {}
lewisgw 9:fff2009f826e 19
lewisgw 9:fff2009f826e 20 Menu::~Menu() {}
lewisgw 9:fff2009f826e 21
lewisgw 9:fff2009f826e 22 void Menu::init() {
lewisgw 9:fff2009f826e 23 _game_engine.init();
lewisgw 9:fff2009f826e 24 _game_counter = 0;
lewisgw 11:b66170249a26 25 _start_platform = true;
lewisgw 9:fff2009f826e 26 }
lewisgw 9:fff2009f826e 27
lewisgw 9:fff2009f826e 28 void Menu::run_game_engine(N5110 &lcd, Gamepad &gamepad) {
lewisgw 11:b66170249a26 29 if(_start_platform) print_intro_text(lcd);
lewisgw 10:8bf3713d9e9c 30 if(_game_counter == 100) _game_counter = 0;
lewisgw 9:fff2009f826e 31 _game_engine.check_reset();
lewisgw 9:fff2009f826e 32 _game_engine.read_input(gamepad);
lewisgw 11:b66170249a26 33 _start_platform = _game_engine.get_start_platform();
lewisgw 9:fff2009f826e 34 if (_game_counter % 10 == 0) _game_engine.generate_map();
lewisgw 10:8bf3713d9e9c 35 _game_engine.set_level_condition();
lewisgw 9:fff2009f826e 36 _game_engine.process_y();
lewisgw 9:fff2009f826e 37 _game_engine.process_x(_game_counter);
lewisgw 9:fff2009f826e 38 _game_engine.process_sprite();
lewisgw 9:fff2009f826e 39 _game_engine.update_lcd(lcd);
lewisgw 9:fff2009f826e 40 _game_counter++;
lewisgw 11:b66170249a26 41 }
lewisgw 11:b66170249a26 42
lewisgw 11:b66170249a26 43 void Menu::print_intro_text(N5110 &lcd) {
lewisgw 11:b66170249a26 44 lcd.drawLine(0,17,80,17,FILL_WHITE);
lewisgw 11:b66170249a26 45 lcd.drawSprite(40,4,12,42,(int *)intro_text);
lewisgw 9:fff2009f826e 46 }