from microbit import *
left = (-1, 0)
right = (+1, 0)
up = (0, -1)
down = (0, +1)
turnLeft = {
up: left,
down: right,
left: down,
right: up
}
turnRight = {
up: right,
down: left,
left: up,
right: down
}
snake_direction = down
snake = [(1,0), (1,1), (1,2)]
print(snake)
frames = 0
last_a = False
last_b = False
def move(direction):
global snake
snake = snake[1:]
head = snake[-1]
new_head = ((head[0]+direction[0])%5, (head[1]+direction[1])%5)
snake.append(new_head)
print(snake)
while True:
frames += 1
now_a = button_a.is_pressed()
now_b = button_b.is_pressed()
if now_a and not last_a:
snake_direction = turnLeft[snake_direction]
if now_b and not last_b:
snake_direction = turnRight[snake_direction]
last_a = now_a
last_b = now_b
if frames % 10 == 0:
move(snake_direction)
display.clear()
for chunk in snake:
display.set_pixel(chunk[0], chunk[1], 5)
sleep(50)
Comments