better visualzier
This commit is contained in:
parent
8fbd267d99
commit
267ecaebc1
1 changed files with 19 additions and 4 deletions
|
|
@ -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):
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue