Skip to content

Instantly share code, notes, and snippets.

@patham9
Created December 27, 2022 15:24
Show Gist options
  • Save patham9/2d2c0c125bc683ba600778123bed4b0a to your computer and use it in GitHub Desktop.
Save patham9/2d2c0c125bc683ba600778123bed4b0a to your computer and use it in GitHub Desktop.
Minigrid: renderANSI: ANSIC-colored ASCII environment rendering
BOLD = "\x1B[1"
BLUE = BOLD + ";34"
GREEN = BOLD + ";32"
YELLOW = BOLD + ";33"
WHITE = BOLD + ";97"
CYAN = BOLD + ";36"
MAGENTA = BOLD + ";35"
RED = BOLD + ";31"
RESET = "\x1B[0m"
def ASCIIpaint(COLOR, objectchar):
if objectchar == "W":
return WHITE + ";47m "
elif objectchar == "L":
return COLOR + "mL" #";47mL"
elif objectchar == "V":
return RED + "m" + "v"
elif objectchar == "^":
return RED + "m" + "^"
elif objectchar == "<":
return RED + "m" + "<"
elif objectchar == ">":
return RED + "m" + ">"
else:
return COLOR + "m" + objectchar
def colorify(x):
S=""
even = True
lasts = ""
for s in x:
if even:
lasts = s
else:
COLOR = WHITE
if s == "G":
COLOR = GREEN
if s == "B":
COLOR = BLUE
if s == "R":
COLOR = RED
if s == "Y":
COLOR = YELLOW
S += ASCIIpaint(COLOR, lasts) + RESET
if s == "\n":
even = True
S += "\n"
else:
even = not even
return S
def renderANSI(env):
print("\033[1;1H\033[2J")
asciigrid = str(env).split("<PassiveEnvChecker")[1] #WG (wall green)
print(colorify(asciigrid))
print(RESET)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment