importar pygame
NEGRO =(0, 0, 0)
BLANCO =(255, 255, 255)
tamaño =[700, 500]
pantalla =pygame.display.set_mode(tamaño)
hecho =falso
reloj =pygame.time.Reloj()
velocidad_x =0
velocidad_y =0
coord_x =10
coord_y =10
laberinto =[
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 1, 0, 1, 0, 1, 0, 1, 1],
[1, 0, 0, 0, 1, 0, 0, 0, 1, 1],
[1, 0, 1, 0, 1, 1, 1, 0, 1, 1],
[1, 0, 1, 0, 0, 0, 1, 0, 1, 1],
[1, 0, 1, 1, 1, 0, 1, 0, 1, 1],
[1, 0, 0, 0, 0, 0, 1, 0, 0, 1],
[1, 0, 1, 1, 1, 1, 1, 0, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
]
mientras no haya terminado:
# Esto limita el bucle while a un máximo de 10 veces por segundo.
# Deja esto fuera y usaremos toda la CPU que podamos.
reloj.tick(10)
para evento en pygame.event.get():# El usuario hizo algo
if event.type ==pygame.QUIT:# Si el usuario hizo clic en cerrar
done =True # Marca que hemos terminado para salir de este bucle
# Limpiar la pantalla y configurar el fondo de la pantalla
pantalla.relleno (NEGRO)
# Dibuja el laberinto
para la fila en el rango (9):
para la columna en el rango (10):
si laberinto[fila][columna] ==1:
pygame.draw.rect(pantalla, BLANCO, [(25 * columna), (25 * fila), 25, 25])
# Dibuja el corredor
pygame.draw.rect(pantalla, BLANCO, [coord_x, coord_y, 25, 25])
# Mueve el corredor según la tecla presionada
presionado =pygame.key.get_pressed()
si se presiona[pygame.K_UP]:
velocidad_y =-5
elif presionado[pygame.K_DOWN]:
velocidad_y =5
elif presionado[pygame.K_LEFT]:
velocidad_x =-5
elif presionó[pygame.K_RIGHT]:
x_velocidad =5
# Actualizar la posición del corredor.
x_coord +=x_velocidad
y_coord +=y_velocidad
# Si el corredor golpea el borde de la pantalla, rebota
si coord_x> 675:
velocidad_x =-5
elif x_coord <0:
x_velocidad =5
si coord_y> 475:
velocidad_y =-5
elif y_coord <0:
velocidad_y =5
# Si el corredor choca contra una pared, deténgalo
si laberinto[int(y_coord / 25)][int(x_coord / 25)] ==1:
velocidad_x =0
velocidad_y =0
#Actualizar la pantalla
pygame.display.flip()
pygame.salir()
```