adding the blink on the 42

This commit is contained in:
maoake
2026-03-31 21:03:10 +02:00
parent 2c7b565137
commit 769198c06b
+21 -8
View File
@@ -3,7 +3,6 @@ from src.AMazeIng import AMazeIng
from src.parsing import Parsing from src.parsing import Parsing
from mlx import Mlx from mlx import Mlx
import numpy as np import numpy as np
import math
import time import time
@@ -96,8 +95,9 @@ class MazeMLX:
def random_color_ft() -> Any: def random_color_ft() -> Any:
colors = [ colors = [
[0xFF, 0xBF, 0x00, 0xFF], # blue [0xFF, 0xBF, 0x00, 0xFF], # blue
[0xFF, 0x00, 0x80, 0xFF], # purple [0x00, 0xFF, 0x40, 0xFF], # green
[0xFF, 0x00, 0xFF, 0xFF], # rose [0xFF, 0x00, 0xFF, 0xFF], # pink
[0x00, 0xFF, 0xFF, 0xFF], # yellow
] ]
while True: while True:
for color in colors: for color in colors:
@@ -106,12 +106,12 @@ class MazeMLX:
@staticmethod @staticmethod
def random_color() -> Any: def random_color() -> Any:
colors = [ colors = [
[0x00, 0x00, 0xFF, 0xFF], # red [0xFF, 0x00, 0xFF, 0xFF], # pink
[0x00, 0xFF, 0xFF, 0xFF], # yellow [0x00, 0xFF, 0xFF, 0xFF], # yellow
[0x00, 0xFF, 0x40, 0xFF], # green [0x00, 0xFF, 0x40, 0xFF], # green
[0xFF, 0xBF, 0x00, 0xFF], # blue [0xFF, 0xBF, 0x00, 0xFF], # blue
[0xFF, 0x00, 0x80, 0xFF], # purple [0xFF, 0x00, 0x80, 0xFF], # purple
[0xFF, 0x00, 0xFF, 0xFF], # pink [0x00, 0x00, 0xFF, 0xFF], # red
] ]
while True: while True:
for color in colors: for color in colors:
@@ -240,15 +240,17 @@ class MazeMLX:
y0 = y * line_len + margin_y y0 = y * line_len + margin_y
x1 = x * line_len + line_len + margin_x x1 = x * line_len + line_len + margin_x
y1 = y * line_len + line_len + margin_y y1 = y * line_len + line_len + margin_y
self.put_block((x0, y0), (x1, y1)) self.put_block((x0, y0), (x1, y1), color)
def draw_image(self, amazing: AMazeIng) -> None: def draw_image(self, amazing: AMazeIng) -> None:
if self.render_maze(amazing): if self.render_maze(amazing):
if self.path_printer and self.print_path: if self.path_printer and self.print_path:
if self.render_path(): if self.render_path():
color = next(self.color_gen_ft) color = next(self.color_gen_ft)
color self.draw_ft(amazing.maze.get_maze(), color)
next(self.timer_gen)
else: else:
self.time_gen()
self.update_maze(amazing.maze.get_maze()) self.update_maze(amazing.maze.get_maze())
self.draw_ft(amazing.maze.get_maze()) self.draw_ft(amazing.maze.get_maze())
self.put_start_end(amazing) self.put_start_end(amazing)
@@ -260,9 +262,18 @@ class MazeMLX:
def shift_color_ft(self): def shift_color_ft(self):
self.color_gen_ft = self.random_color_ft() self.color_gen_ft = self.random_color_ft()
def time_gen(self):
self.timer_gen = self.time_generator()
def restart_maze(self, amazing: AMazeIng) -> None: def restart_maze(self, amazing: AMazeIng) -> None:
self.generator = amazing.generate() self.generator = amazing.generate()
def time_generator(self) -> Any:
yield
while True:
time.sleep(0.3)
yield
def restart_path(self, amazing: AMazeIng) -> None: def restart_path(self, amazing: AMazeIng) -> None:
self.path_printer = self.put_path(amazing) self.path_printer = self.put_path(amazing)
@@ -297,7 +308,8 @@ class MazeMLX:
if keycode == 52: if keycode == 52:
self.close_loop(None) self.close_loop(None)
def handle_key_press_mteriier(self, keycode: int, amazing: AMazeIng) -> None: def handle_key_press_mteriier(self, keycode: int,
amazing: AMazeIng) -> None:
if keycode == 38: if keycode == 38:
self.restart_maze(amazing) self.restart_maze(amazing)
self.print_path = False self.print_path = False
@@ -314,6 +326,7 @@ class MazeMLX:
self.restart_maze(amazing) self.restart_maze(amazing)
self.shift_color() self.shift_color()
self.shift_color_ft() self.shift_color_ft()
self.time_gen()
self.mlx.mlx_loop_hook(self.mlx_ptr, self.draw_image, amazing) self.mlx.mlx_loop_hook(self.mlx_ptr, self.draw_image, amazing)
self.mlx.mlx_hook(self.win_ptr, 33, 0, self.close_loop, None) self.mlx.mlx_hook(self.win_ptr, 33, 0, self.close_loop, None)
self.mlx.mlx_hook( self.mlx.mlx_hook(