├── README.md ├── Snake.pde └── snake_array.pde /README.md: -------------------------------------------------------------------------------- 1 | # snake-array 2 | The cursor shadow creates a snake-like effect. 3 | -------------------------------------------------------------------------------- /Snake.pde: -------------------------------------------------------------------------------- 1 | class Snake { 2 | int[] xpos; //Create arrays 3 | int[] ypos; 4 | 5 | Snake (int n) { 6 | xpos = new int[n]; 7 | ypos = new int[n]; 8 | } 9 | 10 | void update(int newX, int newY) { 11 | for (int i = 0; i < xpos.length-1; i++) { 12 | xpos[i] = xpos[i+1]; 13 | ypos[i] = ypos[i+1]; 14 | } 15 | 16 | xpos[xpos.length-1] = newX; 17 | ypos[ypos.length-1] = newY; 18 | } 19 | 20 | void display(int shape) { 21 | for (int i = 0; i < xpos.length; i++) { 22 | noStroke(); 23 | if (shape == 1) { 24 | fill(255 - i*5); 25 | ellipse(xpos[i], ypos[i], i, i); 26 | } else if (shape == 2) { 27 | fill(255 - i*5); 28 | rect(xpos[i], ypos[i], i, i); 29 | } else if (shape == 3) { 30 | fill(200, i*3, 255 - i*3); 31 | ellipse(xpos[i], ypos[i], i, i); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /snake_array.pde: -------------------------------------------------------------------------------- 1 | Snake s01; 2 | Snake s02; 3 | Snake s03; 4 | 5 | void setup() { 6 | size(400, 400); 7 | s01 = new Snake(50); 8 | s02 = new Snake(50); 9 | s03 = new Snake(50); 10 | } 11 | 12 | void draw() { 13 | background(255); 14 | s01.update(mouseX, mouseY); 15 | s01.display(1); 16 | //s02.update(mouseX+50, mouseY+50); 17 | //s02.display(2); 18 | //s03.update(mouseX, mouseY); 19 | //s03.display(3); 20 | } 21 | --------------------------------------------------------------------------------