mirror of
https://github.com/maoakeEnterprise/amazing.git
synced 2026-11-01 07:42:03 +01:00
starting to understand mlx
This commit is contained in:
1 parent
30e48ece22
commit
aa4f454bb4
4 files changed
+65
-34
No files matched your search
@@ -31,3 +31,5 @@ run_test_maze_gen:
|
||||
PYTHONPATH=src uv run pytest tests/test_MazeGenerator.py
|
||||
run_test:
|
||||
uv run pytest
|
||||
mlx:
|
||||
uv run python3 test_mlx.py
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
WIDTH=11
|
||||
HEIGHT=11
|
||||
ENTRY=4,3
|
||||
WIDTH=20
|
||||
HEIGHT=20
|
||||
ENTRY=2,3
|
||||
EXIT=2,1
|
||||
OUTPUT_FILE=maze.txt
|
||||
PERFECT=False
|
||||
PERFECT=True
|
||||
GENERATOR=DFS
|
||||
SOLVER=AStar
|
||||
@@ -1,15 +1,24 @@
|
||||
BD1553D3913
|
||||
C3AD54386AA
|
||||
BAC5396C7AA
|
||||
82956C5396E
|
||||
A86D553AC53
|
||||
C295552C512
|
||||
9283B9693AA
|
||||
AAAAC456AAA
|
||||
AC2C553D2C2
|
||||
83C3D3C3E96
|
||||
C454547C547
|
||||
D39513D55513953913D3
|
||||
96E96C55396AC3EAAC3A
|
||||
AD16D13BAC3C3C5683C6
|
||||
C5693AAAC383C553AA93
|
||||
953AAAC696EC13BAEC2A
|
||||
AD46C2956913AA8693AA
|
||||
83D156A93AAAEAC56AAA
|
||||
AC3C57AEC6AC56957AEA
|
||||
87C3956F956FFF853C52
|
||||
A956C53FC5157FABC556
|
||||
AC5517AFFFAFFFC43D13
|
||||
E953C3A93FAFD513C56A
|
||||
96BC52AAAFAFFFAC513A
|
||||
83C556C6AD4395693EC2
|
||||
AC539393C53A857AC53A
|
||||
AB92AAAC556AE954796A
|
||||
AAAAAC6B9156947956BA
|
||||
C2AEA9546C55693A9786
|
||||
96C56C5555793AC6A96B
|
||||
C55555555556C6D54456
|
||||
|
||||
4,3
|
||||
2,3
|
||||
2,1
|
||||
EENWWNNEEESESWSEESSEEESSSSWSWWNWNWWWNNWSSSESWWNWNNNENNNNNW
|
||||
NEESWSWSWWNN
|
||||
+37
-17
@@ -1,26 +1,46 @@
|
||||
from mlx import Mlx
|
||||
|
||||
mlx = Mlx()
|
||||
|
||||
mlx_ptr = mlx.mlx_init()
|
||||
win_ptr = mlx.mlx_new_window(mlx_ptr, 800, 600, "Image")
|
||||
class App:
|
||||
def __init__(self):
|
||||
self.mlx = Mlx()
|
||||
|
||||
# créer image
|
||||
img_ptr = mlx.mlx_new_image(mlx_ptr, 800, 600)
|
||||
self.mlx_ptr = self.mlx.mlx_init()
|
||||
self.win_ptr = self.mlx.mlx_new_window(self.mlx_ptr, 800, 600, "Image")
|
||||
|
||||
# récupérer buffer
|
||||
data, bpp, size_line, endian = mlx.mlx_get_data_addr(img_ptr)
|
||||
self.img_ptr = self.mlx.mlx_new_image(self.mlx_ptr, 800, 600)
|
||||
|
||||
# dessiner dans le buffer
|
||||
for y in range(600):
|
||||
(self.data,
|
||||
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):
|
||||
index = y * size_line + x * (bpp // 8)
|
||||
data[index] = 0 # B
|
||||
data[index + 1] = 0 # G
|
||||
data[index + 2] = 255 # R
|
||||
data[index + 3] = 0 # A
|
||||
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
|
||||
|
||||
# afficher image
|
||||
mlx.mlx_put_image_to_window(mlx_ptr, win_ptr, img_ptr, 0, 0)
|
||||
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
|
||||
|
||||
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)
|
||||
Reference in new issue
Block a user