Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Mon May 06 14:28:35 2019 +0000
Revision:
83:329da564799a
Parent:
80:51ca38c5dcdf
Child:
85:d50ba0994676
Now, I have put gamepad and lcd objects from the main() in a pointer, so that i can declare them in init() in every class i use them in and use them as global objects for each class, without having to send their addresses to all of the functions.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AhmedPlaymaker 60:d3a9e0e4a0de 1 #include "Tutorial.h"
AhmedPlaymaker 60:d3a9e0e4a0de 2
AhmedPlaymaker 60:d3a9e0e4a0de 3 Tutorial::Tutorial()
AhmedPlaymaker 60:d3a9e0e4a0de 4 {
AhmedPlaymaker 62:ebf6ecf8a6d5 5
AhmedPlaymaker 60:d3a9e0e4a0de 6 }
AhmedPlaymaker 60:d3a9e0e4a0de 7
AhmedPlaymaker 60:d3a9e0e4a0de 8 Tutorial::~Tutorial()
AhmedPlaymaker 60:d3a9e0e4a0de 9 {
AhmedPlaymaker 62:ebf6ecf8a6d5 10
AhmedPlaymaker 60:d3a9e0e4a0de 11 }
AhmedPlaymaker 60:d3a9e0e4a0de 12
AhmedPlaymaker 60:d3a9e0e4a0de 13 int g_pad[27][44] = {
AhmedPlaymaker 60:d3a9e0e4a0de 14 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 15 {0,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,0,0,0,1,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 16 {0,0,0,0,1,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,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 17 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 18 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 19 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 20 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 21 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 22 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 23 {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 24 {0,0,0,1,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,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 25 {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,1,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 26 {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0},
AhmedPlaymaker 80:51ca38c5dcdf 27 {0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 28 {0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 29 {0,1,0,0,0,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,1,1,1,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 30 {0,1,0,0,0,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,1,1,1,0,0,0,1,1,1,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 31 {1,0,0,0,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,1,0,1,0,0,0,1,0,1,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 32 {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,1,1,1,0,0,0,1,1,1,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 33 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 80:51ca38c5dcdf 34 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 35 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 36 {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,1},
AhmedPlaymaker 60:d3a9e0e4a0de 37 {0,1,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,0,0,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 38 {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,0,0,0,1,0,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 39 {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,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 40 {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,1,1,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 41 };
AhmedPlaymaker 60:d3a9e0e4a0de 42
AhmedPlaymaker 60:d3a9e0e4a0de 43 int Pot[27][44] = {
AhmedPlaymaker 60:d3a9e0e4a0de 44 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 45 {0,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,0,0,0,1,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 46 {0,0,0,0,1,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,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 47 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 48 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 49 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 50 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 51 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,1,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 52 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,1,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 53 {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,1,1,1,1,1,0,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 54 {0,0,0,1,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,0,0,0,0,0,0,1,1,1,0,0,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 55 {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,1,0,0,0,1,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 56 {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 57 {0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 58 {0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 59 {0,1,0,0,0,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,1,1,1,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 60 {0,1,0,0,0,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,1,1,1,0,0,0,1,1,1,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 61 {1,0,0,0,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,1,0,1,0,0,0,1,0,1,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 62 {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,1,1,1,0,0,0,1,1,1,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 63 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 64 {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,1,0,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 65 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 66 {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,1},
AhmedPlaymaker 60:d3a9e0e4a0de 67 {0,1,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,0,0,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 68 {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,0,0,0,1,0,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 69 {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,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 70 {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,1,1,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 71 };
AhmedPlaymaker 60:d3a9e0e4a0de 72
AhmedPlaymaker 78:10e5cc013806 73 int UpDown[27][44] = {
AhmedPlaymaker 78:10e5cc013806 74 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 80:51ca38c5dcdf 75 {0,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,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0},
AhmedPlaymaker 80:51ca38c5dcdf 76 {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,1,1,1,1,1,1,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 77 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 78 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 79 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 80 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 81 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 82 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 78:10e5cc013806 83 {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 78:10e5cc013806 84 {0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 78:10e5cc013806 85 {0,0,1,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,0,0,0,0,1,1,0,0},
AhmedPlaymaker 78:10e5cc013806 86 {0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0},
AhmedPlaymaker 78:10e5cc013806 87 {0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0},
AhmedPlaymaker 78:10e5cc013806 88 {0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0},
AhmedPlaymaker 78:10e5cc013806 89 {0,1,0,0,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,1,1,1,0,0,0,0,1,0},
AhmedPlaymaker 78:10e5cc013806 90 {0,1,0,0,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,1,1,1,0,0,0,1,1,1,0,1,0},
AhmedPlaymaker 78:10e5cc013806 91 {1,0,0,0,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,0,0,1,0,1,0,0,0,1,0,1,0,0,1},
AhmedPlaymaker 78:10e5cc013806 92 {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,1,1,1,0,0,0,1,1,1,0,0,1},
AhmedPlaymaker 78:10e5cc013806 93 {1,0,0,0,0,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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 78:10e5cc013806 94 {1,0,0,0,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,1,0,1,0,0,0,0,0,1},
AhmedPlaymaker 78:10e5cc013806 95 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 78:10e5cc013806 96 {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,1},
AhmedPlaymaker 78:10e5cc013806 97 {0,1,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,0,0,0,0,0,0,1,0},
AhmedPlaymaker 78:10e5cc013806 98 {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,0,0,0,1,0,0,0,0,0,1,0},
AhmedPlaymaker 78:10e5cc013806 99 {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,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0},
AhmedPlaymaker 78:10e5cc013806 100 {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,1,1,1,0,0,0},
AhmedPlaymaker 78:10e5cc013806 101 };
AhmedPlaymaker 78:10e5cc013806 102
AhmedPlaymaker 60:d3a9e0e4a0de 103 int LeftRight[27][44] = {
AhmedPlaymaker 60:d3a9e0e4a0de 104 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 80:51ca38c5dcdf 105 {0,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,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0},
AhmedPlaymaker 80:51ca38c5dcdf 106 {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,1,1,1,1,1,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 107 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 108 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 109 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 110 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 111 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 112 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 113 {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 114 {0,0,0,1,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,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 115 {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,1,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 116 {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 117 {0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 118 {0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 119 {0,1,0,1,0,0,1,1,1,1,1,1,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,1,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 120 {0,1,0,1,0,0,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 121 {1,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 122 {1,0,0,0,0,1,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,1,0,0,0,1,1,1,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 123 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 124 {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,1,0,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 125 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 126 {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,1},
AhmedPlaymaker 60:d3a9e0e4a0de 127 {0,1,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,0,0,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 128 {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,0,0,0,1,0,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 129 {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,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 130 {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,1,1,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 131 };
AhmedPlaymaker 60:d3a9e0e4a0de 132
AhmedPlaymaker 60:d3a9e0e4a0de 133 int GameControls[31][44] = {
AhmedPlaymaker 60:d3a9e0e4a0de 134 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 135 {0,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,0,0,0,1,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 136 {0,0,0,0,1,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,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 137 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 138 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 139 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 140 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 141 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 142 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 143 {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 144 {0,0,0,1,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,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 145 {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,1,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 146 {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 147 {0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 148 {0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 149 {0,1,0,1,0,0,1,1,1,1,1,1,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,1,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 150 {0,1,0,1,0,0,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 151 {1,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 152 {1,0,0,0,0,1,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,1,0,0,0,1,1,1,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 153 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 154 {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,1,0,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 155 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 156 {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,1},
AhmedPlaymaker 60:d3a9e0e4a0de 157 {0,1,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,0,0,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 158 {0,1,0,0,0,0,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,1,0,0,0,0,1,0,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 159 {0,0,1,0,0,0,1,0,0,0,0,1,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,1,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 160 {0,0,0,1,1,1,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,1,1,0,0,1,0,1,1,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 161 {0,0,0,0,0,0,1,1,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,1,1,0,1,1,0,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 162 {0,0,0,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,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 163 {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,0,0,1,1,0,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 164 {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,1,0,0,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 165 };
AhmedPlaymaker 60:d3a9e0e4a0de 166
AhmedPlaymaker 60:d3a9e0e4a0de 167 int NextBack[27][44] = {
AhmedPlaymaker 60:d3a9e0e4a0de 168 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 169 {0,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,0,0,0,1,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 170 {0,0,0,0,1,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,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 171 {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,1,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 172 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 173 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 174 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 175 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 176 {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 177 {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 178 {0,0,0,1,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,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 179 {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,1,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 180 {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 181 {0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 182 {0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 183 {0,1,0,0,0,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,1,1,1,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 184 {0,1,0,0,0,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,1,1,1,0,0,0,1,1,1,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 185 {1,0,0,0,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,1,0,1,0,0,0,1,0,1,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 186 {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,1,1,1,0,0,0,1,1,1,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 187 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 188 {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,1,0,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 189 {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,1,1,1,0,0,0,0,0,1},
AhmedPlaymaker 60:d3a9e0e4a0de 190 {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,1},
AhmedPlaymaker 60:d3a9e0e4a0de 191 {0,1,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,0,0,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 192 {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,0,0,0,1,0,0,0,0,0,1,0},
AhmedPlaymaker 60:d3a9e0e4a0de 193 {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,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 194 {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,1,1,1,0,0,0},
AhmedPlaymaker 60:d3a9e0e4a0de 195 };
AhmedPlaymaker 60:d3a9e0e4a0de 196
AhmedPlaymaker 80:51ca38c5dcdf 197 int Back[9][19] = {
AhmedPlaymaker 80:51ca38c5dcdf 198 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
AhmedPlaymaker 80:51ca38c5dcdf 199 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 80:51ca38c5dcdf 200 {1,0,1,1,0,0,0,1,0,0,0,1,1,0,1,0,1,0,1},
AhmedPlaymaker 80:51ca38c5dcdf 201 {1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,1,0,0,1},
AhmedPlaymaker 80:51ca38c5dcdf 202 {1,0,1,1,0,0,1,1,1,0,1,0,0,0,1,0,0,0,1},
AhmedPlaymaker 80:51ca38c5dcdf 203 {1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,1,0,0,1},
AhmedPlaymaker 80:51ca38c5dcdf 204 {1,0,1,1,0,0,1,0,1,0,0,1,1,0,1,0,1,0,1},
AhmedPlaymaker 80:51ca38c5dcdf 205 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 80:51ca38c5dcdf 206 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
AhmedPlaymaker 80:51ca38c5dcdf 207 };
AhmedPlaymaker 60:d3a9e0e4a0de 208
AhmedPlaymaker 83:329da564799a 209
AhmedPlaymaker 83:329da564799a 210 void Tutorial::init(N5110 *lcd, Gamepad *pad)
AhmedPlaymaker 83:329da564799a 211 {
AhmedPlaymaker 83:329da564799a 212 _lcd = lcd;
AhmedPlaymaker 83:329da564799a 213 _pad = pad;
AhmedPlaymaker 83:329da564799a 214 }
AhmedPlaymaker 83:329da564799a 215
AhmedPlaymaker 83:329da564799a 216 void Tutorial::Implement()
AhmedPlaymaker 60:d3a9e0e4a0de 217 {
AhmedPlaymaker 80:51ca38c5dcdf 218 //Only executed if back is not pressed. Takes us to tutorial of how to navigate through the tutorial.
AhmedPlaymaker 83:329da564799a 219 if(_backPressed == false) { Tutorial::gamePad(); }
AhmedPlaymaker 80:51ca38c5dcdf 220 //Only executed if back is not pressed. Takes us to tutorial of how to operate settings.
AhmedPlaymaker 83:329da564799a 221 if(_backPressed == false) { Tutorial::settings(); }
AhmedPlaymaker 80:51ca38c5dcdf 222 //Only executed if back is not pressed. Takes us to tutorial of how to navigate through main menu.
AhmedPlaymaker 83:329da564799a 223 if(_backPressed == false) { Tutorial::controlsToNavigateInMenu(); }
AhmedPlaymaker 80:51ca38c5dcdf 224 //Only executed if back is not pressed. Takes us to tutorial of how to navigate through mode and speed menu.
AhmedPlaymaker 83:329da564799a 225 if(_backPressed == false) { Tutorial::controlsToNavigateGameModeSpeed(); }
AhmedPlaymaker 80:51ca38c5dcdf 226 //Only executed if back is not pressed. Takes us to tutorial of how to use in game controls and how to move snake.
AhmedPlaymaker 83:329da564799a 227 if(_backPressed == false) { Tutorial::controlsToPlayGame(); }
AhmedPlaymaker 80:51ca38c5dcdf 228 //Only executed if back is not pressed. Takes us to tutorial of how to navigate back and forth in menus & start or end a game..
AhmedPlaymaker 83:329da564799a 229 if(_backPressed == false) { Tutorial::controlsForPreviousOrNext(); }
AhmedPlaymaker 80:51ca38c5dcdf 230 //RESETS _backPressed, for displaying all the tutorials if it has been selected once again in main menu.
AhmedPlaymaker 80:51ca38c5dcdf 231 _backPressed = false;
AhmedPlaymaker 80:51ca38c5dcdf 232 }
AhmedPlaymaker 80:51ca38c5dcdf 233
AhmedPlaymaker 83:329da564799a 234 bool Tutorial::checkBackPressed()
AhmedPlaymaker 80:51ca38c5dcdf 235 {
AhmedPlaymaker 80:51ca38c5dcdf 236 //This is a very important process, this helps the code to not get stuck in menu loop but also allow to toggle between diffrent menu screens.
AhmedPlaymaker 83:329da564799a 237 if (_pad->check_event(Gamepad::BACK_PRESSED) == true) {
AhmedPlaymaker 83:329da564799a 238 _pad->tone(1000.0,0.1);
AhmedPlaymaker 80:51ca38c5dcdf 239 _backPressed = true;
AhmedPlaymaker 80:51ca38c5dcdf 240 } else {
AhmedPlaymaker 80:51ca38c5dcdf 241 _backPressed = false;
AhmedPlaymaker 80:51ca38c5dcdf 242 }
AhmedPlaymaker 80:51ca38c5dcdf 243 return _backPressed; //returns true if back is pressed, returns false otherwise.
AhmedPlaymaker 60:d3a9e0e4a0de 244 }
AhmedPlaymaker 60:d3a9e0e4a0de 245
AhmedPlaymaker 83:329da564799a 246 void Tutorial::gamePad()
AhmedPlaymaker 62:ebf6ecf8a6d5 247 {
AhmedPlaymaker 83:329da564799a 248 _lcd->clear();
AhmedPlaymaker 83:329da564799a 249 while ((_pad->check_event(Gamepad::START_PRESSED) == false)&&(_pad->check_event(Gamepad::A_PRESSED) == false)) { //if button pressed.
AhmedPlaymaker 83:329da564799a 250 _lcd->drawSprite(20,0,27,44,(int *)g_pad); //Function used to draw the sprite.
AhmedPlaymaker 83:329da564799a 251 _lcd->drawSprite(0,0,9,19,(int *)Back); //Function used to draw the back sprite.
AhmedPlaymaker 83:329da564799a 252 _lcd->printString("Press Start or",0,4);
AhmedPlaymaker 83:329da564799a 253 _lcd->printString("A to proceed",7,5);
AhmedPlaymaker 83:329da564799a 254 _lcd->refresh();
AhmedPlaymaker 80:51ca38c5dcdf 255
AhmedPlaymaker 83:329da564799a 256 if (Tutorial::checkBackPressed()) { return; } //if back is pressed, the function is terminated.
AhmedPlaymaker 78:10e5cc013806 257 }
AhmedPlaymaker 78:10e5cc013806 258 wait(0.25);
AhmedPlaymaker 83:329da564799a 259 _pad->tone(1000.0,0.1);
AhmedPlaymaker 78:10e5cc013806 260 }
AhmedPlaymaker 78:10e5cc013806 261
AhmedPlaymaker 83:329da564799a 262 void Tutorial::settings()
AhmedPlaymaker 78:10e5cc013806 263 {
AhmedPlaymaker 83:329da564799a 264 _lcd->clear();
AhmedPlaymaker 83:329da564799a 265 while ((_pad->check_event(Gamepad::START_PRESSED) == false)&&(_pad->check_event(Gamepad::A_PRESSED) == false)) { //if button pressed.
AhmedPlaymaker 83:329da564799a 266 _lcd->drawSprite(20,0,27,44,(int *)Pot); //Function used to draw the sprite.
AhmedPlaymaker 83:329da564799a 267 _lcd->drawSprite(0,0,9,19,(int *)Back); //Function used to draw the back sprite.
AhmedPlaymaker 83:329da564799a 268 _lcd->printString("Rotate pot",12,4);
AhmedPlaymaker 83:329da564799a 269 _lcd->printString("in settings",9,5);
AhmedPlaymaker 83:329da564799a 270 _lcd->refresh();
AhmedPlaymaker 80:51ca38c5dcdf 271
AhmedPlaymaker 83:329da564799a 272 if (Tutorial::checkBackPressed()) { return; } //if back is pressed, the function is terminated.
AhmedPlaymaker 78:10e5cc013806 273 }
AhmedPlaymaker 78:10e5cc013806 274 wait(0.25);
AhmedPlaymaker 83:329da564799a 275 _pad->tone(1000.0,0.1);
AhmedPlaymaker 78:10e5cc013806 276 }
AhmedPlaymaker 78:10e5cc013806 277
AhmedPlaymaker 83:329da564799a 278 void Tutorial::controlsToNavigateInMenu()
AhmedPlaymaker 78:10e5cc013806 279 {
AhmedPlaymaker 83:329da564799a 280 _lcd->clear();
AhmedPlaymaker 83:329da564799a 281 while ((_pad->check_event(Gamepad::START_PRESSED) == false)&&(_pad->check_event(Gamepad::A_PRESSED) == false)) { //if button pressed.
AhmedPlaymaker 83:329da564799a 282 _lcd->drawSprite(20,0,27,44,(int *)UpDown); //Function used to draw the sprite.
AhmedPlaymaker 83:329da564799a 283 _lcd->drawSprite(0,0,9,19,(int *)Back); //Function used to draw the back sprite.
AhmedPlaymaker 83:329da564799a 284 _lcd->printString("Up/Down",21,4);
AhmedPlaymaker 83:329da564799a 285 _lcd->printString("for Main Menu",3,5);
AhmedPlaymaker 83:329da564799a 286 _lcd->refresh();
AhmedPlaymaker 80:51ca38c5dcdf 287
AhmedPlaymaker 83:329da564799a 288 if (Tutorial::checkBackPressed()) { return; } //if back is pressed, the function is terminated.
AhmedPlaymaker 78:10e5cc013806 289 }
AhmedPlaymaker 78:10e5cc013806 290 wait(0.25);
AhmedPlaymaker 83:329da564799a 291 _pad->tone(1000.0,0.1);
AhmedPlaymaker 78:10e5cc013806 292 }
AhmedPlaymaker 78:10e5cc013806 293
AhmedPlaymaker 83:329da564799a 294 void Tutorial::controlsToNavigateGameModeSpeed()
AhmedPlaymaker 78:10e5cc013806 295 {
AhmedPlaymaker 83:329da564799a 296 _lcd->clear();
AhmedPlaymaker 83:329da564799a 297 while ((_pad->check_event(Gamepad::START_PRESSED) == false)&&(_pad->check_event(Gamepad::A_PRESSED) == false)) { //if button pressed.
AhmedPlaymaker 83:329da564799a 298 _lcd->drawSprite(20,0,27,44,(int *)LeftRight); //Function used to draw the sprite.
AhmedPlaymaker 83:329da564799a 299 _lcd->drawSprite(0,0,9,19,(int *)Back); //Function used to draw the back sprite.
AhmedPlaymaker 83:329da564799a 300 _lcd->printString("Left/Right for",0,4);
AhmedPlaymaker 83:329da564799a 301 _lcd->printString("Mode & Speed",7,5);
AhmedPlaymaker 83:329da564799a 302 _lcd->refresh();
AhmedPlaymaker 80:51ca38c5dcdf 303
AhmedPlaymaker 83:329da564799a 304 if (Tutorial::checkBackPressed()) { return; } //if back is pressed, the function is terminated.
AhmedPlaymaker 60:d3a9e0e4a0de 305 }
AhmedPlaymaker 78:10e5cc013806 306 wait(0.3);
AhmedPlaymaker 83:329da564799a 307 _pad->tone(1000.0,0.1);
AhmedPlaymaker 78:10e5cc013806 308 }
AhmedPlaymaker 78:10e5cc013806 309
AhmedPlaymaker 83:329da564799a 310 void Tutorial::controlsToPlayGame()
AhmedPlaymaker 78:10e5cc013806 311 {
AhmedPlaymaker 83:329da564799a 312 _lcd->clear();
AhmedPlaymaker 83:329da564799a 313 while ((_pad->check_event(Gamepad::START_PRESSED) == false)&&(_pad->check_event(Gamepad::A_PRESSED) == false)) { //if button pressed.
AhmedPlaymaker 83:329da564799a 314 _lcd->drawSprite(20,0,31,44,(int *)GameControls); //Function used to draw the sprite.
AhmedPlaymaker 83:329da564799a 315 _lcd->drawSprite(0,0,9,19,(int *)Back); //Function used to draw the back sprite.
AhmedPlaymaker 83:329da564799a 316 _lcd->printString("InGameControls",0,4);
AhmedPlaymaker 83:329da564799a 317 _lcd->printString("to move snake",4,5);
AhmedPlaymaker 83:329da564799a 318 _lcd->refresh();
AhmedPlaymaker 80:51ca38c5dcdf 319
AhmedPlaymaker 83:329da564799a 320 if (Tutorial::checkBackPressed()) { return; } //if back is pressed, the function is terminated.
AhmedPlaymaker 78:10e5cc013806 321 }
AhmedPlaymaker 78:10e5cc013806 322 wait(0.25);
AhmedPlaymaker 83:329da564799a 323 _pad->tone(1000.0,0.1);
AhmedPlaymaker 80:51ca38c5dcdf 324
AhmedPlaymaker 83:329da564799a 325 _lcd->clear();
AhmedPlaymaker 83:329da564799a 326 while ((_pad->check_event(Gamepad::START_PRESSED) == false)&&(_pad->check_event(Gamepad::A_PRESSED) == false)) { //if button pressed.
AhmedPlaymaker 83:329da564799a 327 _lcd->drawSprite(20,0,31,44,(int *)GameControls); //Function used to draw the sprite.
AhmedPlaymaker 83:329da564799a 328 _lcd->drawSprite(0,0,9,19,(int *)Back); //Function used to draw the back sprite.
AhmedPlaymaker 83:329da564799a 329 _lcd->printString("Depends on",12,4);
AhmedPlaymaker 83:329da564799a 330 _lcd->printString("mode selection",0,5);
AhmedPlaymaker 83:329da564799a 331 _lcd->refresh();
AhmedPlaymaker 80:51ca38c5dcdf 332
AhmedPlaymaker 83:329da564799a 333 if (Tutorial::checkBackPressed()) { return; } //if back is pressed, the function is terminated.
AhmedPlaymaker 78:10e5cc013806 334 }
AhmedPlaymaker 78:10e5cc013806 335 wait(0.25);
AhmedPlaymaker 83:329da564799a 336 _pad->tone(1000.0,0.1);
AhmedPlaymaker 78:10e5cc013806 337 }
AhmedPlaymaker 78:10e5cc013806 338
AhmedPlaymaker 83:329da564799a 339 void Tutorial::controlsForPreviousOrNext()
AhmedPlaymaker 78:10e5cc013806 340 {
AhmedPlaymaker 83:329da564799a 341 _lcd->clear();
AhmedPlaymaker 83:329da564799a 342 while ((_pad->check_event(Gamepad::START_PRESSED) == false)&&(_pad->check_event(Gamepad::A_PRESSED) == false)) { //if button pressed.
AhmedPlaymaker 83:329da564799a 343 _lcd->drawSprite(20,0,27,44,(int *)NextBack); //Function used to draw the sprite.
AhmedPlaymaker 83:329da564799a 344 _lcd->drawSprite(0,0,9,19,(int *)Back); //Function used to draw the back sprite.
AhmedPlaymaker 83:329da564799a 345 _lcd->printString("Previous/Next",4,4);
AhmedPlaymaker 83:329da564799a 346 _lcd->printString("End/Start",16,5);
AhmedPlaymaker 83:329da564799a 347 _lcd->refresh();
AhmedPlaymaker 80:51ca38c5dcdf 348
AhmedPlaymaker 83:329da564799a 349 if (Tutorial::checkBackPressed()) { return; } //if back is pressed, the function is terminated.
AhmedPlaymaker 78:10e5cc013806 350 }
AhmedPlaymaker 78:10e5cc013806 351 wait(0.3);
AhmedPlaymaker 83:329da564799a 352 _pad->tone(1000.0,0.1);
AhmedPlaymaker 80:51ca38c5dcdf 353
AhmedPlaymaker 83:329da564799a 354 _lcd->clear();
AhmedPlaymaker 83:329da564799a 355 while ((_pad->check_event(Gamepad::START_PRESSED) == false)&&(_pad->check_event(Gamepad::A_PRESSED) == false)) { //if button pressed.
AhmedPlaymaker 83:329da564799a 356 _lcd->drawSprite(20,0,27,44,(int *)NextBack); //Function used to draw the sprite.
AhmedPlaymaker 83:329da564799a 357 _lcd->drawSprite(0,0,9,19,(int *)Back); //Function used to draw the back sprite.
AhmedPlaymaker 83:329da564799a 358 _lcd->printString("Works in both",5,4);
AhmedPlaymaker 83:329da564799a 359 _lcd->printString("menu and game",5,5);
AhmedPlaymaker 83:329da564799a 360 _lcd->refresh();
AhmedPlaymaker 80:51ca38c5dcdf 361
AhmedPlaymaker 83:329da564799a 362 if (Tutorial::checkBackPressed()) { return; } //if back is pressed, the function is terminated.
AhmedPlaymaker 78:10e5cc013806 363 }
AhmedPlaymaker 78:10e5cc013806 364 wait(0.3);
AhmedPlaymaker 83:329da564799a 365 _pad->tone(1000.0,0.1);
AhmedPlaymaker 60:d3a9e0e4a0de 366 }