starting to understand mlx

This commit is contained in:
Maoake Teriierooiterai committed 2026-03-27 13:46:31 +01:00
1 parent 30e48ece22
commit aa4f454bb4
4 files changed
+65 -34

No files matched your search

+2
View File
@@ -31,3 +31,5 @@ run_test_maze_gen:
PYTHONPATH=src uv run pytest tests/test_MazeGenerator.py PYTHONPATH=src uv run pytest tests/test_MazeGenerator.py
run_test: run_test:
uv run pytest uv run pytest
mlx:
uv run python3 test_mlx.py
+4 -4
View File
@@ -1,8 +1,8 @@
WIDTH=11 WIDTH=20
HEIGHT=11 HEIGHT=20
ENTRY=4,3 ENTRY=2,3
EXIT=2,1 EXIT=2,1
OUTPUT_FILE=maze.txt OUTPUT_FILE=maze.txt
PERFECT=False PERFECT=True
GENERATOR=DFS GENERATOR=DFS
SOLVER=AStar SOLVER=AStar
+22 -13
View File
@@ -1,15 +1,24 @@
BD1553D3913 D39513D55513953913D3
C3AD54386AA 96E96C55396AC3EAAC3A
BAC5396C7AA AD16D13BAC3C3C5683C6
82956C5396E C5693AAAC383C553AA93
A86D553AC53 953AAAC696EC13BAEC2A
C295552C512 AD46C2956913AA8693AA
9283B9693AA 83D156A93AAAEAC56AAA
AAAAC456AAA AC3C57AEC6AC56957AEA
AC2C553D2C2 87C3956F956FFF853C52
83C3D3C3E96 A956C53FC5157FABC556
C454547C547 AC5517AFFFAFFFC43D13
E953C3A93FAFD513C56A
96BC52AAAFAFFFAC513A
83C556C6AD4395693EC2
AC539393C53A857AC53A
AB92AAAC556AE954796A
AAAAAC6B9156947956BA
C2AEA9546C55693A9786
96C56C5555793AC6A96B
C55555555556C6D54456
4,3 2,3
2,1 2,1
EENWWNNEEESESWSEESSEEESSSSWSWWNWNWWWNNWSSSESWWNWNNNENNNNNW NEESWSWSWWNN
+37 -17
View File
@@ -1,26 +1,46 @@
from mlx import Mlx from mlx import Mlx
mlx = Mlx()
mlx_ptr = mlx.mlx_init() class App:
win_ptr = mlx.mlx_new_window(mlx_ptr, 800, 600, "Image") def __init__(self):
self.mlx = Mlx()
# créer image self.mlx_ptr = self.mlx.mlx_init()
img_ptr = mlx.mlx_new_image(mlx_ptr, 800, 600) self.win_ptr = self.mlx.mlx_new_window(self.mlx_ptr, 800, 600, "Image")
# récupérer buffer self.img_ptr = self.mlx.mlx_new_image(self.mlx_ptr, 800, 600)
data, bpp, size_line, endian = mlx.mlx_get_data_addr(img_ptr)
# dessiner dans le buffer (self.data,
for y in range(600): self.bpp,
self.size_line,
self.endian) = self.mlx.mlx_get_data_addr(self.img_ptr)
for y in range(300):
for x in range(800): for x in range(800):
index = y * size_line + x * (bpp // 8) index = y * self.size_line + x * (self.bpp // 8)
data[index] = 0 # B self.data[index] = 255
data[index + 1] = 0 # G self.data[index + 1] = 50
data[index + 2] = 255 # R self.data[index + 2] = 120
data[index + 3] = 0 # A self.data[index + 3] = 100
# afficher image for y in range(300, 600):
mlx.mlx_put_image_to_window(mlx_ptr, win_ptr, img_ptr, 0, 0) for x in range(800):
index = y * self.size_line + x * (self.bpp // 8)
self.data[index] = 150
self.data[index + 1] = 50
self.data[index + 2] = 120
self.data[index + 3] = 100
mlx.mlx_loop(mlx_ptr) # Hook fermeture fenêtre
self.mlx.mlx_hook(self.win_ptr, 33, 0, self.close_window, self)
self.mlx.mlx_put_image_to_window(self.mlx_ptr, self.win_ptr,
self.img_ptr, 0, 0)
def close_window(self, poop):
print("Closing window")
self.mlx.mlx_loop_exit(self.mlx_ptr)
app = App()
app.mlx.mlx_loop(app.mlx_ptr)