2016-05-26 3 views
0

Gibt es eine Möglichkeit, das Turtle-Programm zu schließen, wenn es die a-Linie auf dem Bildschirm berührt? im Versuch, ein Spiel ein bisschen wie tron ​​zu machen, aber ich brauche, um das Programm zu bekommen, um zu schließen, wenn jemand eine Linie trifft so weit ich den Hauptteil getan habe:wie man das Programm schließt, wenn die Schildkröte eine Linie trifft

from tkinter import * 
from turtle import * 
import turtle 
import webbrowser 
import time 


tess = turtle.Turtle() 
alex = turtle.Turtle() 


tess.width(1) 
tess.color("red") 
alex.color("blue") 
alex.width(1) 
turtle.setup(500,600) 
wn = turtle.Screen() 
wn.title("Draw whith lines!!") 
wn.bgcolor("black") 

def h1(): 
    yes = ("yes") 
    while yes in ("yes"): 
     tess.forward(10) 
     alex.forward(10) 
     time.sleep(0.5) 

def h2(): 

    tess.left(90) 

def h3(): 
    tess.right(90) 

def ha(): 
    alex.left(90) 

def hd(): 
    alex.right(90) 

wn.onkey(h1, "Up") 
wn.onkey(h2, "Left") 
wn.onkey(h3, "Right") 
wn.onkey(ha, "a") 
wn.onkey(hd, "d") 
wn.listen() 
wn.mainloop() 

jetzt muß ich nur nach unten, die Schließung tun und zu zeigen, wer gewonnen hat, aber ich kann es nicht herausfinden!

Antwort

0

Ihre Schildkröten bewegen sich nur um 10px Schritte und drehen sich im rechten Winkel, so dass Sie ein Gitter haben, wo Schildkröten gehen können. Sie müssen "nur" jede Zelle markieren, in der sich eine Schildkröte befindet, und prüfen, ob diese Zelle bereits markiert ist. Sie müssen sich auch daran erinnern, wie die Schildkröte ausgerichtet ist. Der knifflige Teil ist von einer Zelle (i, j) und einer Orientierung berechnet die neue Zelle (i ', j'), wo die Schildkröte ist.

Tipp: mit Orientierung wie (dx, dy), dx, dy in [-1,0,1] ist es ziemlich einfach.

Verwandte Themen