ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el17sdl_v2

Dependencies:   mbed

Committer:
sdlashmar
Date:
Sat May 23 10:50:43 2020 +0000
Revision:
11:c4b740a970f8
Parent:
7:c67a5c6a874f
Child:
14:4356797fd16e
tail logic working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sdlashmar 5:256e5e0b6cd7 1 #include "SnakeTail.h"
sdlashmar 5:256e5e0b6cd7 2
sdlashmar 5:256e5e0b6cd7 3 SnakeTail::SnakeTail()
sdlashmar 5:256e5e0b6cd7 4 {
sdlashmar 5:256e5e0b6cd7 5
sdlashmar 5:256e5e0b6cd7 6 }
sdlashmar 5:256e5e0b6cd7 7
sdlashmar 5:256e5e0b6cd7 8 SnakeTail::~SnakeTail()
sdlashmar 5:256e5e0b6cd7 9 {
sdlashmar 5:256e5e0b6cd7 10
sdlashmar 5:256e5e0b6cd7 11 }
sdlashmar 5:256e5e0b6cd7 12
sdlashmar 11:c4b740a970f8 13 void SnakeTail::update(Vector2D prevHead, int length)
sdlashmar 5:256e5e0b6cd7 14 {
sdlashmar 11:c4b740a970f8 15 _length = length;
sdlashmar 11:c4b740a970f8 16 _x_init = prevHead.x;
sdlashmar 11:c4b740a970f8 17 _y_init = prevHead.y;
sdlashmar 11:c4b740a970f8 18 //printf("x_init = %i\n", _x_init);
sdlashmar 11:c4b740a970f8 19 //printf("y_init = %i\n", _y_init);
sdlashmar 11:c4b740a970f8 20 prevX = tailX[0];
sdlashmar 11:c4b740a970f8 21 prevY = tailY[0];
sdlashmar 11:c4b740a970f8 22 tailX[0] = _x_init;
sdlashmar 11:c4b740a970f8 23 tailY[0] = _y_init;
sdlashmar 7:c67a5c6a874f 24
sdlashmar 7:c67a5c6a874f 25
sdlashmar 7:c67a5c6a874f 26
sdlashmar 11:c4b740a970f8 27 for(int i = 1; i < _length; i++) {
sdlashmar 11:c4b740a970f8 28 prev2X = tailX[i];
sdlashmar 11:c4b740a970f8 29 prev2Y = tailY[i];
sdlashmar 7:c67a5c6a874f 30 tailX[i] = prevX;
sdlashmar 7:c67a5c6a874f 31 tailY[i] = prevY;
sdlashmar 11:c4b740a970f8 32 prevX = prev2X;
sdlashmar 11:c4b740a970f8 33 prevY = prev2Y;
sdlashmar 7:c67a5c6a874f 34 }
sdlashmar 11:c4b740a970f8 35 /*for (int l = 0; l < _length; l++) {
sdlashmar 11:c4b740a970f8 36 printf("i = %i\n", l);
sdlashmar 11:c4b740a970f8 37 printf("tailX[i] = %i\n", tailX[l]);
sdlashmar 11:c4b740a970f8 38 printf("tailY[i] = %i\n", tailY[l]);
sdlashmar 11:c4b740a970f8 39 }*/
sdlashmar 5:256e5e0b6cd7 40 }
sdlashmar 11:c4b740a970f8 41
sdlashmar 11:c4b740a970f8 42
sdlashmar 11:c4b740a970f8 43
sdlashmar 7:c67a5c6a874f 44 void SnakeTail::draw(N5110 &lcd, int length) {
sdlashmar 7:c67a5c6a874f 45 int _length = length;
sdlashmar 11:c4b740a970f8 46 for(int j = 0; j < _length; j++) {
sdlashmar 7:c67a5c6a874f 47 lcd.drawRect(tailX[j], tailY[j], 2, 2, FILL_BLACK);
sdlashmar 7:c67a5c6a874f 48 }
sdlashmar 7:c67a5c6a874f 49 }
sdlashmar 7:c67a5c6a874f 50
sdlashmar 7:c67a5c6a874f 51
sdlashmar 5:256e5e0b6cd7 52
sdlashmar 5:256e5e0b6cd7 53
sdlashmar 5:256e5e0b6cd7 54
sdlashmar 5:256e5e0b6cd7 55
sdlashmar 5:256e5e0b6cd7 56
sdlashmar 5:256e5e0b6cd7 57