2016-07-26 19 views
0

Es ist ein ziemlich einfacher Code, den ich in meiner Freizeit gemacht habe, aber da es zufällig ist, hat der Zeiger immer eine Chance, vom Bildschirm zu verschwinden. Ich habe beobachtet, wie mein Kind Scratch zuvor benutzt hat und in seinen Zeichnungen/Sprites, wenn es die Kante trifft, kann es wieder zurück springen, also ist es nie außerhalb des Bildschirms. Ich suche einen Code wie diesen, aber für Python.Wenn ich ein Programm mache, das für immer zeichnet, wie behalte ich die Zeichnungen auf dem Bildschirm?

from turtle import* 
from random import* 

while True: 
    forward(randint(1, 360)) 
    right(randint(1, 360)) 
+4

Mögliche Duplikat [Turtle Getting die Wände abprallen] (http://stackoverflow.com/questions/19482196/getting-turtle-to (von den Wänden abprallen) oder [Python3.2 Wie man Schildkröten davon abhält, vom Bildschirm zu verschwinden] (http://stackoverflow.com/questions/22891134/python3-2-how-to-keep-turtle-from -aus dem Bildschirm-und-wenn-es-tut-Zurücksetzen) oder [TurtleGraphics Python: Springende Schildkröte von den Wänden?] (http://stackoverflow.com/questions/1457332/turtlegraphics-python-bouncing- Schildkröte-von-den-Wänden) – TessellatingHeckler

Antwort

0
from turtle import * 
from random import* 

while True: 
    forward(randint(1, 360)) 
    right(randint(1, 360)) 
    if xcor() < 0: 
     setx(20) 
    if ycor() < 0: 
     sety(20) 
    if xcor() > window_width(): 
     setx(window_width()-20) 
    if ycor() > window_height(): 
     sety(window_height()-20) 

Sollte funktionieren, wo 20 bis zu Ihrer Wahl.

Edit: Die Lösungen in eine der doppelten Beiträge sind wahrscheinlich besser