testing documentation

Dependencies:   mbed ll16j23s_test_docs

Committer:
JoeShotton
Date:
Mon May 25 20:31:52 2020 +0000
Revision:
9:0571880085cc
Parent:
8:bcc3403d7e79
Child:
10:a2d643b3c782
Post death menus partially implemented, mostly fixed food location issues and issues with tail display

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 3:fcd6d70e9694 20 #include <vector>
JoeShotton 3:fcd6d70e9694 21 #include <cstdlib>
eencae 0:b7f1f47bb26a 22
JoeShotton 1:985dfa6cee28 23 #define X_MAX 84
JoeShotton 1:985dfa6cee28 24 #define Y_MAX 48
eencae 0:b7f1f47bb26a 25
eencae 0:b7f1f47bb26a 26 // objects
eencae 0:b7f1f47bb26a 27 Gamepad pad;
eencae 0:b7f1f47bb26a 28 N5110 lcd;
JoeShotton 3:fcd6d70e9694 29 SnakeEngine snake;
JoeShotton 5:06fa7674622a 30 FXOS8700CQ mag(I2C_SDA,I2C_SCL);
eencae 0:b7f1f47bb26a 31
JoeShotton 1:985dfa6cee28 32 int main() {
JoeShotton 1:985dfa6cee28 33
JoeShotton 1:985dfa6cee28 34 lcd.init();
JoeShotton 1:985dfa6cee28 35 pad.init();
JoeShotton 1:985dfa6cee28 36
JoeShotton 9:0571880085cc 37 snake._game_state = 1;
JoeShotton 9:0571880085cc 38 snake.menu1_init(pad, lcd);
JoeShotton 3:fcd6d70e9694 39
JoeShotton 7:dd84e0fab346 40 while(snake._game_state == 1){
JoeShotton 9:0571880085cc 41 snake.menu1_select(lcd, pad, mag);
JoeShotton 8:bcc3403d7e79 42 snake.contrast(pad, lcd);
JoeShotton 7:dd84e0fab346 43 }
JoeShotton 1:985dfa6cee28 44
JoeShotton 7:dd84e0fab346 45 while(snake._game_state == 2){
JoeShotton 7:dd84e0fab346 46 snake.menu2_select(lcd, pad);
JoeShotton 8:bcc3403d7e79 47 snake.contrast(pad, lcd);
JoeShotton 7:dd84e0fab346 48 }
JoeShotton 7:dd84e0fab346 49
JoeShotton 7:dd84e0fab346 50 while(snake._game_state == 3){
JoeShotton 4:ea3fa51c4386 51 lcd.clear();
JoeShotton 7:dd84e0fab346 52 snake.game_run(pad, lcd);
JoeShotton 4:ea3fa51c4386 53 lcd.refresh();
JoeShotton 4:ea3fa51c4386 54 wait_ms(500/(5+snake.score));
JoeShotton 7:dd84e0fab346 55 }
JoeShotton 7:dd84e0fab346 56
JoeShotton 7:dd84e0fab346 57 while(snake._game_state == 4){
JoeShotton 9:0571880085cc 58 snake.death_select(lcd, pad, mag);
JoeShotton 8:bcc3403d7e79 59 snake.contrast(pad, lcd);
JoeShotton 7:dd84e0fab346 60 }
JoeShotton 7:dd84e0fab346 61
eencae 0:b7f1f47bb26a 62
JoeShotton 4:ea3fa51c4386 63
JoeShotton 7:dd84e0fab346 64 }
JoeShotton 7:dd84e0fab346 65