2016-08-04 9 views
0

Ich habe nicht in der Lage gewesen, etwas online für diese zu finden, aber ich brauche ein Programm zu erstellen, die:Erstellen einer Schildkröte Programm, das Befehle tut, basierend auf den Knopf gedrückt

  • Wenn die linke Taste gedrückt wird, Die Schildkröte sollte sich dorthin bewegen und ein kleines Quadrat zeichnen.

  • Wenn die rechte Taste gedrückt wird, sollte die Schildkröte diese Position verschieben und einen kleinen Kreis zeichnen.

  • Wenn die mittlere Taste gedrückt wird, sollte die Schildkröte in eine andere zufällige Farbe wechseln.

  • Sie sollten auch die Farbe ändern, wenn Sie die Leertaste drücken.

Irgendwelche Vorschläge zum Starten?

Hier einige Code, den ich bisher versucht habe:

def k2(x,y): turtle.penup() turtle.setposition(x,y) turtle.pendown() turtle.circle(radius) 

Dies ist die oberste von Schildkröte

import * setup(500, 500) Screen() title("Turtle Keys") move = Turtle() showturtle() 

Dies ist der Boden

onkey(k1, "Up") onkey(k2, "Left") onkey(k3, "Right") onkey(k4, "Down") listen() mainloop() 
+0

bitte einige zeigen Code, den Sie haben bisher –

+0

def k2 (x, y) versucht: turtle.penup() turtle.setposition (x, y) turtle.pendown() turtle.circle (Radius) – myhstery

+0

Dies ist die oberste von Schildkröte Import * Setup (500, 500) Bildschirm() Titel ("Turtle Keys") move = Schildkröte() showturtle() – myhstery

Antwort

0

Unten ist wie meine Vermutung zu dem, was Sie und Ihre Code-Snippets beschreiben. Beachten Sie, dass ich den Kreis und Quadrat Funktionen von den linken und rechten Tastaturtasten auf der linken und rechten Maustasten geändert, die schien mehr Sinn im Zusammenhang mit der „an diese Stelle“ zu machen:

import turtle 
import random 

colors = ["red", "orange", "yellow", "green", "blue", "violet"] 

radius = 10 
width = 20 

LEFT, MIDDLE, RIGHT = 1, 2, 3 

def k1(x=None, y=None): # dummy arguments so can be a click or key 
    turtle.color(random.choice(colors)) 

def k2(x, y): 
    turtle.penup() 
    turtle.setposition(x, y) 
    turtle.pendown() 
    for _ in range(4): 
     turtle.forward(width) 
     turtle.right(90) 

def k3(x, y): 
    turtle.penup() 
    turtle.setposition(x, y) 
    turtle.pendown() 
    turtle.circle(radius) 

turtle.setup(500, 500) 
turtle.Screen().title("Turtle Keys") 

turtle.onkey(k1, " ") 
turtle.onscreenclick(k2, btn=LEFT) 
turtle.onscreenclick(k1, btn=MIDDLE) 
turtle.onscreenclick(k3, btn=RIGHT) 

turtle.listen() 
turtle.mainloop() 
+0

Ich habe versucht, diesen Code auszuführen, aber wenn ich den mittleren Knopf drücke, zeichnet er einen Kreis und ändert nicht die Farbe? und wenn ich mit der rechten Maustaste klicke, passiert nichts. – myhstery

+0

@myhystery, probier es neu und lass mich wissen, was passiert. Offensichtlich funktioniert das Maustasten-Mapping nicht wie auf meinem Apple-System dokumentiert. Das Obige wird nun entsprechend der Dokumentation in der Dokumentation eingerichtet. – cdlane

Verwandte Themen