几天前我刚开始使用python作为我的第一种编程语言,所以我遇到的问题可能不是什么大不了的。如果这是一个简单的语法错误,我很抱歉。我正在使用乌龟模块构建一个基本的乒乓球游戏,但遇到了一个问题,使球从球拍上弹出。当球的ycor在球拍的ycor之间时,我预计球会撞飞,但球似乎粘在球拍上,我收到一条消息,说
Traceback(最后一次调用(:文件"C:\Users\USER-PC\Desktop\Python\Pong game practice.py",第92行,位于如果ball.xcor((>330并且(ball.ycor((<桨板_b.ycor((+50和ball.ycor>桨板_b.icor((-50(:TypeError:在"method"one_answers"int"的实例之间不支持">">
我认为错误发生在以下部分。
而True:wn.update((
# Move the ball
ball.setx(ball.xcor() + ball.dx)
ball.sety(ball.ycor() + ball.dy)
# Border checking
if ball.ycor() > 290:
ball.sety(290)
ball.dy *= -1
if ball.ycor() < -290:
ball.sety(-290)
ball.dy *= -1
if ball.xcor() > 390:
ball.setx(0)
ball.dx *= -1
if ball.xcor() < -390:
ball.setx(0)
ball.dx *= -1
# Paddle and ball collisions
if ball.xcor() > 330 and (ball.ycor() < paddle_b.ycor() + 50 and ball.ycor > paddle_b.ycor() - 50):
ball.setx(340)
ball.dx *= -1
感谢您的指导或帮助。
您的问题就在下一个位置
ball.ycor > paddle_b.ycor() - 50
ball.ycor
是一个python方法,当paddle_b.ycor() - 50
是一个int时,这就是解释器警告您的。您只需要添加方括号就可以实际调用该方法。
ball.ycor() > paddle_b.ycor() - 50