Итак, я новичок в python, поэтому я потратил некоторое время и посмотрел несколько видеороликов о том, как сделать простую "змеиную" игру, я делал все, что говорил этот парень, но когда дело дошло до клавиатуры, что-то пошло не так, и я могу Не двигай черепахой.. code:
https://pastebin.com/GLSRNKLR
import turtle
import time
delay = 0.1
# Screen
wn = turtle.Screen()
wn.title("Snake Game By AniPita")
wn.bgcolor('black')
wn.setup(600, 600)
wn.tracer(0)
# Snake Head
head = turtle.Turtle()
head.speed(0)
head.shape("square")
head.color("white")
head.penup()
head.goto(0, 0)
head.direction = "stop"
# Functions
def go_up():
head.direction == "up"
def go_down():
head.direction == "down"
def go_left():
head.direction == "left"
def go_right():
head.direction == "right"
def move():
if head.direction == "up":
y = head.ycor()
head.sety(y + 10)
if head.direction == "down":
y = head.ycor()
head.sety(y - 10)
if head.direction == "left":
x = head.xcor()
head.setx(x - 10)
if head.direction == "right":
x = head.xcor()
head.setx(x + 10)
# Keyboard Bindings
wn.onkeypress(go_up(), 'w')
wn.onkeypress(go_down(), 's')
wn.onkeypress(go_left(), 'a')
wn.onkeypress(go_right(), 'd')
wn.listen()
# Main Game
while True:
wn.update()
time.sleep(delay)
move()
wn.mainloop()
Вы хотите передать функциональные ссылки на функцию onkeypress, чтобы она вызывала ее по требованию.
Поэтому вам нужно отказаться от вызовов функций, например:
wn.onkeypress(go_up(), 'w')
должно быть:
wn.onkeypress(go_up, 'w')