#---------------------------------------------------------------------- # Bounce ball - Copyright (C) October 19, 2018 -- Dr. William T. Verts #---------------------------------------------------------------------- import time def addEllipse (Canvas,X,Y,Xradius,Yradius,NewColor=black): addOval(Canvas,X-Xradius,Y-Yradius,2*Xradius,2*Yradius,NewColor) return def addEllipseFilled (Canvas,X,Y,Xradius,Yradius,NewColor=black): addOvalFilled(Canvas,X-Xradius,Y-Yradius,2*Xradius,2*Yradius,NewColor) return def addCircle (Canvas,X,Y,Radius,NewColor=black): addEllipse(Canvas,X,Y,Radius,Radius,NewColor) return def addCircleFilled (Canvas,X,Y,Radius,NewColor=black): addEllipseFilled(Canvas,X,Y,Radius,Radius,NewColor) return def Main(): W = 800 H = 500 C = makeColor(30,190,255) Canvas = makeEmptyPicture(W,H,C) show(Canvas) X = W / 2 Y = H / 2 Xdirection = 1 Ydirection = 1 Radius = 75 while True: #addRectFilled(Canvas,0,0,W,H,C) setAllPixelsToAColor(Canvas,C) # Does the same thing as previous line, but faster addCircleFilled(Canvas,X,Y,Radius,red) repaint(Canvas) time.sleep(0.01) X = X + Xdirection Y = Y + Ydirection if (X > W-Radius): Xdirection = -1 if (X < Radius): Xdirection = +1 if (Y > H-Radius): Ydirection = -1 if (Y < Radius): Ydirection = +1 return