AttributeError: '_Screen' object has no attribute 'onkeypress' python 的例子

来源:互联网 发布:清真食品 知乎 编辑:程序博客网 时间:2024/06/06 07:40
 File "catGame.py", line 50, in <module>
    window.onkeypress(up, "Up")
AttributeError: '_Screen' object has no attribute 'onkeypress'

import turtle
import time

boxsize = 200
caught = False
score = 0

#functions that are called on keypresses
def up():
    mouse.forward(10)
    checkbound()

def left():
    mouse.left(45)

def left():
    mouse.right(45)

def back():
    mouse.backward(10)
    checkbound()

def quitTurtlers():
    window.bye()

#stop the mouse  from leaving the square set by box size
def checkbound():
    global boxsize
    if  mouse.xcor() > boxsize:
        mouse.goto(boxsize, mouse.ycor())

    if  mouse.xcor() > boxsize:
        mouse.goto(boxsize, mouse.ycor())

    if  mouse.xcor() > boxsize:
        mouse.goto(boxsize, mouse.ycor())

    if  mouse.xcor() > boxsize:
        mouse.goto(boxsize, mouse.ycor())

#set up screen
window = turtle.Screen()
mouse = turtle.Turtle()
cat = turtle.Turtle()
mouse.penup()
mouse.penup()
mouse.goto(100, 100)

#add key listeners
window.onkeypress(up, "Up")
window.onkeypress(Left, "Left")
window.onkeypress(Right, "Right")
window.onkeypress(back, "Down")
window.onkeypress(quitTurtles, "Escape")

diffculty = window.numimput("Diffculty",
                          "Enter a diffculty from easy (1), for hard (5)",
                          minval =1, maxval = 5)

window.listen()
#main loop
#note  how it changes  with diffculty
while not caught:
    cat.setheading(cat.towards(mouse))
    cat.forwards(8 + diffculty)
    score = wcore + 1
    if cat.diatance(mouse) < 5:
        caught = True
        time.sleep(0.2-(0.01*diffculty))

window.textinput("Game Over", "Well done. You scored:" + str(score*diffculty))
window.bye()



这个程序哪里有错,纠结半天



阅读全文
0 0