Hola estoy intentando hacer el juego snake. Esta es la primera parte del código.
El juego se ejecuta y no aparece ningún error, sin embargo no me deja mover la cabeza de la víbora ¿por qué puede ser?
Uso Mac y he leído que a algunos usuarios de Mac también les ocurre lo mismo pero no tengo idea que puede llegar a ser. Pensé que era un problema del IDE pero lo ejecute en varios y el problema tampoco se soluciono. Ahora estoy usando los cuadernos Jupyter o PyCharm.
import turtle
import pygame
import time
posponer = 0.075
frame = turtle.Screen()
frame.title('Juego de la viborita')
frame.bgcolor('black')
frame.setup(width = 600, height = 600)
frame.tracer(0)
#Cabeza de serpiente
cabeza = turtle.Turtle()
cabeza.speed(0)
cabeza.shape('square')
cabeza.color('white')
cabeza.penup()
cabeza.goto(0,0)
cabeza.direction = 'stop'
#Funciones que van a cambiar de direccion
def arriba():
cabeza.direccion = 'up'
def abajo():
cabeza.direccion = 'down'
def izquierda():
cabeza.direccion = 'left'
def derecha():
cabeza.direccion = 'right'
#Funcion del movimiento
def mov():
if cabeza.direction == 'up':
y = cabeza.ycor()
cabeza.sety(y + 20)
if cabeza.direction == 'down':
y = cabeza.ycor()
cabeza.sety(y - 20)
if cabeza.direction == 'left':
y = cabeza.ycor()
cabeza.setx(x + 20)
if cabeza.direction == 'right':
y = cabeza.ycor()
cabeza.setx(x + 20)
#Teclado
frame.listen()
frame.onkeypress(arriba,'w')
frame.onkeypress(abajo,'s')
frame.onkeypress(izquierda,'a')
frame.onkeypress(derecha,'d')
#Creo un bucle que va a correr durante el juego
#Se llama bucle principal
while True:
frame.update()
mov()
time.sleep(posponer)