# This file is adapted from the ascii8x8.py in the Allegro project # hosted at https://github.com/vishnubob/allegro. def draw_chr(ch, wall, foreground, background, x_offset=0, y_offset=0): """ Draw an 8 x 8 ASCII character. ch: the ASCII integer for a character wall: Wall object foreground: a 3-element tuple of hsv values background: a 3-element tuple of hsv values x_offset: integer y_offset: integer """ font = Font8x8[ord(ch)] for y, row in enumerate(font): for x, col in enumerate(row): if col == '#': wall.set_pixel(x + x_offset, y + y_offset, background) else: wall.set_pixel(x + x_offset, y + y_offset, foreground) Font8x8 = ( ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("########"), ("#### ###"), ("########") ), ( ("### # ##"), ("### # ##"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("### # ##"), ("### # ##"), ("# "), ("### # ##"), ("# "), ("### # ##"), ("### # ##"), ("########") ), ( ("#### ###"), ("### #"), ("## # ###"), ("### ##"), ("#### # #"), ("## ##"), ("#### ###"), ("########") ), ( ("########"), ("## ## #"), ("## # ##"), ("#### ###"), ("### # #"), ("## ## #"), ("########"), ("########") ), ( ("### ###"), ("## # ###"), ("### ####"), ("## # ###"), ("# ### #"), ("# ### ##"), ("## # #"), ("########") ), ( ("#### ###"), ("#### ###"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("##### ##"), ("#### ###"), ("### ####"), ("### ####"), ("### ####"), ("#### ###"), ("##### ##"), ("########") ), ( ("### ####"), ("#### ###"), ("##### ##"), ("##### ##"), ("##### ##"), ("#### ###"), ("### ####"), ("########") ), ( ("#### ###"), ("# ## ## "), ("## # # #"), ("### ##"), ("## # # #"), ("# ## ## "), ("#### ###"), ("########") ), ( ("#### ###"), ("#### ###"), ("#### ###"), ("# "), ("#### ###"), ("#### ###"), ("#### ###"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("#### ##"), ("#### ##"), ("##### ##"), ("#### ###") ), ( ("########"), ("########"), ("########"), ("# "), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("#### ##"), ("#### ##"), ("########") ), ( ("####### "), ("###### #"), ("##### ##"), ("#### ###"), ("### ####"), ("## #####"), ("# ######"), ("########") ), ( ("### ##"), ("## ### #"), ("## ### #"), ("## # # #"), ("## ### #"), ("## ### #"), ("### ##"), ("########") ), ( ("#### ###"), ("### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("### ##"), ("########") ), ( ("### ##"), ("## ### #"), ("###### #"), ("##### ##"), ("#### ###"), ("### ####"), ("## #"), ("########") ), ( ("### ##"), ("## ### #"), ("###### #"), ("#### ##"), ("###### #"), ("## ### #"), ("### ##"), ("########") ), ( ("#### ##"), ("### # ##"), ("## ## ##"), ("## #"), ("##### ##"), ("##### ##"), ("#### #"), ("########") ), ( ("## #"), ("## #####"), ("## #####"), ("## ##"), ("###### #"), ("## ### #"), ("### ##"), ("########") ), ( ("### ##"), ("## ### #"), ("## #####"), ("## ##"), ("## ### #"), ("## ### #"), ("### ##"), ("########") ), ( ("## #"), ("###### #"), ("##### ##"), ("#### ###"), ("### ####"), ("### ####"), ("### ####"), ("########") ), ( ("### ##"), ("## ### #"), ("## ### #"), ("### ##"), ("## ### #"), ("## ### #"), ("### ##"), ("########") ), ( ("### ##"), ("## ### #"), ("## ### #"), ("### #"), ("###### #"), ("## ### #"), ("### ##"), ("########") ), ( ("########"), ("#### ##"), ("#### ##"), ("########"), ("#### ##"), ("#### ##"), ("########"), ("########") ), ( ("########"), ("#### ##"), ("#### ##"), ("########"), ("#### ##"), ("#### ##"), ("##### ##"), ("#### ###") ), ( ("##### ##"), ("#### ###"), ("### ####"), ("## #####"), ("### ####"), ("#### ###"), ("##### ##"), ("########") ), ( ("########"), ("########"), ("# "), ("########"), ("# "), ("########"), ("########"), ("########") ), ( ("## #####"), ("### ####"), ("#### ###"), ("##### ##"), ("#### ###"), ("### ####"), ("## #####"), ("########") ), ( ("### ##"), ("## ### #"), ("###### #"), ("##### ##"), ("#### ###"), ("########"), ("#### ###"), ("########") ), ( ("### ##"), ("## ### #"), ("## # #"), ("## # # #"), ("## # #"), ("## #####"), ("### ##"), ("########") ), ( ("### ##"), ("## ### #"), ("## ### #"), ("## #"), ("## ### #"), ("## ### #"), ("## ### #"), ("########") ), ( ("## ##"), ("## ### #"), ("## ### #"), ("## ##"), ("## ### #"), ("## ### #"), ("## ##"), ("########") ), ( ("### ##"), ("## ### #"), ("## #####"), ("## #####"), ("## #####"), ("## ### #"), ("### ##"), ("########") ), ( ("## ##"), ("## ### #"), ("## ### #"), ("## ### #"), ("## ### #"), ("## ### #"), ("## ##"), ("########") ), ( ("## #"), ("## #####"), ("## #####"), ("## ##"), ("## #####"), ("## #####"), ("## #"), ("########") ), ( ("## #"), ("## #####"), ("## #####"), ("## #"), ("## #####"), ("## #####"), ("## #####"), ("########") ), ( ("### ##"), ("## ### #"), ("## #####"), ("## # #"), ("## ### #"), ("## ### #"), ("### ##"), ("########") ), ( ("## ### #"), ("## ### #"), ("## ### #"), ("## #"), ("## ### #"), ("## ### #"), ("## ### #"), ("########") ), ( ("### ##"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("### ##"), ("########") ), ( ("#### #"), ("##### ##"), ("##### ##"), ("##### ##"), ("## ## ##"), ("## ## ##"), ("### ###"), ("########") ), ( ("## ### #"), ("## ### #"), ("## ## ##"), ("## ###"), ("## ## ##"), ("## ### #"), ("## ### #"), ("########") ), ( ("### ####"), ("### ####"), ("### ####"), ("### ####"), ("### ####"), ("### ####"), ("### #"), ("########") ), ( ("# ##### "), ("# ### "), ("# # # # "), ("# ## ## "), ("# ##### "), ("# ##### "), ("# ##### "), ("########") ), ( ("## ### #"), ("## ## #"), ("## # # #"), ("## # # #"), ("## ## #"), ("## ### #"), ("## ### #"), ("########") ), ( ("### ##"), ("## ### #"), ("## ### #"), ("## ### #"), ("## ### #"), ("## ### #"), ("### ##"), ("########") ), ( ("### ##"), ("### ## #"), ("### ## #"), ("### ##"), ("### ####"), ("### ####"), ("### ####"), ("########") ), ( ("### ##"), ("## ### #"), ("## ### #"), ("## ### #"), ("## ### #"), ("## ### #"), ("### ##"), ("##### #") ), ( ("## ##"), ("## ### #"), ("## ### #"), ("## ##"), ("## # ###"), ("## ## ##"), ("## ### #"), ("########") ), ( ("### ##"), ("## ### #"), ("## #####"), ("### ##"), ("###### #"), ("## ### #"), ("### ##"), ("########") ), ( ("## #"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("########") ), ( ("## ### #"), ("## ### #"), ("## ### #"), ("## ### #"), ("## ### #"), ("## ### #"), ("### ##"), ("########") ), ( ("## ### #"), ("## ### #"), ("## ### #"), ("### # ##"), ("### # ##"), ("#### ###"), ("#### ###"), ("########") ), ( ("# ##### "), ("# ##### "), ("# ##### "), ("## # # #"), ("## # # #"), ("### # ##"), ("### # ##"), ("########") ), ( ("## ### #"), ("## ### #"), ("### # ##"), ("#### ###"), ("### # ##"), ("## ### #"), ("## ### #"), ("########") ), ( ("## ### #"), ("## ### #"), ("### # ##"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("########") ), ( ("## #"), ("###### #"), ("##### ##"), ("#### ###"), ("### ####"), ("## #####"), ("## #"), ("########") ), ( ("### ##"), ("### ####"), ("### ####"), ("### ####"), ("### ####"), ("### ####"), ("### ##"), ("########") ), ( ("# ######"), ("## #####"), ("### ####"), ("#### ###"), ("##### ##"), ("###### #"), ("####### "), ("########") ), ( ("### ##"), ("##### ##"), ("##### ##"), ("##### ##"), ("##### ##"), ("##### ##"), ("### ##"), ("########") ), ( ("#### ###"), ("### # ##"), ("## ### #"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("# ") ), ( ("### ####"), ("#### ###"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ), ( ("########"), ("### ##"), ("###### #"), ("### #"), ("## ### #"), ("## ### #"), ("### # "), ("########") ), ( ("### ####"), ("### ####"), ("### ##"), ("### ## #"), ("### ## #"), ("### ## #"), ("## # ##"), ("########") ), ( ("########"), ("########"), ("### ##"), ("## #####"), ("## #####"), ("## #####"), ("### ##"), ("########") ), ( ("###### #"), ("###### #"), ("#### #"), ("### ## #"), ("### ## #"), ("### ## #"), ("#### # "), ("########") ), ( ("########"), ("########"), ("### ##"), ("## ### #"), ("## #"), ("## #####"), ("### ##"), ("########") ), ( ("#### ##"), ("### ## #"), ("### ####"), ("## ###"), ("### ####"), ("### ####"), ("### ####"), ("########") ), ( ("########"), ("########"), ("### # "), ("## ### #"), ("## ### #"), ("### #"), ("###### #"), ("### ##") ), ( ("## #####"), ("## #####"), ("## # ##"), ("## ## #"), ("## ### #"), ("## ### #"), ("## ### #"), ("########") ), ( ("########"), ("#### ###"), ("########"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("########") ), ( ("########"), ("#### ###"), ("########"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("## ####") ), ( ("## #####"), ("## #####"), ("## ## ##"), ("## # ###"), ("## ####"), ("## # ###"), ("## ## ##"), ("########") ), ( ("### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("########") ), ( ("########"), ("########"), (" # # #"), ("# ## ## "), ("# ## ## "), ("# ##### "), ("# ##### "), ("########") ), ( ("########"), ("########"), ("## # ##"), ("### ## #"), ("### ## #"), ("### ## #"), ("### ## #"), ("########") ), ( ("########"), ("########"), ("### ##"), ("## ### #"), ("## ### #"), ("## ### #"), ("### ##"), ("########") ), ( ("########"), ("########"), ("## # ##"), ("### ## #"), ("### ## #"), ("### ##"), ("### ####"), ("### ####") ), ( ("########"), ("########"), ("### # #"), ("## ## ##"), ("## ## ##"), ("### ##"), ("##### ##"), ("##### ##") ), ( ("########"), ("########"), ("## # ##"), ("## ####"), ("## #####"), ("## #####"), ("## #####"), ("########") ), ( ("########"), ("########"), ("### ##"), ("## #####"), ("### ###"), ("##### ##"), ("## ###"), ("########") ), ( ("########"), ("#### ###"), ("### ##"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("########") ), ( ("########"), ("########"), ("## ## ##"), ("## ## ##"), ("## ## ##"), ("## ## ##"), ("### # #"), ("########") ), ( ("########"), ("########"), ("## ### #"), ("## ### #"), ("## ### #"), ("### # ##"), ("#### ###"), ("########") ), ( ("########"), ("########"), ("# ##### "), ("# ##### "), ("# ## ## "), ("# # # # "), ("## ### #"), ("########") ), ( ("########"), ("########"), ("## ### #"), ("### # ##"), ("#### ###"), ("### # ##"), ("## ### #"), ("########") ), ( ("########"), ("########"), ("### ## #"), ("### ## #"), ("### ## #"), ("#### #"), ("###### #"), ("### ##") ), ( ("########"), ("########"), ("## ##"), ("##### ##"), ("#### ###"), ("### ####"), ("## ##"), ("########") ), ( ("#### ##"), ("### ####"), ("### ####"), ("## #####"), ("### ####"), ("### ####"), ("#### ##"), ("########") ), ( ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("#### ###"), ("########") ), ( ("## ####"), ("#### ###"), ("#### ###"), ("##### ##"), ("#### ###"), ("#### ###"), ("## ####"), ("########") ), ( ("########"), ("########"), ("## ####"), ("# ## ## "), ("##### #"), ("########"), ("########"), ("########") ), ( ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########"), ("########") ) )