float left=20, right=250, top=40, bottom=350; float ballX=90, ballY=2001, ballDX=3, ballDY=0.2; float mX, mY; void draw () { //next frame scene(); action(); } void setup () { size(500,500); reset(); } void reset () { // Reset ballX= left+50; ballY= top+30; } void scene() { //// Table fill( 100,200,100 ); strokeWeight(5); stroke( 100,30,0 ); rectMode(CORNERS); rect( left, top, right, bottom ); ellipse(left, top, 30, 30); ellipse(right, bottom, 30, 30); } void action() { myball(); } void myball() { //// Check boundaries, move ball, draw it. if (ballX > right || ballX< left) ballDX= -ballDX; ballX= ballX + ballDX; ballY= ballY + ballDY; fill( 255,0,255 ); noStroke(); ellipse( ballX, ballY, 30, 30 ); } void keyPressed () { if (key == 'q') exit(); if (key == 'r') reset(); }