From 8aeeac62efe32cf41ba2d32f3020e16645b10768 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Tue, 17 Jun 2025 19:11:40 +0200 Subject: [PATCH] Speed up snake We cannot speed up updating the display, but we can limit the updates to once a second, and take two steps per second. --- buba/animations/snake.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/buba/animations/snake.py b/buba/animations/snake.py index 55c13a8..6eb52e2 100644 --- a/buba/animations/snake.py +++ b/buba/animations/snake.py @@ -1,4 +1,5 @@ import random +from datetime import datetime, timedelta from time import sleep from buba.bubaanimation import BubaAnimation @@ -46,6 +47,7 @@ class SnakeAnimation(BubaAnimation): self.body = [(x, y)] self.render() iterations = 0 + last_update = datetime.now() while True: if self.is_blocked(x, y, d): end = True @@ -71,8 +73,11 @@ class SnakeAnimation(BubaAnimation): self.grid[ty][tx] = 0 (tx, ty) = self.body[0] self.grid[ty][tx] = 11 - self.render() - sleep(1) + if datetime.now() - last_update > timedelta(seconds=1): + last_update = datetime.now() + self.render() + else: + sleep(.5) sleep(5) @staticmethod