Initial publish

Dependencies:   mbed

Fork of el17dg by Dmitrijs Griskovs

Committer:
Noximilien
Date:
Thu May 02 13:35:22 2019 +0000
Revision:
36:207ec7db8648
Parent:
30:d454d0cb72bc
Child:
37:6a2bf4488022
Have added boss explosion animation. have added debug sections. Have cleaned a code a bit. positioned some functions from public to private.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Noximilien 24:0570cb4b92d7 1 #include "main.h"
Noximilien 24:0570cb4b92d7 2 #include "menu.h"
Noximilien 24:0570cb4b92d7 3 #include "constants.h"
Noximilien 24:0570cb4b92d7 4 #include "settings.h"
Noximilien 30:d454d0cb72bc 5 #include "gameobject.h"
Noximilien 24:0570cb4b92d7 6
Noximilien 24:0570cb4b92d7 7
Noximilien 30:d454d0cb72bc 8 Settings::Settings() {
Noximilien 30:d454d0cb72bc 9 current_page = 0;
Noximilien 30:d454d0cb72bc 10 }
Noximilien 30:d454d0cb72bc 11
Noximilien 30:d454d0cb72bc 12 GameObject settingsArrowLeft;
Noximilien 30:d454d0cb72bc 13 GameObject settingsArrowRight;
Noximilien 30:d454d0cb72bc 14
Noximilien 24:0570cb4b92d7 15 bool Settings::updateAndWriteSettings(){
Noximilien 30:d454d0cb72bc 16 if(x_dir.read() > joy_threshold_max_x){
Noximilien 30:d454d0cb72bc 17 current_page -= 1;
Noximilien 30:d454d0cb72bc 18 wait_ms(time_delay);
Noximilien 30:d454d0cb72bc 19 }
Noximilien 30:d454d0cb72bc 20 else if (x_dir.read() < joy_threshold_min_x){
Noximilien 30:d454d0cb72bc 21 current_page += 1;
Noximilien 30:d454d0cb72bc 22 wait_ms(time_delay);
Noximilien 30:d454d0cb72bc 23 }
Noximilien 30:d454d0cb72bc 24 if (current_page < 0) {
Noximilien 30:d454d0cb72bc 25 current_page += total_pages;
Noximilien 30:d454d0cb72bc 26 }
Noximilien 30:d454d0cb72bc 27 if (current_page >= total_pages) {
Noximilien 30:d454d0cb72bc 28 current_page -= total_pages;
Noximilien 30:d454d0cb72bc 29 }
Noximilien 30:d454d0cb72bc 30
Noximilien 26:676874c42883 31
Noximilien 30:d454d0cb72bc 32 if (current_page == 0){ settingsPage0();}
Noximilien 30:d454d0cb72bc 33 else if (current_page == 1){ settingsPage1();}
Noximilien 26:676874c42883 34
Noximilien 30:d454d0cb72bc 35 drawArrowsAndExitButton();
Noximilien 30:d454d0cb72bc 36 lcd.printString("Use the Pot",0,4);
Noximilien 24:0570cb4b92d7 37 bool back_to_menu = false;
Noximilien 24:0570cb4b92d7 38 if (gamepad.check_event(gamepad.B_PRESSED)){
Noximilien 30:d454d0cb72bc 39 gamepad.check_event(gamepad.B_PRESSED);
Noximilien 24:0570cb4b92d7 40 back_to_menu = true;
Noximilien 24:0570cb4b92d7 41 }
Noximilien 24:0570cb4b92d7 42 return back_to_menu;
Noximilien 30:d454d0cb72bc 43 }
Noximilien 30:d454d0cb72bc 44
Noximilien 30:d454d0cb72bc 45
Noximilien 30:d454d0cb72bc 46 void Settings::drawArrowsAndExitButton(){
Noximilien 30:d454d0cb72bc 47 char buffer[16];
Noximilien 30:d454d0cb72bc 48 sprintf(buffer,"page #%i", current_page);
Noximilien 30:d454d0cb72bc 49 lcd.printString(buffer,20,0);
Noximilien 24:0570cb4b92d7 50
Noximilien 30:d454d0cb72bc 51 settingsArrowLeft.pos.x = 6;
Noximilien 30:d454d0cb72bc 52 settingsArrowLeft.pos.y = 0;
Noximilien 30:d454d0cb72bc 53 settingsArrowRight.pos.x = 66;
Noximilien 30:d454d0cb72bc 54 settingsArrowRight.pos.y = 0;
Noximilien 30:d454d0cb72bc 55
Noximilien 30:d454d0cb72bc 56 drawSprite(settingsArrowRight.pos, tutorial_arrow_right_sprite);
Noximilien 30:d454d0cb72bc 57 drawSprite(settingsArrowLeft.pos, tutorial_arrow_left_sprite);
Noximilien 30:d454d0cb72bc 58 lcd.printString("Push B to Exit",0,5);
Noximilien 30:d454d0cb72bc 59 }
Noximilien 30:d454d0cb72bc 60
Noximilien 30:d454d0cb72bc 61 void Settings::settingsPage0(){
Noximilien 30:d454d0cb72bc 62 lcd.setBrightness(pot.read());
Noximilien 30:d454d0cb72bc 63 lcd.printString("Set Brightness ",0,1);
Noximilien 30:d454d0cb72bc 64 lcd.drawRect(3, 20, 70, 10, FILL_TRANSPARENT);
Noximilien 30:d454d0cb72bc 65 lcd.drawRect(3, 20, 70*pot.read(), 10, FILL_BLACK);
Noximilien 30:d454d0cb72bc 66 }
Noximilien 30:d454d0cb72bc 67
Noximilien 30:d454d0cb72bc 68 void Settings::settingsPage1(){
Noximilien 30:d454d0cb72bc 69 lcd.setContrast(pot.read());
Noximilien 30:d454d0cb72bc 70 lcd.printString("Set Contrast",0,1);
Noximilien 30:d454d0cb72bc 71 lcd.drawRect(3, 20, 70, 10, FILL_TRANSPARENT);
Noximilien 30:d454d0cb72bc 72 lcd.drawRect(3, 20, 70*pot.read(), 10, FILL_BLACK);
Noximilien 30:d454d0cb72bc 73 }
Noximilien 30:d454d0cb72bc 74