Ahmed Adamjee
/
SnakeVSBlock
Snake vs Block Game to be run upon K64F.
Snake/Snake.cpp@22:ee698f66146f, 2019-04-10 (annotated)
- 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?
User | Revision | Line number | New 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 |