Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 蟒蛇,乌龟;onkeypress";不';行不通_Python_Onkeypress_Python Turtle - Fatal编程技术网

Python 蟒蛇,乌龟;onkeypress";不';行不通

Python 蟒蛇,乌龟;onkeypress";不';行不通,python,onkeypress,python-turtle,Python,Onkeypress,Python Turtle,我想做一个小游戏。但我有个问题。 我想做的是,每次我按下空格键,它都会在“score”变量中添加1。 为此,我使用了海龟模块的“onkeypress”功能(mouse.onkeypress(Space,“Space”) 据我所知,这应该运行“空间”功能,每次我按下空格键。 它和我做的其他项目都有效,但这次没有,我也不知道为什么。。 我试着用“onkey”代替“onkeypress”,也不起作用 如果有人有主意 下面是代码:(函数在它的末尾) setup=turtle.turtle() 鼠标=海

我想做一个小游戏。但我有个问题。 我想做的是,每次我按下空格键,它都会在“score”变量中添加1。 为此,我使用了海龟模块的“onkeypress”功能(
mouse.onkeypress(Space,“Space”
) 据我所知,这应该运行“空间”功能,每次我按下空格键。 它和我做的其他项目都有效,但这次没有,我也不知道为什么。。 我试着用“onkey”代替“onkeypress”,也不起作用

如果有人有主意

下面是代码:(函数在它的末尾)


setup=turtle.turtle()
鼠标=海龟。屏幕()
up_分数=海龟。海龟()
分数=0
x=5
sc_per_se=0
E1=10
E2=10
E3=10
E4=10
E5=10
向上得分。隐藏目标()
up_score.penup()
上升速度(0)
setup.penup()
设置速度(0)
向上得分。转到(-300,-300)
记下(分数)
设置。右(90)
setup.goto(-300300)
对于范围(5)内的a:
setup.write(“[升级]”)
设置。前进(50)
设置。右(90)
设置。前进(75)
设置。右(90)
对于范围(5)内的a:
全球x
设置。前进(50)
setup.write(“元素”)
设置。右(90)
设置。前进(40)
设置写入(x)
设置。左(180)
设置。前进(40)
设置。右(90)
x-=1
setup.hideturtle()
单击(x,y)的位置:
#打印(“x=”,int(x),“/”,“y=”,int(y))

如果-300mouse.listen
语句应该是
mouse.listen()

此外,当我尝试运行您的代码时,它失败了,因为有人抱怨
全局
语句似乎被重复使用,并且在不应该使用的地方使用。下面是我对您的代码进行的返工,以修复这些问题和其他问题:

from turtle import Screen, Turtle

score = 0
sc_per_se = 0

E1 = 10
E2 = 10
E3 = 10
E4 = 10
E5 = 10

def whereClick(x, y):
    global sc_per_se
    global E1, E2, E3, E4, E5

    if -300 <= x <= -255 and 300 <= y <= 312:
        if E1 < 210:
            print("Element 1 upgraded!")
            setup.goto(E1 - 255, 302)
            setup.pendown()
            setup.forward(10)
            setup.penup()
            E1 += 10
            sc_per_se += 0.001
        else:
            print("Max upgrade level reached!")

    if -300 <= x <= -255 and 250 <= y <= 262:
        if E2 < 210:
            print("Element 2 upgraded!")
            setup.goto(E2 - 255, 252)
            setup.pendown()
            setup.forward(10)
            setup.penup()
            E2 += 10
        else:
            print("Max upgrade level reached!")

    if -300 <= x <= -255 and 200 <= y <= 212:
        if E3 < 210:
            print("Element 3 upgraded!")
            setup.goto(E3 - 255, 202)
            setup.pendown()
            setup.forward(10)
            setup.penup()
            E3 += 10
        else:
            print("Max upgrade level reached!")

    if -300 <= x <= -255 and 150 <= y <= 162:
        if E4 < 210:
            print("Element 4 upgraded!")
            setup.goto(E4 - 255, 152)
            setup.pendown()
            setup.forward(10)
            setup.penup()
            E4 += 10
        else:
            print("Max upgrade level reached!")

    if -300 <= x <= -255 and 100 <= y <= 112:
        if E5 < 210:
            print("Element 5 upgraded!")
            setup.goto(E5 - 255, 102)
            setup.pendown()
            setup.forward(10)
            setup.penup()
            E5 += 10
        else:
            print("Max upgrade level reached!")

def Space():
    global score
    score += 100

screen = Screen()

up_score = Turtle()
up_score.hideturtle()
up_score.speed('fastest')
up_score.penup()
up_score.goto(-300, -300)
up_score.write(score)

setup = Turtle()
setup.hideturtle()
setup.speed('fastest')
setup.penup()
setup.goto(-300, 300)
setup.right(90)

for _ in range(5):
    setup.write("[Upgrade]")
    setup.forward(50)

setup.right(90)
setup.forward(75)
setup.right(90)

for n in range(5, 0, -1):
    setup.forward(50)
    setup.write("Element")
    setup.right(90)
    setup.forward(40)
    setup.write(n)
    setup.left(180)
    setup.forward(40)
    setup.right(90)

screen.onclick(whereClick)
screen.onkeypress(Space, "space")
screen.listen()

while True:
    screen.update()

    up_score.undo()
    up_score.write(int(score))

    score += sc_per_se

screen.mainloop()  # never reached
从海龟导入屏幕,海龟
分数=0
sc_per_se=0
E1=10
E2=10
E3=10
E4=10
E5=10
单击(x,y)的位置:
全球供应链单位本身
全球E1、E2、E3、E4、E5

如果-300mouse.listen
语句应该是
mouse.listen()

此外,当我尝试运行您的代码时,它失败了,因为有人抱怨
全局
语句似乎被重复使用,并且在不应该使用的地方使用。下面是我对您的代码进行的返工,以修复这些问题和其他问题:

from turtle import Screen, Turtle

score = 0
sc_per_se = 0

E1 = 10
E2 = 10
E3 = 10
E4 = 10
E5 = 10

def whereClick(x, y):
    global sc_per_se
    global E1, E2, E3, E4, E5

    if -300 <= x <= -255 and 300 <= y <= 312:
        if E1 < 210:
            print("Element 1 upgraded!")
            setup.goto(E1 - 255, 302)
            setup.pendown()
            setup.forward(10)
            setup.penup()
            E1 += 10
            sc_per_se += 0.001
        else:
            print("Max upgrade level reached!")

    if -300 <= x <= -255 and 250 <= y <= 262:
        if E2 < 210:
            print("Element 2 upgraded!")
            setup.goto(E2 - 255, 252)
            setup.pendown()
            setup.forward(10)
            setup.penup()
            E2 += 10
        else:
            print("Max upgrade level reached!")

    if -300 <= x <= -255 and 200 <= y <= 212:
        if E3 < 210:
            print("Element 3 upgraded!")
            setup.goto(E3 - 255, 202)
            setup.pendown()
            setup.forward(10)
            setup.penup()
            E3 += 10
        else:
            print("Max upgrade level reached!")

    if -300 <= x <= -255 and 150 <= y <= 162:
        if E4 < 210:
            print("Element 4 upgraded!")
            setup.goto(E4 - 255, 152)
            setup.pendown()
            setup.forward(10)
            setup.penup()
            E4 += 10
        else:
            print("Max upgrade level reached!")

    if -300 <= x <= -255 and 100 <= y <= 112:
        if E5 < 210:
            print("Element 5 upgraded!")
            setup.goto(E5 - 255, 102)
            setup.pendown()
            setup.forward(10)
            setup.penup()
            E5 += 10
        else:
            print("Max upgrade level reached!")

def Space():
    global score
    score += 100

screen = Screen()

up_score = Turtle()
up_score.hideturtle()
up_score.speed('fastest')
up_score.penup()
up_score.goto(-300, -300)
up_score.write(score)

setup = Turtle()
setup.hideturtle()
setup.speed('fastest')
setup.penup()
setup.goto(-300, 300)
setup.right(90)

for _ in range(5):
    setup.write("[Upgrade]")
    setup.forward(50)

setup.right(90)
setup.forward(75)
setup.right(90)

for n in range(5, 0, -1):
    setup.forward(50)
    setup.write("Element")
    setup.right(90)
    setup.forward(40)
    setup.write(n)
    setup.left(180)
    setup.forward(40)
    setup.right(90)

screen.onclick(whereClick)
screen.onkeypress(Space, "space")
screen.listen()

while True:
    screen.update()

    up_score.undo()
    up_score.write(int(score))

    score += sc_per_se

screen.mainloop()  # never reached
从海龟导入屏幕,海龟
分数=0
sc_per_se=0
E1=10
E2=10
E3=10
E4=10
E5=10
单击(x,y)的位置:
全球供应链单位本身
全球E1、E2、E3、E4、E5
if-300