Joe Shotton / Mbed 2 deprecated ELEC2645_Project_ll16j23s

Dependencies:   mbed ll16j23s_test_docs

Committer:
JoeShotton
Date:
Mon May 25 14:45:32 2020 +0000
Revision:
8:bcc3403d7e79
Parent:
7:dd84e0fab346
Child:
9:0571880085cc
Added contrast adjustments for all menu states

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eencae 0:b7f1f47bb26a 1 /*
eencae 0:b7f1f47bb26a 2 ELEC2645 Embedded Systems Project
eencae 0:b7f1f47bb26a 3 School of Electronic & Electrical Engineering
eencae 0:b7f1f47bb26a 4 University of Leeds
eencae 0:b7f1f47bb26a 5 2019/20
eencae 0:b7f1f47bb26a 6
JoeShotton 2:86b67b492cbc 7 Name: Joe Shotton
JoeShotton 2:86b67b492cbc 8 Username: ll16j23s
JoeShotton 2:86b67b492cbc 9 Student ID Number: 201127267
JoeShotton 2:86b67b492cbc 10 Date: 4/4/20
eencae 0:b7f1f47bb26a 11 */
eencae 0:b7f1f47bb26a 12
eencae 0:b7f1f47bb26a 13 // includes
eencae 0:b7f1f47bb26a 14 #include "mbed.h"
eencae 0:b7f1f47bb26a 15 #include "Gamepad.h"
eencae 0:b7f1f47bb26a 16 #include "N5110.h"
JoeShotton 3:fcd6d70e9694 17 #include "FXOS8700CQ.h"
JoeShotton 7:dd84e0fab346 18 #include "Bitmap.h"
JoeShotton 3:fcd6d70e9694 19 #include "SnakeEngine.h"
JoeShotton 7:dd84e0fab346 20 #include "Map.h"
JoeShotton 3:fcd6d70e9694 21 #include <vector>
JoeShotton 3:fcd6d70e9694 22 #include <cstdlib>
eencae 0:b7f1f47bb26a 23
JoeShotton 1:985dfa6cee28 24 #define X_MAX 84
JoeShotton 1:985dfa6cee28 25 #define Y_MAX 48
eencae 0:b7f1f47bb26a 26
eencae 0:b7f1f47bb26a 27 // objects
eencae 0:b7f1f47bb26a 28 Gamepad pad;
eencae 0:b7f1f47bb26a 29 N5110 lcd;
JoeShotton 3:fcd6d70e9694 30 SnakeEngine snake;
JoeShotton 5:06fa7674622a 31 FXOS8700CQ mag(I2C_SDA,I2C_SCL);
eencae 0:b7f1f47bb26a 32
JoeShotton 1:985dfa6cee28 33 int main() {
JoeShotton 1:985dfa6cee28 34
JoeShotton 1:985dfa6cee28 35 lcd.init();
JoeShotton 1:985dfa6cee28 36 pad.init();
JoeShotton 7:dd84e0fab346 37 snake.game_init(pad, lcd, mag);
JoeShotton 1:985dfa6cee28 38
JoeShotton 7:dd84e0fab346 39 snake._game_state = 2;
JoeShotton 7:dd84e0fab346 40 snake.menu2_init(lcd);
JoeShotton 7:dd84e0fab346 41
JoeShotton 7:dd84e0fab346 42 //snake.transition_black(lcd);
JoeShotton 7:dd84e0fab346 43 //snake.transition_white(lcd);
JoeShotton 1:985dfa6cee28 44 float speed = 0.5;
JoeShotton 3:fcd6d70e9694 45
JoeShotton 1:985dfa6cee28 46 int fps = 25;
JoeShotton 1:985dfa6cee28 47 int frame_t = 1000/fps;
JoeShotton 3:fcd6d70e9694 48
JoeShotton 7:dd84e0fab346 49 while(snake._game_state == 1){
JoeShotton 7:dd84e0fab346 50 snake.menu1_select(lcd, pad);
JoeShotton 8:bcc3403d7e79 51 snake.contrast(pad, lcd);
JoeShotton 7:dd84e0fab346 52 }
JoeShotton 1:985dfa6cee28 53
JoeShotton 7:dd84e0fab346 54 while(snake._game_state == 2){
JoeShotton 7:dd84e0fab346 55 snake.menu2_select(lcd, pad);
JoeShotton 8:bcc3403d7e79 56 snake.contrast(pad, lcd);
JoeShotton 7:dd84e0fab346 57 }
JoeShotton 7:dd84e0fab346 58
JoeShotton 7:dd84e0fab346 59 while(snake._game_state == 3){
JoeShotton 4:ea3fa51c4386 60 lcd.clear();
JoeShotton 7:dd84e0fab346 61 snake.game_run(pad, lcd);
JoeShotton 4:ea3fa51c4386 62 lcd.refresh();
JoeShotton 4:ea3fa51c4386 63 wait_ms(500/(5+snake.score));
JoeShotton 7:dd84e0fab346 64 }
JoeShotton 7:dd84e0fab346 65
JoeShotton 7:dd84e0fab346 66 while(snake._game_state == 4){
JoeShotton 7:dd84e0fab346 67 //snake.death;
JoeShotton 8:bcc3403d7e79 68 snake.contrast(pad, lcd);
JoeShotton 7:dd84e0fab346 69 }
JoeShotton 7:dd84e0fab346 70
eencae 0:b7f1f47bb26a 71
JoeShotton 4:ea3fa51c4386 72
JoeShotton 7:dd84e0fab346 73 }
JoeShotton 7:dd84e0fab346 74