我目前正在为一个关于Python的学校项目创建一个游戏。这就是到目前为止我所知道的,Python告诉我NameError:第10行没有定义名称“height”。这是什么意思?我做了很多研究,但我还是搞不懂。有人能帮我吗
import turtle
enter code here`import random
def main():
wn=turtle.Screen();
Gameturtle=turtle.Turtle()
Setupuser(Gameturtle,wn)
Setupcontrols(Gameturtle,wn)
Randomanglegenerator(turtle,len,height)
li = []
InsertEnemyturtleintolist(li)
while (True):
Hitchecker(Gameturtle, li)
def Setupuser(myTurtle,window):
window.bgcolor("white")
#width=x height=y
window.setup (width=400, height=400, startx=100, starty=100)
myTurtle.speed(2)
myTurtle.shape('turtle')
myTurtle.penup()
myTurtle.delay(0)
myTurtle.left(90)
myTurtle.mainloop()
window.exitonclick ()
def Hitchecker(myTurtle, enemyTurtles):
for eturtle in enemyTurtles:
distance=myTurtle.distance(eturtle)
if distance <= 1:
print("You lost a life >:^D")
def InsertEnemyturtleintolist(list):
Enemy=turtle.Turtle()
Enemy.shape=("triangle")
Enemy.speed(5)
Enemy.penup()
Enemy.left(90)
Enemy.showturtle()
list.append(Enemy)
def Setupcontrols(turtle, window):
window.onkey(lambda: turtle.goto(turtle.xcor(), turtle.ycor()+15), 'w')
window.onkey(lambda: turtle.goto(turtle.xcor()-15, turtle.ycor()), 'a')
window.onkey(lambda: turtle.goto(turtle.xcor()+15, turtle.ycor()), 'd')
window.onkey(lambda: turtle.goto(turtle.xcor(), turtle.ycor()-15), 's')
window.listen()
def Randomanglegenerator(turtle,len,height):
XYcord = random.randrange(1,5)
print(XYcord)
if XYcord==2 or 4:
Enemy.setheading(90)
main()
你的程序有几个问题。首先,无效或有问题的Python语法:
应该是这样的:
这些方法是等效的,您应该使用其中一种方法,而不是同时使用两种方法。并且
mainloop()
是“海龟”软件包中的屏幕方法或函数,而不是海龟实例的方法:相反,你应该:
或:
重新定义像
list
这样的Python内置是一个糟糕的想法:相反,你应该:
最后,像这样的无限循环在海龟这样的事件驱动世界中没有一席之地:
我们需要将其替换为计时器事件。以下是我对您的代码的重写,以解决上述问题并使其基本正常工作:
我确信它还没有完成你想要它做的所有事情,但是这应该给你一个可行的起点来完成你的程序
相关问题 更多 >
编程相关推荐