Python 它是什么意思';无效的命令名";。!帆布“'; 导入海龟 wn=tutle.Screen() wn.头衔(“乒乓球”) wn.bgcolor(“黑色”) wn.设置(宽度=800,高度=600) wn.tracer(0) #划桨 桨a=乌龟。乌龟() 桨速度(0) 桨形(“方形”) 划桨颜色(“白色”) 划桨 桨叶后置(-350,0) #桨B 桨b=海龟。海龟() 桨速(0) 桨形(“方形”) 浆体颜色(“白色”) 划桨 白板后藤(350,0) #球 ball=海龟。海龟() 球速(0) 球形(“圆”) 球。颜色(“白色”) ball.penup() 球。转到(0,0) ball.dx=2 ball.dy=2 #作用 def拨杆向上() y=pallea.ycor() y+=20 船桨a.sety(y) def桨叶向下() y=pallea.ycor() y-=20 船桨a.sety(y) def拨杆向上() y=pallea.ycor() y+=20 桨_b.塞蒂(y) def挡板向下() y=pallea.ycor() y-=20 桨_b.塞蒂(y) #键盘装订 听着 wn.ON按键(向上拨动“w”) 按下按键(划桨向下,“s”) 按下按键(划桨向上,“向上”) 按下按键(划桨向下,“向下”) #主游戏循环 尽管如此: wn.update() #移动球 ball.setx(ball.xcor()+ball.dx) ball.sety(ball.ycor()+ball.dy) #边境检查 如果ball.ycor()大于290: 鲍尔·塞蒂(290) ball.dy*=-1 如果ball.ycor()小于-290: 球。塞蒂(-290) ball.dy*=-1 如果ball.xcor()大于390: ball.goto(0,0) ball.dx*=-1 如果ball.xcor()小于-390: ball.goto(0,0) ball.dx*=-1 #桨球碰撞 如果(ball.xcor()>340和ball.xcor()拨杆ycor()-40): 球。setx(340) ball.dx*=-1 如果(ball.xcor()-350)和 (ball.ycor()< 拨杆[u a.ycor()+40和ball.ycor()>拨杆[u a.ycor()-40]: 球。setx(-340) ball.dx*=-1
我无法完全移动球拍b。它只允许我将球拍b向上或向下移动5个像素,我应该如何改变球的速度,因为球太快了。我正在使用visual studio 2019的社区版。当我结束这个过程时,它会把我带到代码的球部分,显示“无效的命令名”!canvas“您试图引用Python 它是什么意思';无效的命令名";。!帆布“'; 导入海龟 wn=tutle.Screen() wn.头衔(“乒乓球”) wn.bgcolor(“黑色”) wn.设置(宽度=800,高度=600) wn.tracer(0) #划桨 桨a=乌龟。乌龟() 桨速度(0) 桨形(“方形”) 划桨颜色(“白色”) 划桨 桨叶后置(-350,0) #桨B 桨b=海龟。海龟() 桨速(0) 桨形(“方形”) 浆体颜色(“白色”) 划桨 白板后藤(350,0) #球 ball=海龟。海龟() 球速(0) 球形(“圆”) 球。颜色(“白色”) ball.penup() 球。转到(0,0) ball.dx=2 ball.dy=2 #作用 def拨杆向上() y=pallea.ycor() y+=20 船桨a.sety(y) def桨叶向下() y=pallea.ycor() y-=20 船桨a.sety(y) def拨杆向上() y=pallea.ycor() y+=20 桨_b.塞蒂(y) def挡板向下() y=pallea.ycor() y-=20 桨_b.塞蒂(y) #键盘装订 听着 wn.ON按键(向上拨动“w”) 按下按键(划桨向下,“s”) 按下按键(划桨向上,“向上”) 按下按键(划桨向下,“向下”) #主游戏循环 尽管如此: wn.update() #移动球 ball.setx(ball.xcor()+ball.dx) ball.sety(ball.ycor()+ball.dy) #边境检查 如果ball.ycor()大于290: 鲍尔·塞蒂(290) ball.dy*=-1 如果ball.ycor()小于-290: 球。塞蒂(-290) ball.dy*=-1 如果ball.xcor()大于390: ball.goto(0,0) ball.dx*=-1 如果ball.xcor()小于-390: ball.goto(0,0) ball.dx*=-1 #桨球碰撞 如果(ball.xcor()>340和ball.xcor()拨杆ycor()-40): 球。setx(340) ball.dx*=-1 如果(ball.xcor()-350)和 (ball.ycor()< 拨杆[u a.ycor()+40和ball.ycor()>拨杆[u a.ycor()-40]: 球。setx(-340) ball.dx*=-1,python,Python,我无法完全移动球拍b。它只允许我将球拍b向上或向下移动5个像素,我应该如何改变球的速度,因为球太快了。我正在使用visual studio 2019的社区版。当我结束这个过程时,它会把我带到代码的球部分,显示“无效的命令名”!canvas“您试图引用pallea,但它被定义为palle\u a,所以您需要保持一致,并像上面命名的那样使用palle\u a 至于划桨速度,看起来球的速度是在这里控制的: import turtle wn = turtle.Screen() wn.title(&qu
pallea
,但它被定义为palle\u a
,所以您需要保持一致,并像上面命名的那样使用palle\u a
至于划桨速度,看起来球的速度是在这里控制的:
import turtle
wn = turtle.Screen()
wn.title("ping pong")
wn.bgcolor("black")
wn.setup(width=800, height= 600)
wn.tracer(0)
#Paddle A
paddle_a = turtle.Turtle()
paddle_a.speed(0)
paddle_a.shape("square")
paddle_a.color("white")
paddle_a.penup()
paddle_a.goto(-350, 0)
#Paddle B
paddle_b = turtle.Turtle()
paddle_b.speed(0)
paddle_b.shape("square")
paddle_b.color("white")
paddle_b.penup()
paddle_b.goto(350, 0)
#Ball
ball = turtle.Turtle()
ball.speed(0)
ball.shape("circle")
ball.color("white")
ball.penup()
ball.goto(0, 0)
ball.dx = 2
ball.dy = 2
# Function
def paddle_a_up():
y = paddlea.ycor()
y += 20
paddle_a.sety(y)
def paddle_a_down():
y = paddlea.ycor()
y -= 20
paddle_a.sety(y)
def paddle_b_up():
y = paddlea.ycor()
y += 20
paddle_b.sety(y)
def paddle_b_down():
y = paddlea.ycor()
y -= 20
paddle_b.sety(y)
#Keyboard binding
wn.listen()
wn.onkeypress(paddle_a_up, "w")
wn.onkeypress(paddle_a_down, "s")
wn.onkeypress(paddle_b_up, "Up")
wn.onkeypress(paddle_b_down, "Down")
#Main game loop
while 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.goto(0,0)
ball.dx *= -1
if ball.xcor() < -390:
ball.goto(0,0)
ball.dx *= -1
#Paddle and ball collisions
if (ball.xcor() > 340 and ball.xcor() < 350) and
(ball.ycor() <
paddle_b.ycor() + 40 and ball.ycor() > paddle_b.ycor() -40):
ball.setx(340)
ball.dx *= -1
if (ball.xcor() < -340 and ball.xcor() > -350) and
(ball.ycor() <
paddle_a.ycor() + 40 and ball.ycor() > paddle_a.ycor() -40):
ball.setx(-340)
ball.dx *= -1
因此,位置会被dx
和dy
修改,因此,修改上面设置的变量
#move the ball
ball.setx(ball.xcor() +ball.dx)
ball.sety(ball.ycor() + ball.dy)
将调整球的速度。确定您不应该使用
拨杆a
?您有未定义的pallea
。(至少你提供的代码中没有)你的问题很不清楚。你是在问“无效的命令名”!canvas“”,还是在问pallea
或者你是在问如何改变球的速度?这与IDE有什么关系?代码中的错误在哪里?我应该用什么替换它?我收到另一位用户的回复,他说“您试图引用PadleA,但它被定义为Padle_a,因此您需要保持一致,并像上面命名的那样使用Padle_a。”我不理解他的回复,因此被要求查找错误,并用什么替换错误。您能告诉我错误在哪一个位置关于桨a的介绍。我应该写什么来代替它呢where@VedPawar搜索并替换拨杆a
->拨杆a
ball.dx = 2
ball.dy = 2