Wie man einige Schildkröten auf einem Bildschirm macht und sie gleichzeitig bewegen lässt?Erstellen Sie mehr als zwei Schildkröten und bewegen Sie sie
Antwort
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()
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
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
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
- 1. Lassen Sie mehrere Schildkröten alle zur gleichen Zeit bewegen
- 2. So parametrieren Sie mehr als zwei Textfelder
- 3. jquery Erstellen von Kreisen und lassen Sie sie bewegen
- 4. gepaarte Schildkröten bewegen sich zusammen netlogo
- 5. machen Schildkröten bewegen zu Gis Punkte
- 6. Kombinieren Sie zwei oder mehr xls-Dateien als Arbeitsblätter PHPExcel
- 7. Erstellen Sie zwei Threads
- 8. Erstellen Sie mehr Excel-Tabellen
- 9. Erstellen Sie zwei Objekt Highslide
- 10. Erstellen Sie zwei Reihen von Schildkröten mit einem gleichen x-Cor Abstand
- 11. Überprüfen Sie auf Schildkröten hinter aktuellen Schildkröte
- 12. Wie lesen Sie mehr als zwei Zahlen nebeneinander?
- 13. Mischen Sie zwei Listen und erstellen Sie ein neues Wörterbuch
- 14. Erstellen Sie zwei Wertachse und plotten Sie Liniensegmente matplotlib
- 15. Erstellen Sie zwei oder mehr Mongos Verbindungsobjekte in Knoten JS
- 16. JAVA Zeichnen Sie Linien zwischen Radiobuttons, beitreten mehr als zwei
- 17. Fügen Sie ViewSwitcher mehr als zwei Ansichten hinzu
- 18. So erstellen Sie mehr Platz um Absatztext
- 19. Erstellen Sie mehr als eine Website in Kentico?
- 20. Erstellen Sie mehr als 8 Pausen für Choroplethr in R?
- 21. Klicken Sie und zeigen Sie mehr Element
- 22. Erstellen Sie onClickListener() in mehr als 1 Thread
- 23. Erstellen Sie mehr als eine eshell-Instanz in Emacs
- 24. Markieren Sie mehr als einen Anker
- 25. Bewegen Sie den Text und ersetzen Sie ihn durch image
- 26. Dynamisch Schildkröten erstellen
- 27. Überprüfen Sie mehr als eine Klasse
- 28. Bewegen Sie die Maus, während Sie eine Taste gedrückt halten
- 29. Wie kann ich 2 Schildkröten auf einmal in Python bewegen?
- 30. Module erstellen und sie
kann mir bitte jemand helfen? – Reticent
können Sie nächste Schildkröte 'turtle2 = turtle.Turtle()' erstellen und 'turtle2.goto (100, 100)' – furas