Initial publish

Dependencies:   mbed

Fork of el17dg by Dmitrijs Griskovs

Committer:
Noximilien
Date:
Tue May 07 15:22:35 2019 +0000
Revision:
40:e3bbda7444fa
Parent:
39:ca77a6d574e6
The Final, Submission Version. I have read and agreed to the academic integrity. SID:201160286

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