2017-09-07 2 views
1

Wie kann ich diesen Code reparieren, um die Schildkröte eine zufällige Farbe zu machen? Ich möchte in der Lage zu klicken, dann die Schildkröte dreht sich dann ändert die Farbe.Wie kann ich die Schildkröte eine zufällige Farbe machen?

import turtle 
import random 
turtle.colormode(255) 
R = 0 
G = 0 
B = 0 
def color(x, y): 
    turtle.color((R, G, B)) 
def turn(x, y): 
    turtle.left (10) 
for i in range(10000): 
    turtle.onscreenclick(turn) 
    turtle.forward(1) 
    turtle.onrelease(color) 
    R = random.randrange(0, 257, 10) 
    B = random.randrange(0, 257, 10) 
    G = random.randrange(0, 257, 10) 
    def color(x, y): 
     turtle.color((R, G, B)) 

Antwort

0
import turtle, random 


def color(x, y): 
    R = random.randrange(0,257,10) 
    G = random.randrange(0,257,10) 
    B = random.randrange(0,257,10) 
    turtle.color(R,G,B) 
    turtle.left(10) 

turtle.colormode(255) 

for i in range(10000): 
    turtle.onscreenclick(color) 
    turtle.forward(1) 
+0

Die 'turtle.onscreenclick (Farbe)' Aufruf benötigt nur ** ** einmal vor der Schleife durchgeführt werden, nicht jedes Mal durch die Schlaufe. Außerdem sollte der Farbbereich 256, nicht 257 sein, da die obere Farbgrenze 255 ist. – cdlane

1

Ich möchte dann dreht sich klicken, um der Lage sein, die Schildkröte dann die Farbe ändern.

Ich glaube, das tut, was Sie beschreiben:

import turtle 
import random 

def change_color(): 
    R = random.random() 
    B = random.random() 
    G = random.random() 

    turtle.color(R, G, B) 

def turn_and_change_color(x, y): 
    turtle.left(10) 
    change_color() 

turtle.onscreenclick(turn_and_change_color) 

def move_forward(): 
    turtle.forward(1) 
    turtle.ontimer(move_forward, 25) 

move_forward() 

turtle.mainloop() 

Anstatt die range(10000) Schleife, es einen Timer verwendet die Schildkröte in Bewegung zu halten, die auch die Ereignisschleife richtig laufen zu lassen. Es sollte am Laufen halten, bis Sie die Schildkröte Fenster zu schließen:

enter image description here

Verwandte Themen