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