2017-11-19 4 views

Antwort

0

Sie können turtle.Turtle() verwenden, um viele Schildkröten zu erstellen und dann können Sie sie einzeln nacheinander verwenden. Schildkröten bewegen sich fast gleichzeitig.

import turtle 

t1 = turtle.Turtle() 
t2 = turtle.Turtle() 

for x in range(36): 
    # first turtle makes small move 
    t1.left(10) 
    t1.forward(10) 
    # second turtle makes small move 
    t2.right(10) 
    t2.forward(10) 

turtle.done() 

Wenn Sie die ganze Zeit bewegen will (und andere Dinge zur gleichen Zeit tun)
dann können Sie ontimer() verwenden, um kleine Bewegungen zu machen.

import turtle 

def move_t1(): 
    # first turtle makes small move 
    t1.left(10) 
    t1.forward(10) 

    # repeat after 100ms 
    turtle.ontimer(move_t1, 100) 

def move_t2(): 
    # second turtle makes small move 
    t2.right(10) 
    t2.forward(10) 

    # repeat after 100ms 
    turtle.ontimer(move_t2, 100) 

t1 = turtle.Turtle() 
t2 = turtle.Turtle() 

move_t1() # first turtle makes first move 
move_t2() # second turtle makes first move 

turtle.done() 
+0

verwenden, das Problem ist, dass ich eine Klasse für sie machen muss. Ich muss einen Kurs für Moth und für ein Licht machen und muss die Position des Lichts verfolgen. Wann immer die Motte den Radius des Lichts erreicht, stirbt sie. Also, wie kann ich das tun? Ich muss zwangsweise folgende Funktionen haben: einen Konstruktor init (self, initial) • Eine Methode move (self, newPosition) • ein Verfahren moveToLight (self, lightPosition) • ein Verfahren getPosition (Selbst-) – Reticent

+0

I dritten Beispiel haben auf GitHub [main-3.py] (https://github.com/furas/python-examples/blob/master/turtle/two-turtles-and-ontimer/main-3.py). Es verwendet Klasse für Schildkröte. Sie können mit der linken Maustaste weitere Schildkröten auf dem Bildschirm hinzufügen und mit der rechten Maustaste alle Schildkröten stoppen/starten. – furas

+0

Ihre Klasse sollte meiner Klasse ähnlich sein. '__init__' sollte ähnlich sein,' getPosition' sollte einfach sein - es sollte 't.position()' verwenden. Wie für 'move()' und 'moveToLight' sollten sie ähnlich sein und sie sollten' ontimer' verwenden, um Schildkröte zu bewegen - oder sie sollten die Zielposition in der Variablen behalten und andere Funktionen ausführen, die diese Variable verwenden, um Schildkröte zu bewegen. – furas

Verwandte Themen