Mission Impossible - 1 year ago 105

Python Question

How can I make 4 different turtles move at the same time? Also, how to make a person shape for the

`Turtle.shape`

`register_shape`

`def turtles(self, base):`

self.t4.goto(self.tFirst)

self.t1.goto(self.tSecond)

self.t2.goto(self.tThird)

self.t3.goto(self.tHome)

if base >= 2:

self.t4.goto(self.tSecond)

self.t1.goto(self.tThird)

self.t2.goto(self.tHome)

if base >= 3:

self.t4.goto(self.tThird)

self.t1.goto(self.tHome)

if base == 4:

self.t4.goto(self.tHome)

`tFirst`

`tSecond`

`tThird`

`t1`

`t2`

`t3`

`t4`

Answer

Here is the documentation for register_shape

As for your first question, I'm not sure exactly what you mean. Making them all move in separate threads would be my first idea, but even then they technically don't move at the same time. I have never actually used turtle graphics, but just know of the concept.

This does something close to what you are talking about

```
import turtle
import numpy as np
tlist = list()
colorlist = ["red", "green", "black", "blue", "brown"]
for i in xrange(5):
tlist.append(turtle.Turtle(shape="turtle"))
tlist[i].color(colorlist[i])
tlist[i].speed(1)
screen = turtle.getscreen()
for i in xrange(100):
screen.tracer(1000)
for t in tlist:
t.right((np.random.rand(1) - .5) * 180)
t.forward(int((np.random.rand(1) - .5) * 100))
screen.update()
```

or

```
import turtle
#import numpy as np
from time import sleep
tlist = list()
colorlist = ["red", "green", "black", "blue", "brown"]
for i in xrange(5):
tlist.append(turtle.Turtle(shape="turtle"))
tlist[i].color(colorlist[i])
tlist[i].speed(1)
screen = turtle.getscreen()
for i in xrange(100):
screen.tracer(1000)
for i, t in enumerate(tlist):
#t.right((np.random.rand(1) - .5) * 180))
t.right(33 * i)
#t.forward(int((np.random.rand(1) - .5) * 100))
t.forward(50 * i)
sleep(1)
screen.update()
```

Source (Stackoverflow)