PImage bg; float x,y,z; float xstart = 160; float xend = 320; float ylevel = 400; float zstart = 0; float zend = 430; boolean forward = true; void setup() { size(500,740,P3D); bg = loadImage("alhambra.jpg"); background(bg); x = xstart; y = ylevel; z = zend; } void draw() { background(bg); fill(255,0,0); if (forward) { forwardtravel(); } else { backwardtravel(); } } void forwardtravel() { if ((z>zstart)&&(x==xstart)) { z--; translate(x,y,z);} else { if (xzend) {forward = false;}; } } sphere(5); } void backwardtravel() { if ((z>zstart)&&(x>=xend)) { z--; translate(x,y,z);} else { if (x>xstart) { x--; translate(x,y,z); } else { z++; translate(x,y,z); if (z>zend) {forward = true;}; } } sphere(5); }