Testing submission

Dependencies:   mbed ll16j23s_test_docs

Committer:
JoeShotton
Date:
Sun May 24 22:18:55 2020 +0000
Revision:
7:dd84e0fab346
Parent:
6:6c9453397f4a
Child:
8:bcc3403d7e79
Menu system functions implemented, although not fully working together. Map draw functions finished

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 7:dd84e0fab346 51 }
JoeShotton 1:985dfa6cee28 52
JoeShotton 7:dd84e0fab346 53 while(snake._game_state == 2){
JoeShotton 7:dd84e0fab346 54 snake.menu2_select(lcd, pad);
JoeShotton 7:dd84e0fab346 55 }
JoeShotton 7:dd84e0fab346 56
JoeShotton 7:dd84e0fab346 57 while(snake._game_state == 3){
JoeShotton 4:ea3fa51c4386 58 lcd.clear();
JoeShotton 7:dd84e0fab346 59 snake.game_run(pad, lcd);
JoeShotton 4:ea3fa51c4386 60 lcd.refresh();
JoeShotton 4:ea3fa51c4386 61 wait_ms(500/(5+snake.score));
JoeShotton 7:dd84e0fab346 62 }
JoeShotton 7:dd84e0fab346 63
JoeShotton 7:dd84e0fab346 64 while(snake._game_state == 4){
JoeShotton 7:dd84e0fab346 65 //snake.death;
JoeShotton 7:dd84e0fab346 66 }
JoeShotton 7:dd84e0fab346 67
eencae 0:b7f1f47bb26a 68
JoeShotton 4:ea3fa51c4386 69
JoeShotton 7:dd84e0fab346 70 }
JoeShotton 7:dd84e0fab346 71