mirror of
https://github.com/maoakeEnterprise/amazing.git
synced 2026-04-28 16:04:35 +02:00
WIP(iterative display): display change for every generation doesn't work
This commit is contained in:
+16
-10
@@ -1,11 +1,12 @@
|
||||
import os
|
||||
from typing import Any, Callable
|
||||
from typing import Any, Callable, Generator
|
||||
from src.AMazeIng import AMazeIng
|
||||
from src.parsing import Parsing
|
||||
from mlx.mlx import Mlx
|
||||
import numpy as np
|
||||
import math
|
||||
from src.amaz_lib import Maze
|
||||
import time
|
||||
|
||||
|
||||
class MazeMLX:
|
||||
@@ -22,9 +23,8 @@ class MazeMLX:
|
||||
self.mlx.mlx_get_data_addr(self.img_ptr)
|
||||
)
|
||||
|
||||
def __del__(self) -> None:
|
||||
def close(self) -> None:
|
||||
self.mlx.mlx_destroy_image(self.mlx_ptr, self.img_ptr)
|
||||
self.mlx.mlx_destroy_window(self.mlx_ptr, self.win_ptr)
|
||||
|
||||
def put_pixel(self, x, y) -> None:
|
||||
offset = y * self.size_line + x * (self.bpp // 8)
|
||||
@@ -83,10 +83,16 @@ class MazeMLX:
|
||||
|
||||
def close_loop(self, _: Any):
|
||||
self.mlx.mlx_loop_exit(self.mlx_ptr)
|
||||
self.mlx.mlx_destroy_window(self.mlx_ptr, self.win_ptr)
|
||||
|
||||
def gen_maze(self, maze: np.ndarray) -> None:
|
||||
self.mlx.mlx_loop_hook(self.mlx_ptr, self.update_maze, maze)
|
||||
self.mlx.mlx_hook(self.win_ptr, 17, 0, self.close_loop, None)
|
||||
def gen_maze(self, amazing: AMazeIng) -> None:
|
||||
for _ in amazing.generate():
|
||||
self.update_maze(amazing.maze.get_maze())
|
||||
time.sleep(1)
|
||||
|
||||
def start(self, amazing: AMazeIng) -> None:
|
||||
self.mlx.mlx_loop_hook(self.mlx_ptr, self.gen_maze, amazing)
|
||||
self.mlx.mlx_hook(self.win_ptr, 33, 0, self.close_loop, None)
|
||||
self.mlx.mlx_loop(self.mlx_ptr)
|
||||
|
||||
|
||||
@@ -96,14 +102,14 @@ def main() -> None:
|
||||
mlx = MazeMLX(1000, 1000)
|
||||
config = Parsing.DataMaze.get_data_maze("config.txt")
|
||||
amazing = AMazeIng(**config)
|
||||
for _ in amazing.generate():
|
||||
os.system("clear")
|
||||
amazing.maze.ascii_print()
|
||||
mlx.gen_maze(amazing.maze.get_maze())
|
||||
mlx.start(amazing)
|
||||
with open("test.txt", "w") as output:
|
||||
output.write(amazing.__str__())
|
||||
except Exception as err:
|
||||
print(err)
|
||||
finally:
|
||||
if mlx is not None:
|
||||
mlx.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -129,7 +129,6 @@ class Kruskal(MazeGenerator):
|
||||
for h in range(height - 1):
|
||||
for w in range(width):
|
||||
walls += [(w + (width * h), w + (width * (h + 1)))]
|
||||
print(walls)
|
||||
np.random.shuffle(walls)
|
||||
|
||||
yield self.walls_to_maze(walls, height, width)
|
||||
@@ -147,7 +146,6 @@ class Kruskal(MazeGenerator):
|
||||
len(sets.sets) == 19 and cells_ft is not None
|
||||
):
|
||||
break
|
||||
print(f"nb sets: {len(sets.sets)}")
|
||||
return self.walls_to_maze(walls, height, width)
|
||||
|
||||
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
BBBBBB97D397BBBB917BBD15513D17
|
||||
84684003BAA946AAA854696D3EEBC3
|
||||
C112D2AC28443D06EAB9103945507A
|
||||
BEAED283E857C3AD52AEAEAC7D5452
|
||||
87C53EAEBC393C4154012D29553956
|
||||
A95147EBAD6AEBB87D2EC386D52853
|
||||
86D4517AC17C50443B813AABD1443E
|
||||
EBD1787850513A9506AAEAAC3A93EB
|
||||
B8543850787EEAAB87EC3EC3C2A852
|
||||
AEBD443AD4517EC6ED3D2D3EB8687E
|
||||
838553AC7BD2BD3BBD43EB85069457
|
||||
EAC57843D2B86D4407D0106943C7BB
|
||||
D01552B856C4553BC556AC783E97C2
|
||||
92C7D6C29557F96AFFFD6D16850512
|
||||
E83D15382D3BFC7857FD39696907EA
|
||||
BEAD6D46ABC2FFFAFFF96AD2D2C57A
|
||||
87ABD13BC6D293FAFD50547C3C3D3E
|
||||
C168128455106EFAFFFABD17EBA907
|
||||
9056AEC7B92ABBBAD15407ABD2C2C3
|
||||
EAD1691786E8044296952D06B8147A
|
||||
BEB87EAD053E87D6ED07812BAE8796
|
||||
87AAD5412B87C7957BEBEAAC2D07EB
|
||||
C3C2D55286857905169456E9438796
|
||||
D07EBBD287A97EAB8507957E944507
|
||||
96BD0692AD445146C7EBC55503D3AB
|
||||
C16D2BEAC3D514553D52BD53AE92EA
|
||||
B8552C12BE97AB952D104796C52E92
|
||||
C47D016AABC16869456AD5413BAD6A
|
||||
D113AED2C292D03ED53ABD52800392
|
||||
D6EC457C7C6C7EC57D446D56EEEC6E
|
||||
BB93B9793D555157D3BD117D3B9793
|
||||
C42EAC3EC517BC3BD2856EB9442D2E
|
||||
D1016D07BBAD2BA852A93D2ABBA92B
|
||||
BEAC3D450469446ED2C2A92EA80286
|
||||
87A947BD417C15797ABAC2ED2AEA87
|
||||
87EC53AD54516D3AB82C7AD3807E87
|
||||
85397AC3951297AC4283D29468796B
|
||||
ABC4145007AE87C17AAAD407BED2D2
|
||||
A8512B9687C7C39412E8114147D47A
|
||||
A87EEAC78151382D2EBEEAD0553D12
|
||||
EABD3C17EED2C6AB87C17EBA95696E
|
||||
9447816D393C3BC2C5387D46C7D297
|
||||
C179687942C3EC507D6A917D153AC3
|
||||
D0387EBA92BAF952FFF82C156BAA92
|
||||
92C41106AEAEFED457FEC7C7D0406A
|
||||
AEBD6AAD03C3FFFBFFFD155154787E
|
||||
83AD5687AA9457FAFD5503D6D512BB
|
||||
EC2917ED6C2B97FAFFFBAE95396AC2
|
||||
D3C68517B9006D16B95407EBAE9452
|
||||
D07D6D2B86AABBA946B9697A8787BE
|
||||
905397C6A96C04407D287878452D03
|
||||
AC784153EC57C7B83BC4387A9547EA
|
||||
857EBA92D511392AAC3BAAD2C15156
|
||||
85392EEED56EC2C6EB86EC16D692BB
|
||||
EB8285151539143BBAA9796BD16802
|
||||
942EEBAD03EEA9682C2C54387E96AE
|
||||
87AD14696C7D687AC56D17845387AB
|
||||
E96BA91017B952B85153C5057EED6A
|
||||
D056EEEEA902B846D2D2D5295113BA
|
||||
D455557D46EEC47D56D47D447EEC46
|
||||
|
||||
1,1
|
||||
29,29
|
||||
SSEESSEESWSEESSSESSWSWWWWSSESSSWSEENEENESEEEESWSWSEESSSSEEEENNEESEENEEENNWNNWNNEENNENENESEESWSSESSESWSSSSWWSSSEESSESEN
|
||||
SEESESESWSEESSWSWWWSSSWSESESEEEEENNEESWSSESSESESSEEEENEENEEENNNEEEEENEESSSSWSSWWWSSSWSWSESSSSENEEEESEN
|
||||
|
||||
Reference in New Issue
Block a user