Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Controlling Elli
- //Elli body segment variables
- int[] elliX = new int[7];
- int[] elliY = new int[7];
- color[] elliC = new color[7];
- //Elli movement values
- boolean up = false;
- boolean down = false;
- int udmod = 0;
- boolean right = true;
- boolean left = false;
- int rlmod = 1;
- void setup(){
- background(255);
- //Variables to be modified on program initialition
- int initX = 20;
- int initY = 20;
- color initC = color(100, 0, 0);
- float initCR = red(initC);
- //Setting the size and framerate of the program window
- size(800, 800);
- frameRate(8);
- //Setup for each of Elli's X values
- for(int i = 0; i < elliX.length; ++i){
- elliX[i] = initX;
- initX += 20;
- }
- //Setup for each of Elli's Y values
- for(int i = 0; i < elliY.length; ++i){
- elliY[i] = initY;
- }
- //Setup for each of Elli's color values
- for(int i = 0; i < elliC.length; ++i){
- elliC[i] = initC;
- initCR += 30;
- initC = color(initCR, 0, 0);
- }
- }
- void draw(){
- if(keyPressed && keyCode == UP && !up && !down){
- down = false;
- right = false;
- left = false;
- up = true;
- rlmod = 0;
- udmod = -1;
- }
- if(keyPressed && keyCode == DOWN && !down && !up){
- up = false;
- right = false;
- left = false;
- down = true;
- rlmod = 0;
- udmod = 1;
- }
- if(keyPressed && keyCode == RIGHT && !right && !left){
- left = false;
- up = false;
- down = false;
- right = true;
- udmod = 0;
- rlmod = 1;
- }
- if(keyPressed && keyCode == LEFT && !left && !right){
- right = false;
- up = false;
- down = false;
- left = true;
- udmod = 0;
- rlmod = -1;
- }
- //Redrawing background every frame
- background(255);
- //Drawing Elli every frame
- elli();
- //Modifying Elli's X position for next frame
- for(int i = 0; i < elliX.length; ++i){
- if(i != elliX.length-1){
- elliX[i] = elliX[i+1];
- }
- else if(i == elliX.length-1){
- elliX[i] += 20*rlmod;
- }
- }
- //Modifying Elli's Y position for next frame
- for(int i = 0; i <elliY.length; ++i){
- if(i != elliY.length-1){
- elliY[i] = elliY[i+1];
- }
- else if(i == elliY.length-1){
- elliY[i] += 20*udmod;
- }
- }
- }
- void elli(){
- //Preventing index out of bounds error
- int count = min(elliX.length, elliY.length);
- //Drawing each of Elli's segments
- for(int i = 0; i < count; ++i){
- fill(elliC[i]);
- //Drawing Elli's basic segments
- if(i != count-1){
- circle(elliX[i], elliY[i], 30);
- }
- //Drawing Elli's face segment
- else if(i == count-1){
- circle(elliX[i], elliY[i], 30);
- fill(0);
- circle(elliX[i]-5, elliY[i], 5);
- circle(elliX[i]+5, elliY[i], 5);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement