Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Committer:
AhmedPlaymaker
Date:
Wed Apr 10 05:24:20 2019 +0000
Revision:
22:ee698f66146f
Parent:
21:e41126528cc6
Child:
24:1c118b071430
Further reduced the code size

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AhmedPlaymaker 7:48ba87cd79b5 1 #include "Snake.h"
AhmedPlaymaker 7:48ba87cd79b5 2
AhmedPlaymaker 7:48ba87cd79b5 3 Snake::Snake()
AhmedPlaymaker 7:48ba87cd79b5 4 {
AhmedPlaymaker 7:48ba87cd79b5 5
AhmedPlaymaker 7:48ba87cd79b5 6 }
AhmedPlaymaker 7:48ba87cd79b5 7
AhmedPlaymaker 7:48ba87cd79b5 8 Snake::~Snake()
AhmedPlaymaker 7:48ba87cd79b5 9 {
AhmedPlaymaker 7:48ba87cd79b5 10
AhmedPlaymaker 7:48ba87cd79b5 11 }
AhmedPlaymaker 7:48ba87cd79b5 12
AhmedPlaymaker 7:48ba87cd79b5 13 //The Snake Sprite.
AhmedPlaymaker 8:890b986b16a4 14 int snake_sprite[3][3] = {
AhmedPlaymaker 8:890b986b16a4 15 {0,1,0},
AhmedPlaymaker 8:890b986b16a4 16 {1,0,1},
AhmedPlaymaker 8:890b986b16a4 17 {0,1,0},
AhmedPlaymaker 9:d1d79d4ee673 18 };
AhmedPlaymaker 7:48ba87cd79b5 19
AhmedPlaymaker 7:48ba87cd79b5 20 int m = 0; //Variable used to allow a starting location for the player.
AhmedPlaymaker 7:48ba87cd79b5 21
AhmedPlaymaker 7:48ba87cd79b5 22
AhmedPlaymaker 7:48ba87cd79b5 23 void Snake::init()
AhmedPlaymaker 7:48ba87cd79b5 24 {
AhmedPlaymaker 7:48ba87cd79b5 25
AhmedPlaymaker 18:b391caa5754c 26 _speed = 1;// change this according to the options selected
AhmedPlaymaker 7:48ba87cd79b5 27
AhmedPlaymaker 7:48ba87cd79b5 28 }
AhmedPlaymaker 7:48ba87cd79b5 29
AhmedPlaymaker 7:48ba87cd79b5 30
AhmedPlaymaker 20:1e6338403427 31 int Snake::draw(Gamepad &pad, N5110 &lcd, int length, int level)
AhmedPlaymaker 7:48ba87cd79b5 32 {
AhmedPlaymaker 7:48ba87cd79b5 33 if(m == 0){
AhmedPlaymaker 21:e41126528cc6 34 _x[0] = WIDTH/2; //Spawns player sprite near the middle of the screen.
AhmedPlaymaker 22:ee698f66146f 35 _y[0] = HEIGHT - 3;
AhmedPlaymaker 22:ee698f66146f 36
AhmedPlaymaker 22:ee698f66146f 37 for(int i=0; i<=13; i++) {
AhmedPlaymaker 22:ee698f66146f 38 _x[i+1] = _x[i];
AhmedPlaymaker 22:ee698f66146f 39 _y[i+1] = _y[i] - 3;
AhmedPlaymaker 22:ee698f66146f 40 b[i] = 1;
AhmedPlaymaker 22:ee698f66146f 41 }
AhmedPlaymaker 21:e41126528cc6 42 b[14] = 1;
AhmedPlaymaker 7:48ba87cd79b5 43 m = m+1;
AhmedPlaymaker 22:ee698f66146f 44 }
AhmedPlaymaker 21:e41126528cc6 45 //printf("SPRITE %d %d \n", _x[0], _y[0]);
AhmedPlaymaker 8:890b986b16a4 46 if(length == 0) {
AhmedPlaymaker 16:7b474f873683 47 while ((pad.check_event(Gamepad::BACK_PRESSED) == false)) {
AhmedPlaymaker 16:7b474f873683 48 lcd.clear();
AhmedPlaymaker 16:7b474f873683 49 lcd.printString("Game",33,1);
AhmedPlaymaker 16:7b474f873683 50 lcd.printString("Over",33,3);
AhmedPlaymaker 16:7b474f873683 51 lcd.printString("Press Back",14,5); //Function used to promt the user to Restart.
AhmedPlaymaker 16:7b474f873683 52 lcd.refresh();
AhmedPlaymaker 16:7b474f873683 53 wait(0.1);
AhmedPlaymaker 16:7b474f873683 54 }
AhmedPlaymaker 16:7b474f873683 55 NVIC_SystemReset(); //Software Reset. //change this condition to loosing screen.
AhmedPlaymaker 8:890b986b16a4 56 }
AhmedPlaymaker 16:7b474f873683 57 else if(length == 1) {
AhmedPlaymaker 21:e41126528cc6 58 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 8:890b986b16a4 59 }
AhmedPlaymaker 16:7b474f873683 60 else if(length == 2) {
AhmedPlaymaker 21:e41126528cc6 61 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 62 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 63 }
AhmedPlaymaker 16:7b474f873683 64 else if(length == 3) {
AhmedPlaymaker 21:e41126528cc6 65 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 66 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 67 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 68 }
AhmedPlaymaker 16:7b474f873683 69 else if(length == 4) {
AhmedPlaymaker 21:e41126528cc6 70 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 71 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 72 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 73 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 74 }
AhmedPlaymaker 16:7b474f873683 75 else if(length == 5) {
AhmedPlaymaker 21:e41126528cc6 76 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 77 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 78 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 79 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 80 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 81 }
AhmedPlaymaker 16:7b474f873683 82 else if(length == 6) {
AhmedPlaymaker 21:e41126528cc6 83 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 84 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 85 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 86 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 87 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 88 lcd.drawSprite(_x[5],_y[5],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 89 }
AhmedPlaymaker 16:7b474f873683 90 else if(length == 7) {
AhmedPlaymaker 21:e41126528cc6 91 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 92 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 93 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 94 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 95 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 96 lcd.drawSprite(_x[5],_y[5],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 97 lcd.drawSprite(_x[6],_y[6],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 98 }
AhmedPlaymaker 16:7b474f873683 99 else if(length == 8) {
AhmedPlaymaker 21:e41126528cc6 100 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 101 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 102 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 103 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 104 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 105 lcd.drawSprite(_x[5],_y[5],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 106 lcd.drawSprite(_x[6],_y[6],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 107 lcd.drawSprite(_x[7],_y[7],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 108 }
AhmedPlaymaker 16:7b474f873683 109 else if(length == 9) {
AhmedPlaymaker 21:e41126528cc6 110 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 111 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 112 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 113 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 114 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 115 lcd.drawSprite(_x[5],_y[5],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 116 lcd.drawSprite(_x[6],_y[6],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 117 lcd.drawSprite(_x[7],_y[7],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 118 lcd.drawSprite(_x[8],_y[8],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 119 }
AhmedPlaymaker 16:7b474f873683 120 else if(length == 10) {
AhmedPlaymaker 21:e41126528cc6 121 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 122 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 123 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 124 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 125 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 126 lcd.drawSprite(_x[5],_y[5],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 127 lcd.drawSprite(_x[6],_y[6],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 128 lcd.drawSprite(_x[7],_y[7],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 129 lcd.drawSprite(_x[8],_y[8],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 130 lcd.drawSprite(_x[9],_y[9],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 131 }
AhmedPlaymaker 16:7b474f873683 132 else if(length == 11) {
AhmedPlaymaker 21:e41126528cc6 133 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 134 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 135 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 136 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 137 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 138 lcd.drawSprite(_x[5],_y[5],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 139 lcd.drawSprite(_x[6],_y[6],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 140 lcd.drawSprite(_x[7],_y[7],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 141 lcd.drawSprite(_x[8],_y[8],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 142 lcd.drawSprite(_x[9],_y[9],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 143 lcd.drawSprite(_x[10],_y[10],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 144 }
AhmedPlaymaker 16:7b474f873683 145 else if(length == 12) {
AhmedPlaymaker 21:e41126528cc6 146 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 147 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 148 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 149 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 150 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 151 lcd.drawSprite(_x[5],_y[5],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 152 lcd.drawSprite(_x[6],_y[6],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 153 lcd.drawSprite(_x[7],_y[7],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 154 lcd.drawSprite(_x[8],_y[8],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 155 lcd.drawSprite(_x[9],_y[9],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 156 lcd.drawSprite(_x[10],_y[10],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 157 lcd.drawSprite(_x[11],_y[11],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 158 }
AhmedPlaymaker 16:7b474f873683 159 else if(length == 13) {
AhmedPlaymaker 21:e41126528cc6 160 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 161 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 162 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 163 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 164 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 165 lcd.drawSprite(_x[5],_y[5],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 166 lcd.drawSprite(_x[6],_y[6],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 167 lcd.drawSprite(_x[7],_y[7],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 168 lcd.drawSprite(_x[8],_y[8],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 169 lcd.drawSprite(_x[9],_y[9],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 170 lcd.drawSprite(_x[10],_y[10],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 171 lcd.drawSprite(_x[11],_y[11],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 172 lcd.drawSprite(_x[12],_y[12],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 173 }
AhmedPlaymaker 16:7b474f873683 174 else if(length == 14) {
AhmedPlaymaker 21:e41126528cc6 175 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 176 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 177 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 178 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 179 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 180 lcd.drawSprite(_x[5],_y[5],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 181 lcd.drawSprite(_x[6],_y[6],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 182 lcd.drawSprite(_x[7],_y[7],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 183 lcd.drawSprite(_x[8],_y[8],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 184 lcd.drawSprite(_x[9],_y[9],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 185 lcd.drawSprite(_x[10],_y[10],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 186 lcd.drawSprite(_x[11],_y[11],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 187 lcd.drawSprite(_x[12],_y[12],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 188 lcd.drawSprite(_x[13],_y[13],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 189 }
AhmedPlaymaker 16:7b474f873683 190 else if(length == 15) {
AhmedPlaymaker 21:e41126528cc6 191 lcd.drawSprite(_x[0],_y[0],3,3,(int *)snake_sprite); //Function used to draw the sprite.
AhmedPlaymaker 21:e41126528cc6 192 lcd.drawSprite(_x[1],_y[1],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 193 lcd.drawSprite(_x[2],_y[2],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 194 lcd.drawSprite(_x[3],_y[3],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 195 lcd.drawSprite(_x[4],_y[4],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 196 lcd.drawSprite(_x[5],_y[5],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 197 lcd.drawSprite(_x[6],_y[6],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 198 lcd.drawSprite(_x[7],_y[7],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 199 lcd.drawSprite(_x[8],_y[8],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 200 lcd.drawSprite(_x[9],_y[9],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 201 lcd.drawSprite(_x[10],_y[10],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 202 lcd.drawSprite(_x[11],_y[11],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 203 lcd.drawSprite(_x[12],_y[12],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 204 lcd.drawSprite(_x[13],_y[13],3,3,(int *)snake_sprite);
AhmedPlaymaker 21:e41126528cc6 205 lcd.drawSprite(_x[14],_y[14],3,3,(int *)snake_sprite);
AhmedPlaymaker 8:890b986b16a4 206 }
AhmedPlaymaker 17:54e13faeaf64 207 else if(length > 15) {
AhmedPlaymaker 17:54e13faeaf64 208 lcd.clear();
AhmedPlaymaker 17:54e13faeaf64 209 lcd.printString("Level Complete",0,1);
AhmedPlaymaker 17:54e13faeaf64 210 lcd.refresh();
AhmedPlaymaker 21:e41126528cc6 211 wait(2);
AhmedPlaymaker 20:1e6338403427 212 lcd.clear();
AhmedPlaymaker 21:e41126528cc6 213 lcd.printString("Press Start",10,1);
AhmedPlaymaker 21:e41126528cc6 214 lcd.printString("to Proceed",12,3);
AhmedPlaymaker 20:1e6338403427 215 lcd.refresh();
AhmedPlaymaker 21:e41126528cc6 216 int sound = 1000; //helps to set max freq for random sound
AhmedPlaymaker 20:1e6338403427 217 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
AhmedPlaymaker 20:1e6338403427 218 pad.leds_on();
AhmedPlaymaker 20:1e6338403427 219 pad.tone(rand()%sound,0.1);
AhmedPlaymaker 20:1e6338403427 220 wait(0.1);
AhmedPlaymaker 20:1e6338403427 221 pad.leds_off();
AhmedPlaymaker 20:1e6338403427 222 wait(0.1);
AhmedPlaymaker 20:1e6338403427 223 }
AhmedPlaymaker 20:1e6338403427 224 lcd.clear();
AhmedPlaymaker 20:1e6338403427 225 char bufferlevel[14];
AhmedPlaymaker 20:1e6338403427 226 sprintf(bufferlevel,"%d",level);
AhmedPlaymaker 20:1e6338403427 227 lcd.printString("Level:",25,1);
AhmedPlaymaker 20:1e6338403427 228 lcd.printString(bufferlevel,40,3);
AhmedPlaymaker 20:1e6338403427 229 lcd.refresh();
AhmedPlaymaker 20:1e6338403427 230 wait(2);
AhmedPlaymaker 17:54e13faeaf64 231 length = 3;
AhmedPlaymaker 17:54e13faeaf64 232 }
AhmedPlaymaker 17:54e13faeaf64 233 return length;
AhmedPlaymaker 7:48ba87cd79b5 234 }
AhmedPlaymaker 19:05cc9f801468 235
AhmedPlaymaker 9:d1d79d4ee673 236 Vector2D Snake::get_pos(int length)
AhmedPlaymaker 7:48ba87cd79b5 237 {
AhmedPlaymaker 9:d1d79d4ee673 238 if(length == 1) {
AhmedPlaymaker 21:e41126528cc6 239 Vector2D snakepos = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 240 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 241 }
AhmedPlaymaker 9:d1d79d4ee673 242 else if(length == 2) {
AhmedPlaymaker 21:e41126528cc6 243 Vector2D snakepos = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 244 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 245 }
AhmedPlaymaker 9:d1d79d4ee673 246 else if(length==3) {
AhmedPlaymaker 21:e41126528cc6 247 Vector2D snakepos = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 248 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 249 }
AhmedPlaymaker 9:d1d79d4ee673 250 else if(length==4) {
AhmedPlaymaker 21:e41126528cc6 251 Vector2D snakepos = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 252 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 253 }
AhmedPlaymaker 9:d1d79d4ee673 254 else if(length==5) {
AhmedPlaymaker 21:e41126528cc6 255 Vector2D snakepos = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 256 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 257 }
AhmedPlaymaker 9:d1d79d4ee673 258 else if(length==6) {
AhmedPlaymaker 21:e41126528cc6 259 Vector2D snakepos = {_x[5],_y[5]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 260 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 261 }
AhmedPlaymaker 9:d1d79d4ee673 262 else if(length==7) {
AhmedPlaymaker 21:e41126528cc6 263 Vector2D snakepos = {_x[6],_y[6]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 264 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 265 }
AhmedPlaymaker 9:d1d79d4ee673 266 else if(length==8) {
AhmedPlaymaker 21:e41126528cc6 267 Vector2D snakepos = {_x[7],_y[7]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 268 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 269 }
AhmedPlaymaker 9:d1d79d4ee673 270 else if(length==9) {
AhmedPlaymaker 21:e41126528cc6 271 Vector2D snakepos = {_x[8],_y[8]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 272 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 273 }
AhmedPlaymaker 9:d1d79d4ee673 274 else if(length==10) {
AhmedPlaymaker 21:e41126528cc6 275 Vector2D snakepos = {_x[9],_y[9]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 276 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 277 }
AhmedPlaymaker 9:d1d79d4ee673 278 else if(length==11) {
AhmedPlaymaker 21:e41126528cc6 279 Vector2D snakepos = {_x[10],_y[10]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 280 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 281 }
AhmedPlaymaker 9:d1d79d4ee673 282 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 283 Vector2D snakepos = {_x[11],_y[11]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 284 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 285 }
AhmedPlaymaker 9:d1d79d4ee673 286 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 287 Vector2D snakepos = {_x[12],_y[12]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 288 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 289 }
AhmedPlaymaker 9:d1d79d4ee673 290 else if(length == 14) {
AhmedPlaymaker 21:e41126528cc6 291 Vector2D snakepos = {_x[13],_y[13]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 292 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 293 }
AhmedPlaymaker 9:d1d79d4ee673 294 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 295 Vector2D snakepos = {_x[14],_y[14]}; //Obtains the snake position.
AhmedPlaymaker 9:d1d79d4ee673 296 return snakepos;
AhmedPlaymaker 9:d1d79d4ee673 297 }
AhmedPlaymaker 7:48ba87cd79b5 298 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 299 else {
AhmedPlaymaker 13:9785f2404045 300 Vector2D snakepos = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 301 return snakepos;
AhmedPlaymaker 13:9785f2404045 302 }
AhmedPlaymaker 13:9785f2404045 303 }
AhmedPlaymaker 13:9785f2404045 304
AhmedPlaymaker 13:9785f2404045 305 Vector2D Snake::get_pos_before1(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 306 {
AhmedPlaymaker 21:e41126528cc6 307 if(length == 2) {
AhmedPlaymaker 21:e41126528cc6 308 Vector2D snakepos_b1 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 309 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 310 }
AhmedPlaymaker 13:9785f2404045 311 else if(length==3) {
AhmedPlaymaker 21:e41126528cc6 312 Vector2D snakepos_b1 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 313 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 314 }
AhmedPlaymaker 13:9785f2404045 315 else if(length==4) {
AhmedPlaymaker 21:e41126528cc6 316 Vector2D snakepos_b1 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 317 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 318 }
AhmedPlaymaker 13:9785f2404045 319 else if(length==5) {
AhmedPlaymaker 21:e41126528cc6 320 Vector2D snakepos_b1 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 321 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 322 }
AhmedPlaymaker 13:9785f2404045 323 else if(length==6) {
AhmedPlaymaker 21:e41126528cc6 324 Vector2D snakepos_b1 = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 325 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 326 }
AhmedPlaymaker 13:9785f2404045 327 else if(length==7) {
AhmedPlaymaker 21:e41126528cc6 328 Vector2D snakepos_b1 = {_x[5],_y[5]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 329 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 330 }
AhmedPlaymaker 13:9785f2404045 331 else if(length==8) {
AhmedPlaymaker 21:e41126528cc6 332 Vector2D snakepos_b1 = {_x[6],_y[6]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 333 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 334 }
AhmedPlaymaker 13:9785f2404045 335 else if(length==9) {
AhmedPlaymaker 21:e41126528cc6 336 Vector2D snakepos_b1 = {_x[7],_y[7]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 337 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 338 }
AhmedPlaymaker 13:9785f2404045 339 else if(length==10) {
AhmedPlaymaker 21:e41126528cc6 340 Vector2D snakepos_b1 = {_x[8],_y[8]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 341 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 342 }
AhmedPlaymaker 13:9785f2404045 343 else if(length==11) {
AhmedPlaymaker 21:e41126528cc6 344 Vector2D snakepos_b1 = {_x[9],_y[9]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 345 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 346 }
AhmedPlaymaker 13:9785f2404045 347 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 348 Vector2D snakepos_b1 = {_x[10],_y[10]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 349 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 350 }
AhmedPlaymaker 13:9785f2404045 351 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 352 Vector2D snakepos_b1 = {_x[11],_y[11]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 353 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 354 }
AhmedPlaymaker 13:9785f2404045 355 else if(length == 14) {
AhmedPlaymaker 21:e41126528cc6 356 Vector2D snakepos_b1 = {_x[12],_y[12]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 357 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 358 }
AhmedPlaymaker 13:9785f2404045 359 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 360 Vector2D snakepos_b1 = {_x[13],_y[13]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 361 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 362 }
AhmedPlaymaker 13:9785f2404045 363 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 364 else {
AhmedPlaymaker 13:9785f2404045 365 Vector2D snakepos_b1 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 366 return snakepos_b1;
AhmedPlaymaker 13:9785f2404045 367 }
AhmedPlaymaker 13:9785f2404045 368 }
AhmedPlaymaker 13:9785f2404045 369
AhmedPlaymaker 13:9785f2404045 370 Vector2D Snake::get_pos_before2(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 371 {
AhmedPlaymaker 21:e41126528cc6 372 if(length == 3) {
AhmedPlaymaker 21:e41126528cc6 373 Vector2D snakepos_b2 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 374 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 375 }
AhmedPlaymaker 13:9785f2404045 376 else if(length==4) {
AhmedPlaymaker 21:e41126528cc6 377 Vector2D snakepos_b2 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 378 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 379 }
AhmedPlaymaker 13:9785f2404045 380 else if(length==5) {
AhmedPlaymaker 21:e41126528cc6 381 Vector2D snakepos_b2 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 382 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 383 }
AhmedPlaymaker 13:9785f2404045 384 else if(length==6) {
AhmedPlaymaker 21:e41126528cc6 385 Vector2D snakepos_b2 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 386 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 387 }
AhmedPlaymaker 13:9785f2404045 388 else if(length==7) {
AhmedPlaymaker 21:e41126528cc6 389 Vector2D snakepos_b2 = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 390 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 391 }
AhmedPlaymaker 13:9785f2404045 392 else if(length==8) {
AhmedPlaymaker 21:e41126528cc6 393 Vector2D snakepos_b2 = {_x[5],_y[5]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 394 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 395 }
AhmedPlaymaker 13:9785f2404045 396 else if(length==9) {
AhmedPlaymaker 21:e41126528cc6 397 Vector2D snakepos_b2 = {_x[6],_y[6]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 398 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 399 }
AhmedPlaymaker 13:9785f2404045 400 else if(length==10) {
AhmedPlaymaker 21:e41126528cc6 401 Vector2D snakepos_b2 = {_x[7],_y[7]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 402 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 403 }
AhmedPlaymaker 13:9785f2404045 404 else if(length==11) {
AhmedPlaymaker 21:e41126528cc6 405 Vector2D snakepos_b2 = {_x[8],_y[8]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 406 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 407 }
AhmedPlaymaker 13:9785f2404045 408 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 409 Vector2D snakepos_b2 = {_x[9],_y[9]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 410 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 411 }
AhmedPlaymaker 13:9785f2404045 412 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 413 Vector2D snakepos_b2 = {_x[10],_y[10]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 414 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 415 }
AhmedPlaymaker 13:9785f2404045 416 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 417 Vector2D snakepos_b2 = {_x[11],_y[11]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 418 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 419 }
AhmedPlaymaker 13:9785f2404045 420 else if(length == 15) {
AhmedPlaymaker 21:e41126528cc6 421 Vector2D snakepos_b2 = {_x[12],_y[12]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 422 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 423 }
AhmedPlaymaker 13:9785f2404045 424 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 425 else {
AhmedPlaymaker 13:9785f2404045 426 Vector2D snakepos_b2 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 427 return snakepos_b2;
AhmedPlaymaker 13:9785f2404045 428 }
AhmedPlaymaker 13:9785f2404045 429 }
AhmedPlaymaker 13:9785f2404045 430
AhmedPlaymaker 13:9785f2404045 431 Vector2D Snake::get_pos_before3(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 432 {
AhmedPlaymaker 21:e41126528cc6 433 if(length == 4) {
AhmedPlaymaker 21:e41126528cc6 434 Vector2D snakepos_b3 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 435 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 436 }
AhmedPlaymaker 13:9785f2404045 437 else if(length==5) {
AhmedPlaymaker 21:e41126528cc6 438 Vector2D snakepos_b3 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 439 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 440 }
AhmedPlaymaker 13:9785f2404045 441 else if(length==6) {
AhmedPlaymaker 21:e41126528cc6 442 Vector2D snakepos_b3 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 443 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 444 }
AhmedPlaymaker 13:9785f2404045 445 else if(length==7) {
AhmedPlaymaker 21:e41126528cc6 446 Vector2D snakepos_b3 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 447 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 448 }
AhmedPlaymaker 13:9785f2404045 449 else if(length==8) {
AhmedPlaymaker 21:e41126528cc6 450 Vector2D snakepos_b3 = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 451 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 452 }
AhmedPlaymaker 13:9785f2404045 453 else if(length==9) {
AhmedPlaymaker 21:e41126528cc6 454 Vector2D snakepos_b3 = {_x[5],_y[5]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 455 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 456 }
AhmedPlaymaker 13:9785f2404045 457 else if(length==10) {
AhmedPlaymaker 21:e41126528cc6 458 Vector2D snakepos_b3 = {_x[6],_y[6]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 459 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 460 }
AhmedPlaymaker 13:9785f2404045 461 else if(length==11) {
AhmedPlaymaker 21:e41126528cc6 462 Vector2D snakepos_b3 = {_x[7],_y[7]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 463 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 464 }
AhmedPlaymaker 13:9785f2404045 465 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 466 Vector2D snakepos_b3 = {_x[8],_y[8]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 467 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 468 }
AhmedPlaymaker 13:9785f2404045 469 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 470 Vector2D snakepos_b3 = {_x[9],_y[9]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 471 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 472 }
AhmedPlaymaker 13:9785f2404045 473 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 474 Vector2D snakepos_b3 = {_x[10],_y[10]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 475 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 476 }
AhmedPlaymaker 13:9785f2404045 477 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 478 Vector2D snakepos_b3 = {_x[11],_y[11]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 479 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 480 }
AhmedPlaymaker 13:9785f2404045 481 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 482 else {
AhmedPlaymaker 13:9785f2404045 483 Vector2D snakepos_b3 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 484 return snakepos_b3;
AhmedPlaymaker 13:9785f2404045 485 }
AhmedPlaymaker 13:9785f2404045 486 }
AhmedPlaymaker 13:9785f2404045 487
AhmedPlaymaker 13:9785f2404045 488 Vector2D Snake::get_pos_before4(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 489 {
AhmedPlaymaker 21:e41126528cc6 490 if(length == 5) {
AhmedPlaymaker 21:e41126528cc6 491 Vector2D snakepos_b4 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 492 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 493 }
AhmedPlaymaker 13:9785f2404045 494 else if(length==6) {
AhmedPlaymaker 21:e41126528cc6 495 Vector2D snakepos_b4 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 496 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 497 }
AhmedPlaymaker 13:9785f2404045 498 else if(length==7) {
AhmedPlaymaker 21:e41126528cc6 499 Vector2D snakepos_b4 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 500 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 501 }
AhmedPlaymaker 13:9785f2404045 502 else if(length==8) {
AhmedPlaymaker 21:e41126528cc6 503 Vector2D snakepos_b4 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 504 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 505 }
AhmedPlaymaker 13:9785f2404045 506 else if(length==9) {
AhmedPlaymaker 21:e41126528cc6 507 Vector2D snakepos_b4 = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 508 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 509 }
AhmedPlaymaker 13:9785f2404045 510 else if(length==10) {
AhmedPlaymaker 21:e41126528cc6 511 Vector2D snakepos_b4 = {_x[5],_y[5]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 512 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 513 }
AhmedPlaymaker 13:9785f2404045 514 else if(length==11) {
AhmedPlaymaker 21:e41126528cc6 515 Vector2D snakepos_b4 = {_x[6],_y[6]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 516 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 517 }
AhmedPlaymaker 13:9785f2404045 518 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 519 Vector2D snakepos_b4 = {_x[7],_y[7]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 520 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 521 }
AhmedPlaymaker 13:9785f2404045 522 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 523 Vector2D snakepos_b4 = {_x[8],_y[8]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 524 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 525 }
AhmedPlaymaker 13:9785f2404045 526 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 527 Vector2D snakepos_b4 = {_x[9],_y[9]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 528 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 529 }
AhmedPlaymaker 13:9785f2404045 530 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 531 Vector2D snakepos_b4 = {_x[10],_y[10]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 532 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 533 }
AhmedPlaymaker 13:9785f2404045 534 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 535 else {
AhmedPlaymaker 13:9785f2404045 536 Vector2D snakepos_b4 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 537 return snakepos_b4;
AhmedPlaymaker 13:9785f2404045 538 }
AhmedPlaymaker 13:9785f2404045 539 }
AhmedPlaymaker 13:9785f2404045 540
AhmedPlaymaker 13:9785f2404045 541 Vector2D Snake::get_pos_before5(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 542 {
AhmedPlaymaker 21:e41126528cc6 543 if(length == 6) {
AhmedPlaymaker 21:e41126528cc6 544 Vector2D snakepos_b5 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 545 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 546 }
AhmedPlaymaker 13:9785f2404045 547 else if(length==7) {
AhmedPlaymaker 21:e41126528cc6 548 Vector2D snakepos_b5 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 549 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 550 }
AhmedPlaymaker 13:9785f2404045 551 else if(length==8) {
AhmedPlaymaker 21:e41126528cc6 552 Vector2D snakepos_b5 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 553 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 554 }
AhmedPlaymaker 13:9785f2404045 555 else if(length==9) {
AhmedPlaymaker 21:e41126528cc6 556 Vector2D snakepos_b5 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 557 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 558 }
AhmedPlaymaker 13:9785f2404045 559 else if(length==10) {
AhmedPlaymaker 21:e41126528cc6 560 Vector2D snakepos_b5 = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 561 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 562 }
AhmedPlaymaker 13:9785f2404045 563 else if(length==11) {
AhmedPlaymaker 21:e41126528cc6 564 Vector2D snakepos_b5 = {_x[5],_y[5]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 565 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 566 }
AhmedPlaymaker 13:9785f2404045 567 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 568 Vector2D snakepos_b5 = {_x[6],_y[6]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 569 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 570 }
AhmedPlaymaker 13:9785f2404045 571 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 572 Vector2D snakepos_b5 = {_x[7],_y[7]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 573 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 574 }
AhmedPlaymaker 13:9785f2404045 575 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 576 Vector2D snakepos_b5 = {_x[8],_y[8]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 577 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 578 }
AhmedPlaymaker 13:9785f2404045 579 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 580 Vector2D snakepos_b5 = {_x[9],_y[9]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 581 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 582 }
AhmedPlaymaker 13:9785f2404045 583 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 584 else {
AhmedPlaymaker 13:9785f2404045 585 Vector2D snakepos_b5 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 586 return snakepos_b5;
AhmedPlaymaker 13:9785f2404045 587 }
AhmedPlaymaker 13:9785f2404045 588 }
AhmedPlaymaker 13:9785f2404045 589
AhmedPlaymaker 13:9785f2404045 590 Vector2D Snake::get_pos_before6(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 591 {
AhmedPlaymaker 21:e41126528cc6 592 if(length == 7) {
AhmedPlaymaker 21:e41126528cc6 593 Vector2D snakepos_b6 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 594 return snakepos_b6;
AhmedPlaymaker 13:9785f2404045 595 }
AhmedPlaymaker 13:9785f2404045 596 else if(length==8) {
AhmedPlaymaker 21:e41126528cc6 597 Vector2D snakepos_b6 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 598 return snakepos_b6;
AhmedPlaymaker 13:9785f2404045 599 }
AhmedPlaymaker 13:9785f2404045 600 else if(length==9) {
AhmedPlaymaker 21:e41126528cc6 601 Vector2D snakepos_b6 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 602 return snakepos_b6;
AhmedPlaymaker 13:9785f2404045 603 }
AhmedPlaymaker 13:9785f2404045 604 else if(length==10) {
AhmedPlaymaker 21:e41126528cc6 605 Vector2D snakepos_b6 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 606 return snakepos_b6;
AhmedPlaymaker 13:9785f2404045 607 }
AhmedPlaymaker 13:9785f2404045 608 else if(length==11) {
AhmedPlaymaker 21:e41126528cc6 609 Vector2D snakepos_b6 = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 610 return snakepos_b6;
AhmedPlaymaker 13:9785f2404045 611 }
AhmedPlaymaker 13:9785f2404045 612 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 613 Vector2D snakepos_b6 = {_x[5],_y[5]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 614 return snakepos_b6;
AhmedPlaymaker 13:9785f2404045 615 }
AhmedPlaymaker 13:9785f2404045 616 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 617 Vector2D snakepos_b6 = {_x[6],_y[6]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 618 return snakepos_b6;
AhmedPlaymaker 13:9785f2404045 619 }
AhmedPlaymaker 13:9785f2404045 620 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 621 Vector2D snakepos_b6 = {_x[7],_y[7]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 622 return snakepos_b6;
AhmedPlaymaker 13:9785f2404045 623 }
AhmedPlaymaker 13:9785f2404045 624 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 625 Vector2D snakepos_b6 = {_x[8],_y[8]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 626 return snakepos_b6;
AhmedPlaymaker 13:9785f2404045 627 }
AhmedPlaymaker 13:9785f2404045 628 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 629 else {
AhmedPlaymaker 13:9785f2404045 630 Vector2D snakepos_b6 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 631 return snakepos_b6;
AhmedPlaymaker 13:9785f2404045 632 }
AhmedPlaymaker 13:9785f2404045 633 }
AhmedPlaymaker 13:9785f2404045 634
AhmedPlaymaker 13:9785f2404045 635 Vector2D Snake::get_pos_before7(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 636 {
AhmedPlaymaker 21:e41126528cc6 637 if(length == 8) {
AhmedPlaymaker 21:e41126528cc6 638 Vector2D snakepos_b7 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 639 return snakepos_b7;
AhmedPlaymaker 13:9785f2404045 640 }
AhmedPlaymaker 13:9785f2404045 641 else if(length==9) {
AhmedPlaymaker 21:e41126528cc6 642 Vector2D snakepos_b7 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 643 return snakepos_b7;
AhmedPlaymaker 13:9785f2404045 644 }
AhmedPlaymaker 13:9785f2404045 645 else if(length==10) {
AhmedPlaymaker 21:e41126528cc6 646 Vector2D snakepos_b7 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 647 return snakepos_b7;
AhmedPlaymaker 13:9785f2404045 648 }
AhmedPlaymaker 13:9785f2404045 649 else if(length==11) {
AhmedPlaymaker 21:e41126528cc6 650 Vector2D snakepos_b7 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 651 return snakepos_b7;
AhmedPlaymaker 13:9785f2404045 652 }
AhmedPlaymaker 13:9785f2404045 653 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 654 Vector2D snakepos_b7 = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 655 return snakepos_b7;
AhmedPlaymaker 13:9785f2404045 656 }
AhmedPlaymaker 13:9785f2404045 657 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 658 Vector2D snakepos_b7 = {_x[5],_y[5]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 659 return snakepos_b7;
AhmedPlaymaker 13:9785f2404045 660 }
AhmedPlaymaker 13:9785f2404045 661 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 662 Vector2D snakepos_b7 = {_x[6],_y[6]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 663 return snakepos_b7;
AhmedPlaymaker 13:9785f2404045 664 }
AhmedPlaymaker 13:9785f2404045 665 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 666 Vector2D snakepos_b7 = {_x[7],_y[7]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 667 return snakepos_b7;
AhmedPlaymaker 13:9785f2404045 668 }
AhmedPlaymaker 13:9785f2404045 669 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 670 else {
AhmedPlaymaker 13:9785f2404045 671 Vector2D snakepos_b7 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 672 return snakepos_b7;
AhmedPlaymaker 13:9785f2404045 673 }
AhmedPlaymaker 7:48ba87cd79b5 674 }
AhmedPlaymaker 7:48ba87cd79b5 675
AhmedPlaymaker 13:9785f2404045 676 Vector2D Snake::get_pos_before8(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 677 {
AhmedPlaymaker 21:e41126528cc6 678 if(length == 9) {
AhmedPlaymaker 21:e41126528cc6 679 Vector2D snakepos_b8 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 680 return snakepos_b8;
AhmedPlaymaker 13:9785f2404045 681 }
AhmedPlaymaker 13:9785f2404045 682 else if(length==10) {
AhmedPlaymaker 21:e41126528cc6 683 Vector2D snakepos_b8 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 684 return snakepos_b8;
AhmedPlaymaker 13:9785f2404045 685 }
AhmedPlaymaker 13:9785f2404045 686 else if(length==11) {
AhmedPlaymaker 21:e41126528cc6 687 Vector2D snakepos_b8 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 688 return snakepos_b8;
AhmedPlaymaker 13:9785f2404045 689 }
AhmedPlaymaker 13:9785f2404045 690 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 691 Vector2D snakepos_b8 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 692 return snakepos_b8;
AhmedPlaymaker 13:9785f2404045 693 }
AhmedPlaymaker 13:9785f2404045 694 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 695 Vector2D snakepos_b8 = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 696 return snakepos_b8;
AhmedPlaymaker 13:9785f2404045 697 }
AhmedPlaymaker 13:9785f2404045 698 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 699 Vector2D snakepos_b8 = {_x[5],_y[5]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 700 return snakepos_b8;
AhmedPlaymaker 13:9785f2404045 701 }
AhmedPlaymaker 13:9785f2404045 702 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 703 Vector2D snakepos_b8 = {_x[6],_y[6]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 704 return snakepos_b8;
AhmedPlaymaker 13:9785f2404045 705 }
AhmedPlaymaker 13:9785f2404045 706 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 707 else {
AhmedPlaymaker 13:9785f2404045 708 Vector2D snakepos_b8 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 709 return snakepos_b8;
AhmedPlaymaker 13:9785f2404045 710 }
AhmedPlaymaker 13:9785f2404045 711 }
AhmedPlaymaker 7:48ba87cd79b5 712
AhmedPlaymaker 13:9785f2404045 713 Vector2D Snake::get_pos_before9(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 714 {
AhmedPlaymaker 21:e41126528cc6 715 if(length == 10) {
AhmedPlaymaker 21:e41126528cc6 716 Vector2D snakepos_b9 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 717 return snakepos_b9;
AhmedPlaymaker 13:9785f2404045 718 }
AhmedPlaymaker 13:9785f2404045 719 else if(length==11) {
AhmedPlaymaker 21:e41126528cc6 720 Vector2D snakepos_b9 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 721 return snakepos_b9;
AhmedPlaymaker 13:9785f2404045 722 }
AhmedPlaymaker 13:9785f2404045 723 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 724 Vector2D snakepos_b9 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 725 return snakepos_b9;
AhmedPlaymaker 13:9785f2404045 726 }
AhmedPlaymaker 13:9785f2404045 727 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 728 Vector2D snakepos_b9 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 729 return snakepos_b9;
AhmedPlaymaker 13:9785f2404045 730 }
AhmedPlaymaker 13:9785f2404045 731 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 732 Vector2D snakepos_b9 = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 733 return snakepos_b9;
AhmedPlaymaker 13:9785f2404045 734 }
AhmedPlaymaker 13:9785f2404045 735 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 736 Vector2D snakepos_b9 = {_x[5],_y[5]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 737 return snakepos_b9;
AhmedPlaymaker 13:9785f2404045 738 }
AhmedPlaymaker 13:9785f2404045 739 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 740 else {
AhmedPlaymaker 13:9785f2404045 741 Vector2D snakepos_b9 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 742 return snakepos_b9;
AhmedPlaymaker 13:9785f2404045 743 }
AhmedPlaymaker 13:9785f2404045 744 }
AhmedPlaymaker 13:9785f2404045 745
AhmedPlaymaker 13:9785f2404045 746 Vector2D Snake::get_pos_before10(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 747 {
AhmedPlaymaker 21:e41126528cc6 748 if(length == 11) {
AhmedPlaymaker 21:e41126528cc6 749 Vector2D snakepos_b10 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 750 return snakepos_b10;
AhmedPlaymaker 13:9785f2404045 751 }
AhmedPlaymaker 13:9785f2404045 752 else if(length==12) {
AhmedPlaymaker 21:e41126528cc6 753 Vector2D snakepos_b10 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 754 return snakepos_b10;
AhmedPlaymaker 13:9785f2404045 755 }
AhmedPlaymaker 13:9785f2404045 756 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 757 Vector2D snakepos_b10 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 758 return snakepos_b10;
AhmedPlaymaker 13:9785f2404045 759 }
AhmedPlaymaker 13:9785f2404045 760 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 761 Vector2D snakepos_b10 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 762 return snakepos_b10;
AhmedPlaymaker 13:9785f2404045 763 }
AhmedPlaymaker 13:9785f2404045 764 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 765 Vector2D snakepos_b10 = {_x[4],_y[4]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 766 return snakepos_b10;
AhmedPlaymaker 13:9785f2404045 767 }
AhmedPlaymaker 13:9785f2404045 768 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 769 else {
AhmedPlaymaker 13:9785f2404045 770 Vector2D snakepos_b10 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 771 return snakepos_b10;
AhmedPlaymaker 13:9785f2404045 772 }
AhmedPlaymaker 13:9785f2404045 773 }
AhmedPlaymaker 13:9785f2404045 774
AhmedPlaymaker 13:9785f2404045 775 Vector2D Snake::get_pos_before11(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 776 {
AhmedPlaymaker 21:e41126528cc6 777 if(length == 12) {
AhmedPlaymaker 21:e41126528cc6 778 Vector2D snakepos_b11 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 779 return snakepos_b11;
AhmedPlaymaker 13:9785f2404045 780 }
AhmedPlaymaker 13:9785f2404045 781 else if(length==13) {
AhmedPlaymaker 21:e41126528cc6 782 Vector2D snakepos_b11 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 783 return snakepos_b11;
AhmedPlaymaker 13:9785f2404045 784 }
AhmedPlaymaker 13:9785f2404045 785 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 786 Vector2D snakepos_b11 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 787 return snakepos_b11;
AhmedPlaymaker 13:9785f2404045 788 }
AhmedPlaymaker 13:9785f2404045 789 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 790 Vector2D snakepos_b11 = {_x[3],_y[3]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 791 return snakepos_b11;
AhmedPlaymaker 13:9785f2404045 792 }
AhmedPlaymaker 13:9785f2404045 793 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 794 else {
AhmedPlaymaker 13:9785f2404045 795 Vector2D snakepos_b11 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 796 return snakepos_b11;
AhmedPlaymaker 13:9785f2404045 797 }
AhmedPlaymaker 13:9785f2404045 798 }
AhmedPlaymaker 13:9785f2404045 799
AhmedPlaymaker 13:9785f2404045 800 Vector2D Snake::get_pos_before12(int length) //this sends data of following sprites.
AhmedPlaymaker 7:48ba87cd79b5 801 {
AhmedPlaymaker 21:e41126528cc6 802 if(length == 13) {
AhmedPlaymaker 21:e41126528cc6 803 Vector2D snakepos_b12 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 804 return snakepos_b12;
AhmedPlaymaker 13:9785f2404045 805 }
AhmedPlaymaker 13:9785f2404045 806 else if(length==14) {
AhmedPlaymaker 21:e41126528cc6 807 Vector2D snakepos_b12 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 808 return snakepos_b12;
AhmedPlaymaker 13:9785f2404045 809 }
AhmedPlaymaker 13:9785f2404045 810 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 811 Vector2D snakepos_b12 = {_x[2],_y[2]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 812 return snakepos_b12;
AhmedPlaymaker 13:9785f2404045 813 }
AhmedPlaymaker 13:9785f2404045 814 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 815 else {
AhmedPlaymaker 13:9785f2404045 816 Vector2D snakepos_b12 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 817 return snakepos_b12;
AhmedPlaymaker 13:9785f2404045 818 }
AhmedPlaymaker 13:9785f2404045 819 }
AhmedPlaymaker 13:9785f2404045 820
AhmedPlaymaker 13:9785f2404045 821 Vector2D Snake::get_pos_before13(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 822 {
AhmedPlaymaker 21:e41126528cc6 823 if(length == 14) {
AhmedPlaymaker 21:e41126528cc6 824 Vector2D snakepos_b13 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 825 return snakepos_b13;
AhmedPlaymaker 13:9785f2404045 826 }
AhmedPlaymaker 13:9785f2404045 827 else if(length==15) {
AhmedPlaymaker 21:e41126528cc6 828 Vector2D snakepos_b13 = {_x[1],_y[1]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 829 return snakepos_b13;
AhmedPlaymaker 13:9785f2404045 830 }
AhmedPlaymaker 13:9785f2404045 831 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 832 else {
AhmedPlaymaker 13:9785f2404045 833 Vector2D snakepos_b13 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 834 return snakepos_b13;
AhmedPlaymaker 13:9785f2404045 835 }
AhmedPlaymaker 13:9785f2404045 836 }
AhmedPlaymaker 13:9785f2404045 837
AhmedPlaymaker 13:9785f2404045 838 Vector2D Snake::get_pos_before14(int length) //this sends data of following sprites.
AhmedPlaymaker 13:9785f2404045 839 {
AhmedPlaymaker 21:e41126528cc6 840 if(length==15) {
AhmedPlaymaker 21:e41126528cc6 841 Vector2D snakepos_b14 = {_x[0],_y[0]}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 842 return snakepos_b14;
AhmedPlaymaker 13:9785f2404045 843 }
AhmedPlaymaker 13:9785f2404045 844 else {
AhmedPlaymaker 13:9785f2404045 845 Vector2D snakepos_b14 = {-20,-20}; //Obtains the snake position.
AhmedPlaymaker 13:9785f2404045 846 return snakepos_b14;
AhmedPlaymaker 13:9785f2404045 847 }
AhmedPlaymaker 21:e41126528cc6 848 //printf("snakepos from player = %f %f \n", snakepos.x, snakepos.y);
AhmedPlaymaker 13:9785f2404045 849 }
AhmedPlaymaker 13:9785f2404045 850
AhmedPlaymaker 18:b391caa5754c 851
AhmedPlaymaker 13:9785f2404045 852
AhmedPlaymaker 22:ee698f66146f 853 void Snake::update(Direction d,float mag,int length, int speed, int* b)
AhmedPlaymaker 13:9785f2404045 854 {
AhmedPlaymaker 13:9785f2404045 855 _speed = speed; //Speed changes depending on how much you push the joystick.(As Of Now)
AhmedPlaymaker 8:890b986b16a4 856
AhmedPlaymaker 22:ee698f66146f 857 for(int i=0; i<=13; i++) {
AhmedPlaymaker 22:ee698f66146f 858 if(length > i+1) {
AhmedPlaymaker 22:ee698f66146f 859 if ((_x[i] > _x[i+1])&&(b[i+1] == 1)&&(b[i] == 1)) {
AhmedPlaymaker 22:ee698f66146f 860 _x[i]-=_speed;
AhmedPlaymaker 8:890b986b16a4 861 }
AhmedPlaymaker 22:ee698f66146f 862 if ((_x[i] < _x[i+1])&&(b[i+1] == 1)&&(b[i] == 1)) {
AhmedPlaymaker 22:ee698f66146f 863 _x[i]+=_speed;
AhmedPlaymaker 22:ee698f66146f 864 }
AhmedPlaymaker 21:e41126528cc6 865 }
AhmedPlaymaker 21:e41126528cc6 866 }
AhmedPlaymaker 22:ee698f66146f 867
AhmedPlaymaker 22:ee698f66146f 868 for(int i=14; i>=0; i--) {
AhmedPlaymaker 22:ee698f66146f 869 if((length == i+1)&&(b[i] == 1)) {
AhmedPlaymaker 22:ee698f66146f 870 if (d == E) {
AhmedPlaymaker 22:ee698f66146f 871 _x[i]+= _speed;
AhmedPlaymaker 22:ee698f66146f 872 }
AhmedPlaymaker 22:ee698f66146f 873 if (d == W) {
AhmedPlaymaker 22:ee698f66146f 874 _x[i]-= _speed;
AhmedPlaymaker 22:ee698f66146f 875 }
AhmedPlaymaker 22:ee698f66146f 876 }
AhmedPlaymaker 7:48ba87cd79b5 877 }
AhmedPlaymaker 7:48ba87cd79b5 878
AhmedPlaymaker 9:d1d79d4ee673 879 // the following makes sure that when the length is increased, the snake stays where it was when it ate food.
AhmedPlaymaker 7:48ba87cd79b5 880
AhmedPlaymaker 22:ee698f66146f 881 for(int i=3; i<=15; i++) {
AhmedPlaymaker 22:ee698f66146f 882 if(length < 2) {
AhmedPlaymaker 22:ee698f66146f 883 _x[1] = _x[0];
AhmedPlaymaker 22:ee698f66146f 884 }
AhmedPlaymaker 22:ee698f66146f 885 else if(length < i) {
AhmedPlaymaker 22:ee698f66146f 886 _x[i-1] = _x[i-2];
AhmedPlaymaker 22:ee698f66146f 887 }
AhmedPlaymaker 9:d1d79d4ee673 888 }
AhmedPlaymaker 9:d1d79d4ee673 889
AhmedPlaymaker 7:48ba87cd79b5 890 //Limits set so that the sprite does not travel off the screen.
AhmedPlaymaker 22:ee698f66146f 891 for(int i=0; i<=14; i++) {
AhmedPlaymaker 22:ee698f66146f 892 if (_x[i] <= 0) {
AhmedPlaymaker 22:ee698f66146f 893 _x[i] = 0;
AhmedPlaymaker 22:ee698f66146f 894 }
AhmedPlaymaker 22:ee698f66146f 895 if (_x[i] > 81) {
AhmedPlaymaker 22:ee698f66146f 896 _x[i] = 81;
AhmedPlaymaker 22:ee698f66146f 897 }
AhmedPlaymaker 8:890b986b16a4 898 }
AhmedPlaymaker 7:48ba87cd79b5 899 }
AhmedPlaymaker 7:48ba87cd79b5 900