Shorten the tail every 3 steps
Some checks failed
docker-image / docker (push) Has been cancelled

This commit is contained in:
Stefan Bethke 2025-06-04 23:42:34 +02:00
commit f2581a10ac

View file

@ -13,6 +13,7 @@ class SnakeAnimation(BubaAnimation):
self.width = 20
self.height = 4
self.grid = []
self.body = []
# 0:Space
self.charset = " "
# 1:up 2:right 3:down 4:left
@ -37,10 +38,12 @@ class SnakeAnimation(BubaAnimation):
x = random.randrange(self.width)
y = random.randrange(self.height)
d = random.randrange(4)
self.grid[y][x] = 1 + d
for r in range(self.height):
self.buba.simple_text(0, r, 0, "") # clear display
self.grid[y][x] = 1 + d
self.body.append((x, y))
self.render()
iterations = 0
while True:
if self.is_blocked(x, y, d):
end = True
@ -59,6 +62,13 @@ class SnakeAnimation(BubaAnimation):
self.grid[y][x] = 5 + (d % 2)
(x, y) = self.next(x, y, d)
self.grid[y][x] = 1 + d
iterations += 1
self.body.append((x, y))
if iterations % 3 == 0:
(tx, ty) = self.body.pop(0)
self.grid[ty][tx] = 0
(tx, ty) = self.body[0]
self.grid[ty][tx] = 11
self.render()
sleep(0.5)
sleep(5)