better visualzier

This commit is contained in:
Anders Englöf Ytterström 2025-12-09 14:48:57 +01:00
parent 8fbd267d99
commit 267ecaebc1

View file

@ -1,4 +1,5 @@
import re
from math import inf
# Directions/Adjacents for 2D matrices, in the order UP, RIGHT, DOWN, LEFT
D = [
@ -78,12 +79,26 @@ def mdbg(m):
print("".join(r))
def vdbg(seen, h, w, C="#", M=None):
def vdbg(seen, mask=("#", "."), M=None):
"""Print-debug visited positions of a matrix"""
t = inf
l = inf
b = 0
r = 0
for y, x in seen:
t = min(t, y)
r = max(r, x)
b = max(b, y)
l = min(l, x)
H = b - t + 1
W = r - l + 1
osr = t
osc = l
C, Z = mask
def _m(r, c):
return M[r][c] if M else "."
for r in range(h):
print("".join([C if (r, c) in seen else _m(r, c) for c in range(w)]))
return M[r][c] if M else Z
for r in range(H):
print("".join([C if (r + osr, c + osc) in seen else _m(r, c) for c in range(W)]))
def vvdbg(seen, h, w):