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 它是什么意思';无效的命令名";。!帆布“'; 导入海龟 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

我无法完全移动球拍b。它只允许我将球拍b向上或向下移动5个像素,我应该如何改变球的速度,因为球太快了。我正在使用visual studio 2019的社区版。当我结束这个过程时,它会把我带到代码的球部分,显示“无效的命令名”!canvas“

您试图引用
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