Python, part 10
More animation.
We'll first create a large circle on the canvas which rapid shrinks in
size. We'll assume the canvas has fill sky blue, or something
other
than orange.
oldx =
0
coordinates will always be (oldx,oldx) and
oldx2 =
400
(oldx2,oldx2) so we have a circle.
while oldx <=
190: continue until we're
almost at the center
myCanvas.create_oval(oldx,oldx,oldx2,oldx2,fill="orange",\
outline="orange")
myCanvas.pack()
myCanvas.update()
time.sleep(0.1)
0.3 etc to shrink the circle slower
myCanvas.create_oval(oldx,oldx,oldx2,oldx2,fill="orange",\
outline="orange")
oldx
= oldx + 5
oldx2 = oldx2 - 5 the upper
left-hand corner of the square
moves in and down, the lower right-hand
corner moves left and up.....you can also have
smaller (or larger) increments here.
pulsar
--------------------------------------
Optional exercise: have the circle pulse in and out 5 times--i.e.
starts
large, shrinks to nothing, swells larger and larger, shrinks,
etc. To do
this--we need an outer for loop that loops 5 times: for i in range(5).
Inside the for loop we have the code above to shrink the circle.
Then
we have a second while loop to expand the circle--
oldx = 190
oldx2 = 210
while oldx >= 0:
then we'll have
oldx = oldx -5 and oldx2 = oldx2 + 5
Variation: at maximum size, perhaps print text that says "BOOM!"
at the center of the circle.
-----------------------------------------------
MEASLES
We'll create different-colored spots at random on a white canvas.
Make Canvas white (or whatever).
for i in
range(200): for 200 spots
xpt =
random.randrange(1,390)
ypt =
random.randrange(1,390) random x-y coordinates
randcol =
random.randrange(1,7)
if randcol == 1:
mycolor =
"red"
as shown in a previous page--
elif randcolor
==
2:
we'll pick a color at random
mycolor = "purple"
elif randcolor
== 3:
mycolor = "green"
elif randcolor == 4:
mycolor = "blue"
elif randcolor
== 5:
mycolor = "orange"
else:
mycolor = "brown"
myCanvas.create_oval(xpt,ypt,xpt+8,ypt+8,fill=mycolor)
for
smaller spots, xpt + 5, etc
myCanvas.pack()
myCanvas.update()
time.sleep(0.1)
measles
------------------------------------------