[Tutor] Livewires
christopher.henk at allisontransmission.com
christopher.henk at allisontransmission.com
Mon Sep 10 15:33:39 CEST 2007
tutor-bounces at python.org wrote on 09/10/2007 07:29:24 AM:
> Hi all
>
> just learning python really and been using the livewires tutorial /
worksheets to get some experience.
>
> I have hit an issue which is just my lack of understanding around
looping concepts and execution.
>
> My issue:
>
> in worksheet 5-robots.pdf attached, page 4 the challenge
>
> "Challenge: Write a loop that makes the circle move smoothly from (0,0)
to (640,480): in other words, from the bottom left
> to the top right of the screen."
>
> this has got me a bit stumped because its an (x,y) co-ordinate pair that
I want to update.
> I think in a loop i need to draw a circle, move a circle, remove the
circle.
>
> I thought I needed to for loops to iterate through two ranges but this
is wrong, here is my code though!
>
> from livewires import *
> begin_graphics()
>
> allow_moveables()
> x=range(10,640,10)
> y=range(10,480,10)
> for xco in x:
> for yco in y:
> c = circle(xco,yco,5)
> move_to(c, xco,yco)
> # remove_from_screen(c) /*commented this out to see output on
graphics window */
> end_graphics()
>
If I understand the requirements correctly: you are moving along the
diagonal of the map.
So say 100 time steps to move the distance.
time step: 0 position: (0,0)
time step: 1 position: (64,48)
time step: 2 position: (128,96)
...
so the new x and y move together with a different delta so that they reach
their max at the same time.
Your only loop would be what time step you are on.
timesteps=100
x,y =0,0
deltax=640/timesteps
deltay=480/timesteps
for time in range (timesteps):
c=circle(x,y,5)
x+=deltax
y+=deltay
move_to(c,x,y)
remove_from_screen(c)
I would think that would do the trick.
But I haven't had any coffee yet this morning, so if I missed something,
let me know.
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20070910/d2da35b1/attachment.htm
More information about the Tutor
mailing list