xxxxxxxxxx
float trainX;
float trainY = 0;
float trainSpeed = 1;
float trackX1, trackX2;
float trackY1 = 0;
float trackY2 = 20;
float trackY3 = 10;
float [] trainYpos = new float [20];
void setup () {
size (100, 500);
trainX = width/2;
trackX1 = width/2-5;
trackX2 = width/2+15;
for (int i = 0; i < trainYpos.length; i++) { // setting the for loop to save locations of trainY
trainYpos[i] = i * 20; // this is how apart i want them to be
}
}
void draw () {
background (100);
// Draw the train track using For Loops!
strokeWeight (2);
for (int y = 0; y < height; y = y+10) {
line (trackX1, trackY1+y, trackX1, trackY2+y);
line (trackX2, trackY1+y, trackX2, trackY2+y);
line (trackX1, trackY3+y, trackX2, trackY3+y);
}
// drawing train compartments using for loops + Arrays!
// train moves down for ever
strokeWeight(1.5);
for (int i = 0; i < trainYpos.length; i++) {
// ----- to make it come back
if (trainYpos[i] > height) {
trainYpos[i] = 0;
}
// fill (255, random(255), random(255)); // randome flashing colours
fill (255, 0, 0);
rect (trainX, trainYpos[i], 10, 20);
trainYpos[i] = trainYpos[i] + trainSpeed;
}
}