mirror of
https://github.com/maoakeEnterprise/amazing.git
synced 2026-11-01 15:42:03 +01:00
starting to understand mlx
This commit is contained in:
1 parent
30e48ece22
commit
aa4f454bb4
4 files changed
+66
-35
No files matched your search
@@ -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
@@ -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
|
||||||
@@ -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
|
||||||
+38
-18
@@ -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,
|
||||||
for x in range(800):
|
self.size_line,
|
||||||
index = y * size_line + x * (bpp // 8)
|
self.endian) = self.mlx.mlx_get_data_addr(self.img_ptr)
|
||||||
data[index] = 0 # B
|
|
||||||
data[index + 1] = 0 # G
|
|
||||||
data[index + 2] = 255 # R
|
|
||||||
data[index + 3] = 0 # A
|
|
||||||
|
|
||||||
# afficher image
|
for y in range(300):
|
||||||
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] = 255
|
||||||
|
self.data[index + 1] = 50
|
||||||
|
self.data[index + 2] = 120
|
||||||
|
self.data[index + 3] = 100
|
||||||
|
|
||||||
mlx.mlx_loop(mlx_ptr)
|
for y in range(300, 600):
|
||||||
|
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
|
||||||
|
|
||||||
|
# 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)
|
||||||
Reference in new issue
Block a user