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

 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值