Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Tue Mar 12 13:05:30 2019 +0000
Revision:
2:83e85dea3c89
Parent:
1:32e312688a65
Child:
3:fbb1fa853f09
Added Menu items and selection arrow, branching remaining

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AhmedPlaymaker 0:4b15c2d4aa58 1 /*
AhmedPlaymaker 0:4b15c2d4aa58 2 ELEC2645 Embedded Systems Project
AhmedPlaymaker 0:4b15c2d4aa58 3 School of Electronic & Electrical Engineering
AhmedPlaymaker 0:4b15c2d4aa58 4 University of Leeds
AhmedPlaymaker 0:4b15c2d4aa58 5 Name: Ahmed Nomaan Adamjee
AhmedPlaymaker 0:4b15c2d4aa58 6 Username: AhmedPlaymaker
AhmedPlaymaker 0:4b15c2d4aa58 7 Student ID Number: 201161436
AhmedPlaymaker 0:4b15c2d4aa58 8 Date:
AhmedPlaymaker 0:4b15c2d4aa58 9 */
AhmedPlaymaker 0:4b15c2d4aa58 10
AhmedPlaymaker 1:32e312688a65 11 ///////// pre-processor directives ////////
AhmedPlaymaker 0:4b15c2d4aa58 12 #include "mbed.h"
AhmedPlaymaker 1:32e312688a65 13 #include "Gamepad.h"
AhmedPlaymaker 1:32e312688a65 14 #include "N5110.h"
AhmedPlaymaker 1:32e312688a65 15 #include "FXOS8700CQ.h"
AhmedPlaymaker 1:32e312688a65 16
AhmedPlaymaker 1:32e312688a65 17 /////////////// objects ///////////////
AhmedPlaymaker 1:32e312688a65 18 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
AhmedPlaymaker 1:32e312688a65 19 Gamepad pad;
AhmedPlaymaker 1:32e312688a65 20 FXOS8700CQ device(I2C_SDA,I2C_SCL);
AhmedPlaymaker 2:83e85dea3c89 21 //SnakevsBlock game;
AhmedPlaymaker 1:32e312688a65 22
AhmedPlaymaker 1:32e312688a65 23 ///////////// prototypes ///////////////
AhmedPlaymaker 1:32e312688a65 24 void init();
AhmedPlaymaker 1:32e312688a65 25 void screen_saver();
AhmedPlaymaker 2:83e85dea3c89 26 void menu_screen();
AhmedPlaymaker 1:32e312688a65 27 void refresh_game();
AhmedPlaymaker 1:32e312688a65 28
AhmedPlaymaker 2:83e85dea3c89 29 //Constants//
AhmedPlaymaker 2:83e85dea3c89 30 int fps = 7; // frames per second
AhmedPlaymaker 2:83e85dea3c89 31
AhmedPlaymaker 1:32e312688a65 32 ///////////////My Sprite////////////////
AhmedPlaymaker 1:32e312688a65 33 int sprite[48][84] = {
AhmedPlaymaker 1:32e312688a65 34 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 1:32e312688a65 35 {0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 1:32e312688a65 36 {0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 37 {0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 38 {0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 39 {0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 40 {0,0,0,0,0,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 41 {0,0,0,0,1,0,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 42 {0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 43 {0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 44 {0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 45 {0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,1,0,0,1,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 46 {0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 47 {0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 48 {0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 49 {0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 50 {0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 51 {0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 52 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 53 {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 54 {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 55 {0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 56 {0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 57 {0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 58 {0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 59 {0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 60 {0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 61 {0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 62 {0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 63 {0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 64 {0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 65 {0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
AhmedPlaymaker 2:83e85dea3c89 66 {0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
AhmedPlaymaker 1:32e312688a65 67 {0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 1:32e312688a65 68 {0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 1:32e312688a65 69 {0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 1:32e312688a65 70 {0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 1:32e312688a65 71 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 1:32e312688a65 72 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 73 {0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 74 {0,1,1,1,1,1,1,0,1,1,0,0,0,1,0,0,0,1,1,1,0,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,1,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 75 {0,1,1,0,0,0,0,0,1,1,1,0,0,1,0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0,1,1,0,1,1,0,0,1,0,1,1,0,0,1,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 76 {0,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,0,0,1,0,0,0,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 77 {0,0,0,1,1,1,1,0,1,1,0,1,0,1,0,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,0,0,0,1,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 78 {0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,0,0,1,0,0,0,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 79 {0,1,1,1,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 80 {0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,0,0,1,1,1,1,0,1,1,0,0,1,1,0,0,0},
AhmedPlaymaker 1:32e312688a65 81 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 82
AhmedPlaymaker 2:83e85dea3c89 83 };
AhmedPlaymaker 2:83e85dea3c89 84 int arrow[7][9] = {
AhmedPlaymaker 2:83e85dea3c89 85 {0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 86 {0,0,0,1,1,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 87 {0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 88 {0,1,1,1,1,1,1,1,1},
AhmedPlaymaker 2:83e85dea3c89 89 {0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 90 {0,0,0,1,1,0,0,0,0},
AhmedPlaymaker 2:83e85dea3c89 91 {0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 1:32e312688a65 92 };
AhmedPlaymaker 1:32e312688a65 93
AhmedPlaymaker 1:32e312688a65 94 ///////////// MAIN ////////////////
AhmedPlaymaker 1:32e312688a65 95 int main()
AhmedPlaymaker 1:32e312688a65 96 {
AhmedPlaymaker 2:83e85dea3c89 97
AhmedPlaymaker 1:32e312688a65 98 init();
AhmedPlaymaker 1:32e312688a65 99 screen_saver(); // logo
AhmedPlaymaker 1:32e312688a65 100 // start the game
AhmedPlaymaker 1:32e312688a65 101 refresh_game();
AhmedPlaymaker 1:32e312688a65 102 wait(1.0f/fps);
AhmedPlaymaker 1:32e312688a65 103
AhmedPlaymaker 1:32e312688a65 104 // snakeVSblock - detect input respect to the menu options, and update data and refresh screen
AhmedPlaymaker 1:32e312688a65 105 while (1) {
AhmedPlaymaker 1:32e312688a65 106
AhmedPlaymaker 2:83e85dea3c89 107 //game.read_input(pad);
AhmedPlaymaker 2:83e85dea3c89 108 //game.update(pad);
AhmedPlaymaker 1:32e312688a65 109 refresh_game();
AhmedPlaymaker 1:32e312688a65 110
AhmedPlaymaker 1:32e312688a65 111 wait(1.0f/fps);
AhmedPlaymaker 1:32e312688a65 112
AhmedPlaymaker 1:32e312688a65 113 }
AhmedPlaymaker 1:32e312688a65 114 }
AhmedPlaymaker 1:32e312688a65 115
AhmedPlaymaker 1:32e312688a65 116 void init()
AhmedPlaymaker 1:32e312688a65 117 {
AhmedPlaymaker 1:32e312688a65 118 // need to initialise LCD and Gamepad
AhmedPlaymaker 1:32e312688a65 119 lcd.init();
AhmedPlaymaker 1:32e312688a65 120 pad.init();
AhmedPlaymaker 1:32e312688a65 121
AhmedPlaymaker 1:32e312688a65 122 }
AhmedPlaymaker 1:32e312688a65 123
AhmedPlaymaker 1:32e312688a65 124 void refresh_game()
AhmedPlaymaker 1:32e312688a65 125 {
AhmedPlaymaker 1:32e312688a65 126 // new frame
AhmedPlaymaker 1:32e312688a65 127 lcd.clear();
AhmedPlaymaker 1:32e312688a65 128 lcd.refresh();
AhmedPlaymaker 1:32e312688a65 129 }
AhmedPlaymaker 0:4b15c2d4aa58 130
AhmedPlaymaker 0:4b15c2d4aa58 131
AhmedPlaymaker 1:32e312688a65 132 void screen_saver()
AhmedPlaymaker 0:4b15c2d4aa58 133 {
AhmedPlaymaker 1:32e312688a65 134 lcd.drawSprite(0,0,48,84,(int *)sprite); //Function used to draw the sprite
AhmedPlaymaker 1:32e312688a65 135 lcd.refresh();
AhmedPlaymaker 1:32e312688a65 136 pad.leds_on();
AhmedPlaymaker 1:32e312688a65 137 wait(2);
AhmedPlaymaker 1:32e312688a65 138 lcd.clear();
AhmedPlaymaker 1:32e312688a65 139 lcd.printString("Please Press",5,1); //Function used to promt the user to start.
AhmedPlaymaker 1:32e312688a65 140 lcd.printString("Start",25,3);
AhmedPlaymaker 1:32e312688a65 141 lcd.printString("to Begin",15,5);
AhmedPlaymaker 1:32e312688a65 142 lcd.refresh();
AhmedPlaymaker 1:32e312688a65 143 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
AhmedPlaymaker 1:32e312688a65 144 pad.leds_on();
AhmedPlaymaker 1:32e312688a65 145 wait(0.1);
AhmedPlaymaker 1:32e312688a65 146 pad.leds_off();
AhmedPlaymaker 1:32e312688a65 147 wait(0.1);
AhmedPlaymaker 1:32e312688a65 148 }
AhmedPlaymaker 1:32e312688a65 149
AhmedPlaymaker 1:32e312688a65 150 // wait flashing LEDs until start button is pressed
AhmedPlaymaker 1:32e312688a65 151 // go into menu
AhmedPlaymaker 1:32e312688a65 152 menu_screen();
AhmedPlaymaker 1:32e312688a65 153
AhmedPlaymaker 1:32e312688a65 154 }
AhmedPlaymaker 1:32e312688a65 155 void menu_screen()
AhmedPlaymaker 1:32e312688a65 156 {
AhmedPlaymaker 2:83e85dea3c89 157 lcd.clear();
AhmedPlaymaker 2:83e85dea3c89 158 lcd.printString("Created BY",8,1);
AhmedPlaymaker 2:83e85dea3c89 159 lcd.printString("Ahmed",24,3);
AhmedPlaymaker 2:83e85dea3c89 160 lcd.printString("Adamjee",20,4);
AhmedPlaymaker 2:83e85dea3c89 161 lcd.printString("201161436",15,5);
AhmedPlaymaker 2:83e85dea3c89 162 lcd.refresh();
AhmedPlaymaker 2:83e85dea3c89 163 wait(3);
AhmedPlaymaker 2:83e85dea3c89 164 lcd.clear();
AhmedPlaymaker 2:83e85dea3c89 165 int i=16;
AhmedPlaymaker 2:83e85dea3c89 166 lcd.drawSprite(50,i,7,9,(int *)arrow);
AhmedPlaymaker 1:32e312688a65 167 while (1) { //Change this to if button pressed.
AhmedPlaymaker 2:83e85dea3c89 168 lcd.printString("SnakeVSBlock",5,0);
AhmedPlaymaker 2:83e85dea3c89 169 lcd.printString("Play",0,2);
AhmedPlaymaker 2:83e85dea3c89 170 lcd.printString("Settings",0,3);
AhmedPlaymaker 2:83e85dea3c89 171 lcd.printString("Stats",0,4);
AhmedPlaymaker 2:83e85dea3c89 172 lcd.printString("Tutorial",0,5);
AhmedPlaymaker 2:83e85dea3c89 173 Direction d = pad.get_direction();
AhmedPlaymaker 2:83e85dea3c89 174 if((d==N)&&(i>16)) {
AhmedPlaymaker 2:83e85dea3c89 175 i=i-8;
AhmedPlaymaker 2:83e85dea3c89 176 }
AhmedPlaymaker 2:83e85dea3c89 177 if((d==S)&&(i<40)) {
AhmedPlaymaker 2:83e85dea3c89 178 i=i+8;
AhmedPlaymaker 2:83e85dea3c89 179 }
AhmedPlaymaker 2:83e85dea3c89 180 lcd.drawSprite(50,i,7,9,(int *)arrow); //Function used to draw the sprite.
AhmedPlaymaker 2:83e85dea3c89 181 lcd.refresh();
AhmedPlaymaker 2:83e85dea3c89 182 wait(1.0f/fps);
AhmedPlaymaker 2:83e85dea3c89 183 lcd.clear();
AhmedPlaymaker 2:83e85dea3c89 184
AhmedPlaymaker 1:32e312688a65 185 }
AhmedPlaymaker 1:32e312688a65 186
AhmedPlaymaker 0:4b15c2d4aa58 187 }