[Edu-sig] odd drawing problem with turtle.py

kirby urner kirby.urner at gmail.com
Mon Feb 1 03:11:34 CET 2010


I don't see where you've defined a Turtle class to instantiate sir.

Perhaps rename Circle to Turtle and rewrite the circle-drawing expression as:

>     c=Turtle(randint(-350,350),randint(-250,250),10,"red")

You are making progress with a wrapper class for the Standard Library turtle.

That's a well-known design pattern and a good way to get extra features
sometimes.

Kirby

On Sun, Jan 31, 2010 at 4:27 PM, Brian Blais <bblais at bryant.edu> wrote:
> I'm on Python 2.5, but using the updated turtle.py Version 1.0.1 - 24. 9.
> 2009.  The following script draws 5 circles, which it is supposed to, but
> then doesn't draw the second turtle which is supposed to simply move
> forward.  Any ideas?
> from turtle import *
> from numpy.random import randint
> resetscreen()
> class Circle(object):
>     def __init__(self,x,y,r,color):
>         self.x=x
>         self.y=y
>         self.r=r
>         self.color=color
>
>         self.turtle=Turtle(visible=False)
>         self.turtle.tracer(False)
>         self.draw()
>
>     def draw(self):
>         self.turtle.penup()
>         self.turtle.setposition(self.x,self.y)
>         self.turtle.setheading(0)
>         self.turtle.backward(self.r)
>         self.turtle.pendown()
>         self.turtle.fill(True)
>         self.turtle.pencolor("black")
>         self.turtle.fillcolor(self.color)
>         self.turtle.circle(self.r)
>         self.turtle.fill(False)
>         self.turtle.penup()
>
> for i in range(5):
>     c=Circle(randint(-350,350),randint(-250,250),10,"red")
>
>
> T=Turtle()
> T.forward(100)
> T.forward(100)
>
>
>
>
>
>
>
> thanks,
>
> bb
> --
> Brian Blais
> bblais at bryant.edu
> http://web.bryant.edu/~bblais
> http://bblais.blogspot.com/
>
>
>
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig
>
>



More information about the Python-list mailing list