Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Fri Apr 26 19:32:57 2019 +0000
Revision:
54:20abd16c7d74
Parent:
53:527cf297b088
Child:
59:c65a2e933c47
There was a bug where the snake didnt detect the block on some occasions , i think it's fixed now.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AhmedPlaymaker 10:751bd953fa27 1 #include "Blocks.h"
AhmedPlaymaker 10:751bd953fa27 2
AhmedPlaymaker 10:751bd953fa27 3 Blocks::Blocks()
AhmedPlaymaker 10:751bd953fa27 4 {
AhmedPlaymaker 10:751bd953fa27 5
AhmedPlaymaker 10:751bd953fa27 6 }
AhmedPlaymaker 10:751bd953fa27 7
AhmedPlaymaker 10:751bd953fa27 8 Blocks::~Blocks()
AhmedPlaymaker 10:751bd953fa27 9 {
AhmedPlaymaker 10:751bd953fa27 10
AhmedPlaymaker 10:751bd953fa27 11 }
AhmedPlaymaker 10:751bd953fa27 12
AhmedPlaymaker 10:751bd953fa27 13 //Frame Sprite.
AhmedPlaymaker 10:751bd953fa27 14 int Frame[11][1] = {
AhmedPlaymaker 10:751bd953fa27 15 {0},
AhmedPlaymaker 10:751bd953fa27 16 {0},
AhmedPlaymaker 10:751bd953fa27 17 {1},
AhmedPlaymaker 10:751bd953fa27 18 {1},
AhmedPlaymaker 10:751bd953fa27 19 {1},
AhmedPlaymaker 10:751bd953fa27 20 {1},
AhmedPlaymaker 10:751bd953fa27 21 {1},
AhmedPlaymaker 10:751bd953fa27 22 {1},
AhmedPlaymaker 10:751bd953fa27 23 {1},
AhmedPlaymaker 10:751bd953fa27 24 {0},
AhmedPlaymaker 10:751bd953fa27 25 {0},
AhmedPlaymaker 10:751bd953fa27 26 };
AhmedPlaymaker 10:751bd953fa27 27 int One[11][15] = {
AhmedPlaymaker 10:751bd953fa27 28 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 29 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 30 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 31 {0,0,0,0,0,0,1,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 32 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 33 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 34 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 35 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 36 {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 37 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 38 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 39 };
AhmedPlaymaker 10:751bd953fa27 40 int Two[11][15] = {
AhmedPlaymaker 10:751bd953fa27 41 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 42 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 43 {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 44 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 45 {0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 46 {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 47 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 48 {0,0,0,0,0,0,1,0,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 49 {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 50 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 51 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 52 };
AhmedPlaymaker 10:751bd953fa27 53 int Three[11][15] = {
AhmedPlaymaker 10:751bd953fa27 54 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 55 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 56 {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 57 {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 58 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 59 {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 60 {0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 61 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 62 {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 63 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 64 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 65 };
AhmedPlaymaker 10:751bd953fa27 66 int Four[11][15] = {
AhmedPlaymaker 10:751bd953fa27 67 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 68 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 69 {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 70 {0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 71 {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 72 {0,0,0,0,0,1,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 73 {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 74 {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 75 {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 76 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 77 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 78 };
AhmedPlaymaker 10:751bd953fa27 79 int Five[11][15] = {
AhmedPlaymaker 10:751bd953fa27 80 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 81 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 82 {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 83 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 84 {0,0,0,0,0,1,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 85 {0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 86 {0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 87 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 88 {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 89 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 90 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 91 };
AhmedPlaymaker 10:751bd953fa27 92 int Six[11][15] = {
AhmedPlaymaker 10:751bd953fa27 93 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 94 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 31:6566026b4c6a 95 {0,0,0,0,0,0,0,1,1,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 96 {0,0,0,0,0,0,1,0,0,0,0,0,0,0,0},
AhmedPlaymaker 31:6566026b4c6a 97 {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 98 {0,0,0,0,0,1,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 99 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 100 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 101 {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 102 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 103 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 104 };
AhmedPlaymaker 10:751bd953fa27 105 int Seven[11][15] = {
AhmedPlaymaker 10:751bd953fa27 106 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 107 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 108 {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 109 {0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 110 {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 111 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 112 {0,0,0,0,0,0,1,0,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 113 {0,0,0,0,0,0,1,0,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 114 {0,0,0,0,0,0,1,0,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 115 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 116 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 117 };
AhmedPlaymaker 10:751bd953fa27 118 int Eight[11][15] = {
AhmedPlaymaker 10:751bd953fa27 119 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 120 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 121 {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 122 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 123 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 124 {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 125 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 126 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 127 {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 128 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 129 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 130 };
AhmedPlaymaker 10:751bd953fa27 131 int Nine[11][15] = {
AhmedPlaymaker 10:751bd953fa27 132 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 133 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 134 {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 135 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 136 {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 137 {0,0,0,0,0,0,1,1,1,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 138 {0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 139 {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 140 {0,0,0,0,0,0,1,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 141 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 142 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 143 };
AhmedPlaymaker 10:751bd953fa27 144 int Ten[11][15] = {
AhmedPlaymaker 10:751bd953fa27 145 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 146 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 147 {0,0,0,0,1,0,0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 148 {0,0,0,1,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 149 {0,0,0,0,1,0,0,1,0,0,1,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 150 {0,0,0,0,1,0,0,1,0,1,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 151 {0,0,0,0,1,0,0,1,1,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 152 {0,0,0,0,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 153 {0,0,0,1,1,1,0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 154 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 155 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 156 };
AhmedPlaymaker 10:751bd953fa27 157 int Eleven[11][15] = {
AhmedPlaymaker 10:751bd953fa27 158 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 159 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 160 {0,0,0,0,0,1,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 161 {0,0,0,0,1,1,0,0,0,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 162 {0,0,0,0,0,1,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 163 {0,0,0,0,0,1,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 164 {0,0,0,0,0,1,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 165 {0,0,0,0,0,1,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 166 {0,0,0,0,1,1,1,0,0,1,1,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 167 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 168 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 169 };
AhmedPlaymaker 10:751bd953fa27 170 int Twelve[11][15] = {
AhmedPlaymaker 10:751bd953fa27 171 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 172 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 173 {0,0,0,0,1,0,0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 174 {0,0,0,1,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 175 {0,0,0,0,1,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 176 {0,0,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 177 {0,0,0,0,1,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 178 {0,0,0,0,1,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 179 {0,0,0,1,1,1,0,1,1,1,1,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 180 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 181 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 182 };
AhmedPlaymaker 10:751bd953fa27 183 int Thirteen[11][15] = {
AhmedPlaymaker 10:751bd953fa27 184 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 185 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 186 {0,0,0,0,1,0,0,1,1,1,1,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 187 {0,0,0,1,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 188 {0,0,0,0,1,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 189 {0,0,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 190 {0,0,0,0,1,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 191 {0,0,0,0,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 192 {0,0,0,1,1,1,0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 193 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 194 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 195 };
AhmedPlaymaker 10:751bd953fa27 196 int Fourteen[11][15] = {
AhmedPlaymaker 10:751bd953fa27 197 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 198 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 199 {0,0,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 200 {0,0,0,1,1,0,0,0,0,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 201 {0,0,0,0,1,0,0,0,1,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 202 {0,0,0,0,1,0,0,1,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 203 {0,0,0,0,1,0,0,1,1,1,1,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 204 {0,0,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 205 {0,0,0,1,1,1,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 206 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 207 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 208 };
AhmedPlaymaker 10:751bd953fa27 209 int Fifteen[11][15] = {
AhmedPlaymaker 10:751bd953fa27 210 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 211 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 212 {0,0,0,0,1,0,0,1,1,1,1,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 213 {0,0,0,1,1,0,0,1,0,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 214 {0,0,0,0,1,0,0,1,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 215 {0,0,0,0,1,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 216 {0,0,0,0,1,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 217 {0,0,0,0,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 218 {0,0,0,1,1,1,0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 219 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 220 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 221 };
AhmedPlaymaker 25:e827f1a8fadc 222 /*
AhmedPlaymaker 10:751bd953fa27 223 int Sixteen[11][15] = {
AhmedPlaymaker 10:751bd953fa27 224 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 225 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 226 {0,0,0,0,1,0,0,0,0,0,1,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 227 {0,0,0,1,1,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 228 {0,0,0,0,1,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 229 {0,0,0,0,1,0,0,1,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 230 {0,0,0,0,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 231 {0,0,0,0,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 232 {0,0,0,1,1,1,0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 233 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 234 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 235 };
AhmedPlaymaker 10:751bd953fa27 236 int Seventeen[11][15] = {
AhmedPlaymaker 10:751bd953fa27 237 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 238 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 239 {0,0,0,0,1,0,0,1,1,1,1,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 240 {0,0,0,1,1,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 241 {0,0,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 242 {0,0,0,0,1,0,0,0,0,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 243 {0,0,0,0,1,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 244 {0,0,0,0,1,0,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 245 {0,0,0,1,1,1,0,0,1,0,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 246 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 247 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 248 };
AhmedPlaymaker 10:751bd953fa27 249 int Eighteen[11][15] = {
AhmedPlaymaker 10:751bd953fa27 250 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 251 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 252 {0,0,0,0,1,0,0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 253 {0,0,0,1,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 254 {0,0,0,0,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 255 {0,0,0,0,1,0,0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 256 {0,0,0,0,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 257 {0,0,0,0,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 258 {0,0,0,1,1,1,0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 259 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 260 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 261 };
AhmedPlaymaker 10:751bd953fa27 262 int Nineteen[11][15] = {
AhmedPlaymaker 10:751bd953fa27 263 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 264 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 265 {0,0,0,0,1,0,0,0,1,1,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 266 {0,0,0,1,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 267 {0,0,0,0,1,0,0,1,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 268 {0,0,0,0,1,0,0,0,1,1,1,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 269 {0,0,0,0,1,0,0,0,0,0,0,1,0,0,0},
AhmedPlaymaker 10:751bd953fa27 270 {0,0,0,0,1,0,0,0,0,0,1,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 271 {0,0,0,1,1,1,0,0,1,1,0,0,0,0,0},
AhmedPlaymaker 10:751bd953fa27 272 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
AhmedPlaymaker 10:751bd953fa27 273 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
AhmedPlaymaker 10:751bd953fa27 274 };
AhmedPlaymaker 25:e827f1a8fadc 275 */
AhmedPlaymaker 10:751bd953fa27 276
AhmedPlaymaker 10:751bd953fa27 277 void Blocks::init()
AhmedPlaymaker 10:751bd953fa27 278 {
AhmedPlaymaker 30:461231877c89 279 k = 0;
AhmedPlaymaker 10:751bd953fa27 280 }
AhmedPlaymaker 10:751bd953fa27 281
AhmedPlaymaker 10:751bd953fa27 282
AhmedPlaymaker 48:d774bb162c61 283 void Blocks::draw(N5110 &lcd, int length)
AhmedPlaymaker 41:4edac50f010d 284 {
AhmedPlaymaker 41:4edac50f010d 285 _length = length;
AhmedPlaymaker 37:ee47699915b8 286 velocity.x = 0;
AhmedPlaymaker 37:ee47699915b8 287 velocity.y = 1;
AhmedPlaymaker 48:d774bb162c61 288 if(k == 0){
AhmedPlaymaker 36:dfdd619874ae 289 _bx = 0;
AhmedPlaymaker 10:751bd953fa27 290 _by = -11;
AhmedPlaymaker 54:20abd16c7d74 291 int i=0; //this variable is used to save the positions of the random numbers generated in a block
AhmedPlaymaker 47:b448ffd073e7 292 while(i < 5) {
AhmedPlaymaker 48:d774bb162c61 293 caseselect[i] = rand()%16; //can make it 17 here later so that people are in for a shock when they think its an empty space and loose massive lives???
AhmedPlaymaker 10:751bd953fa27 294 i++;
AhmedPlaymaker 10:751bd953fa27 295 }
AhmedPlaymaker 47:b448ffd073e7 296 round = _length/(7/2); //to make sure at least one is smaller than the snake size
AhmedPlaymaker 47:b448ffd073e7 297 caseselect[rand()%5] = floor(round);
AhmedPlaymaker 48:d774bb162c61 298 round = _length/(2); //to make sure at least two smaller than the snake size (two because one is already smaller)
AhmedPlaymaker 48:d774bb162c61 299 caseselect[rand()%5] = floor(round);
AhmedPlaymaker 48:d774bb162c61 300 k = k+1; //to stop this if function to keep executing.
AhmedPlaymaker 53:527cf297b088 301 }
AhmedPlaymaker 53:527cf297b088 302 Blocks::DrawFrame(lcd);
AhmedPlaymaker 53:527cf297b088 303 Blocks::ChooseBlocks(lcd);
AhmedPlaymaker 53:527cf297b088 304 }
AhmedPlaymaker 53:527cf297b088 305
AhmedPlaymaker 53:527cf297b088 306 void Blocks::DrawFrame(N5110 &lcd) {
AhmedPlaymaker 53:527cf297b088 307 for(int i = 3; i <= 83; i += 16) {
AhmedPlaymaker 53:527cf297b088 308 lcd.drawSprite(_bx+i,_by,11,1,(int *)Frame); //Function to draw the frame at all i coordinates as x.
AhmedPlaymaker 53:527cf297b088 309 }
AhmedPlaymaker 53:527cf297b088 310 }
AhmedPlaymaker 53:527cf297b088 311
AhmedPlaymaker 53:527cf297b088 312 void Blocks::ChooseBlocks(N5110 &lcd) {
AhmedPlaymaker 54:20abd16c7d74 313 int i = 0;
AhmedPlaymaker 54:20abd16c7d74 314 int pos = 4; //this refers to the x coordinate of the blocks.
AhmedPlaymaker 10:751bd953fa27 315 while((i<5)&&(pos<=68)) {
AhmedPlaymaker 10:751bd953fa27 316 state = caseselect[i];
AhmedPlaymaker 10:751bd953fa27 317 switch(state) {
AhmedPlaymaker 10:751bd953fa27 318 case 0:
AhmedPlaymaker 19:05cc9f801468 319 // This case creates empty block
AhmedPlaymaker 13:9785f2404045 320 break;
AhmedPlaymaker 13:9785f2404045 321 case 1:
AhmedPlaymaker 10:751bd953fa27 322 lcd.drawSprite(pos,_by,11,15,(int *)One);
AhmedPlaymaker 10:751bd953fa27 323 break;
AhmedPlaymaker 13:9785f2404045 324 case 2:
AhmedPlaymaker 10:751bd953fa27 325 lcd.drawSprite(pos,_by,11,15,(int *)Two);
AhmedPlaymaker 10:751bd953fa27 326 break;
AhmedPlaymaker 13:9785f2404045 327 case 3:
AhmedPlaymaker 10:751bd953fa27 328 lcd.drawSprite(pos,_by,11,15,(int *)Three);
AhmedPlaymaker 10:751bd953fa27 329 break;
AhmedPlaymaker 10:751bd953fa27 330 case 4:
AhmedPlaymaker 13:9785f2404045 331 lcd.drawSprite(pos,_by,11,15,(int *)Four);
AhmedPlaymaker 10:751bd953fa27 332 break;
AhmedPlaymaker 10:751bd953fa27 333 case 5:
AhmedPlaymaker 13:9785f2404045 334 lcd.drawSprite(pos,_by,11,15,(int *)Five);
AhmedPlaymaker 10:751bd953fa27 335 break;
AhmedPlaymaker 10:751bd953fa27 336 case 6:
AhmedPlaymaker 13:9785f2404045 337 lcd.drawSprite(pos,_by,11,15,(int *)Six);
AhmedPlaymaker 10:751bd953fa27 338 break;
AhmedPlaymaker 10:751bd953fa27 339 case 7:
AhmedPlaymaker 13:9785f2404045 340 lcd.drawSprite(pos,_by,11,15,(int *)Seven);
AhmedPlaymaker 10:751bd953fa27 341 break;
AhmedPlaymaker 10:751bd953fa27 342 case 8:
AhmedPlaymaker 13:9785f2404045 343 lcd.drawSprite(pos,_by,11,15,(int *)Eight);
AhmedPlaymaker 10:751bd953fa27 344 break;
AhmedPlaymaker 10:751bd953fa27 345 case 9:
AhmedPlaymaker 13:9785f2404045 346 lcd.drawSprite(pos,_by,11,15,(int *)Nine);
AhmedPlaymaker 10:751bd953fa27 347 break;
AhmedPlaymaker 10:751bd953fa27 348 case 10:
AhmedPlaymaker 13:9785f2404045 349 lcd.drawSprite(pos,_by,11,15,(int *)Ten);
AhmedPlaymaker 10:751bd953fa27 350 break;
AhmedPlaymaker 10:751bd953fa27 351 case 11:
AhmedPlaymaker 13:9785f2404045 352 lcd.drawSprite(pos,_by,11,15,(int *)Eleven);
AhmedPlaymaker 10:751bd953fa27 353 break;
AhmedPlaymaker 10:751bd953fa27 354 case 12:
AhmedPlaymaker 13:9785f2404045 355 lcd.drawSprite(pos,_by,11,15,(int *)Twelve);
AhmedPlaymaker 13:9785f2404045 356 break;
AhmedPlaymaker 13:9785f2404045 357 case 13:
AhmedPlaymaker 10:751bd953fa27 358 lcd.drawSprite(pos,_by,11,15,(int *)Thirteen);
AhmedPlaymaker 10:751bd953fa27 359 break;
AhmedPlaymaker 13:9785f2404045 360 case 14:
AhmedPlaymaker 10:751bd953fa27 361 lcd.drawSprite(pos,_by,11,15,(int *)Fourteen);
AhmedPlaymaker 10:751bd953fa27 362 break;
AhmedPlaymaker 13:9785f2404045 363 case 15:
AhmedPlaymaker 10:751bd953fa27 364 lcd.drawSprite(pos,_by,11,15,(int *)Fifteen);
AhmedPlaymaker 10:751bd953fa27 365 break;
AhmedPlaymaker 10:751bd953fa27 366 default:
AhmedPlaymaker 10:751bd953fa27 367 break;
AhmedPlaymaker 10:751bd953fa27 368 }
AhmedPlaymaker 41:4edac50f010d 369 i++;
AhmedPlaymaker 41:4edac50f010d 370 pos+=16;
AhmedPlaymaker 41:4edac50f010d 371 }
AhmedPlaymaker 10:751bd953fa27 372 }
AhmedPlaymaker 10:751bd953fa27 373
AhmedPlaymaker 10:751bd953fa27 374 Vector2D Blocks::get_pos() //Obtains the X and Y coordinate of the target.
AhmedPlaymaker 10:751bd953fa27 375 {
AhmedPlaymaker 10:751bd953fa27 376 Vector2D blockpos = {_bx,_by};
AhmedPlaymaker 10:751bd953fa27 377 //printf("blockpos is = %f %f \n", blockpos.x, blockpos.y);
AhmedPlaymaker 10:751bd953fa27 378 return blockpos;
AhmedPlaymaker 10:751bd953fa27 379 }
AhmedPlaymaker 10:751bd953fa27 380
AhmedPlaymaker 12:1e601b176437 381 int * Blocks::get_number() //Obtains the X and Y coordinate of the target.
AhmedPlaymaker 12:1e601b176437 382 {
AhmedPlaymaker 12:1e601b176437 383 return caseselect;
AhmedPlaymaker 12:1e601b176437 384 }
AhmedPlaymaker 10:751bd953fa27 385
AhmedPlaymaker 10:751bd953fa27 386
AhmedPlaymaker 48:d774bb162c61 387 void Blocks::update(int blocknum, int blockgap, int srn, int send_block_number) //send sends the block number only when the y position satisfies a particular requirement
AhmedPlaymaker 53:527cf297b088 388 { //and srn gives the srn of the block, snake is colliding with.
AhmedPlaymaker 48:d774bb162c61 389 // this if function makes sure the block appears at the rate of blockgap.
AhmedPlaymaker 48:d774bb162c61 390 if(_by >= (blockgap)){
AhmedPlaymaker 48:d774bb162c61 391 k = 0;
AhmedPlaymaker 48:d774bb162c61 392 }
AhmedPlaymaker 37:ee47699915b8 393 _bx += velocity.x;
AhmedPlaymaker 37:ee47699915b8 394 _by += velocity.y;
AhmedPlaymaker 48:d774bb162c61 395
AhmedPlaymaker 42:973bb6036f81 396 if(send_block_number) {caseselect[srn] = blocknum;}
AhmedPlaymaker 10:751bd953fa27 397 }
AhmedPlaymaker 10:751bd953fa27 398
AhmedPlaymaker 10:751bd953fa27 399
AhmedPlaymaker 10:751bd953fa27 400 void Blocks::set_pos(Vector2D p)
AhmedPlaymaker 10:751bd953fa27 401 {
AhmedPlaymaker 10:751bd953fa27 402 _bx = p.x;
AhmedPlaymaker 10:751bd953fa27 403 _by = p.y;
AhmedPlaymaker 10:751bd953fa27 404 }