Положение черепахи не меняется после перемещения с помощью клавиш со стрелками - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь найти положение черепахи, которая управляется пользователем с помощью клавиш wasd. Что я заметил, так это то, что положение черепахи никогда не меняется в операторах печати внутри блока while (True). У вас, ребята, есть какой-нибудь совет (соответствующий код ниже для справки)?

Примечание: я знаю, while(True) - плохая форма; это просто шип.

import turtle

def Setupcontrols(turtle, window):
  window.onkey(lambda: turtle.sety(turtle.ycor()+15), 'w')
  window.onkey(lambda: turtle.setx(turtle.xcor()-15), 'a')
  window.onkey(lambda: turtle.setx(turtle.xcor()+15), 'd')
  window.onkey(lambda: turtle.sety(turtle.ycor()-15), 's')
  window.listen()

def Setupuser(myTurtle,window):
  window.bgcolor("white")
  window.setup (width=400, height=400, startx=0, starty=0)
  myTurtle.speed(2)
  myTurtle.shape('turtle')
  myTurtle.color("blue")
  myTurtle.penup()
  myTurtle.delay(0)
  myTurtle.left(90)
  window.exitonclick()

def main():
  wn=turtle.Screen()
  Gameturtle=turtle.Turtle()
  Setupuser(Gameturtle, wn)
  Setupcontrols(Gameturtle, wn)
  while (True):
    print(Gameturtle.position())

main()

1 Ответ

0 голосов
/ 22 марта 2020

Я полагаю, что вы можете использовать функции только для своих командных клавиш. Пример:

import turtle
t = turtle.Turtle()
screen = turtle.Screen()

def moveForward():
   t.forward(1)

screen.onkey(moveForward,'right')
screen.listen()

Надеюсь, это поможет!

...