Skip to content

Instantly share code, notes, and snippets.

@thinkpad20
Last active August 29, 2015 14:00
Show Gist options
  • Save thinkpad20/fffb89ddd50891f55ca5 to your computer and use it in GitHub Desktop.
Save thinkpad20/fffb89ddd50891f55ca5 to your computer and use it in GitHub Desktop.
Mario mushroom in pure html/css, generated by python. http://jsfiddle.net/z5c5U/
BLACK = {'background-color': 'black'}
WHITE = {'background-color': 'white'}
GREEN = {'background-color': 'green'}
_ = {}
colors = [BLACK, WHITE, GREEN, _]
pixel_size = 10
grid = [[_, _, _, _, _, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, _, _, _, _, _],
[_, _, _, BLACK, BLACK, BLACK, WHITE, GREEN, GREEN, WHITE, BLACK, BLACK, BLACK, _, _, _],
[_, _, BLACK, BLACK, WHITE, WHITE, WHITE, GREEN, GREEN, WHITE, WHITE, WHITE, BLACK, BLACK, _, _],
[_, BLACK, BLACK, GREEN, WHITE, WHITE, GREEN, GREEN, GREEN, GREEN, WHITE, WHITE, GREEN, BLACK, BLACK, _],
[_, BLACK, WHITE, GREEN, GREEN, GREEN, GREEN, GREEN, GREEN, GREEN, GREEN, GREEN, GREEN, WHITE, BLACK, _],
[BLACK, BLACK, WHITE, WHITE, GREEN, GREEN, WHITE, WHITE, WHITE, WHITE, GREEN, GREEN, WHITE, WHITE, BLACK, BLACK],
[BLACK, WHITE, WHITE, WHITE, GREEN, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, GREEN, WHITE, WHITE, WHITE, BLACK],
[BLACK, WHITE, WHITE, WHITE, GREEN, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, GREEN, WHITE, WHITE, WHITE, BLACK],
[BLACK, WHITE, WHITE, GREEN, GREEN, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, GREEN, GREEN, WHITE, WHITE, BLACK],
[BLACK, GREEN, GREEN, GREEN, GREEN, GREEN, WHITE, WHITE, WHITE, WHITE, GREEN, GREEN, GREEN, GREEN, GREEN, BLACK],
[BLACK, GREEN, GREEN, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, GREEN, GREEN, BLACK],
[BLACK, BLACK, BLACK, BLACK, WHITE, WHITE, BLACK, WHITE, WHITE, BLACK, WHITE, WHITE, BLACK, BLACK, BLACK, BLACK],
[_, BLACK, BLACK, WHITE, WHITE, WHITE, BLACK, WHITE, WHITE, BLACK, WHITE, WHITE, WHITE, BLACK, BLACK, _],
[_, _, BLACK, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, BLACK, _, _],
[_, _, BLACK, BLACK, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, WHITE, BLACK, BLACK, _, _],
[_, _, _, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, _, _, _]
]
def gen_css(grid):
result = '.pixel {\n width: %spx;\n height: %spx' % (pixel_size, pixel_size)
result += ';\n position: absolute;\n}\n'
for i, r in enumerate(grid):
for j, c in enumerate(r):
result += '#pixel-%s-%s {\n' % (i, j)
result += ' top: %spx;\n' % (i * pixel_size)
result += ' left: %spx;\n' % (j * pixel_size)
if 'background-color' in c:
result += ' background-color: %s;\n' % c['background-color']
result += '}\n'
return result
def gen_html(grid):
num_rows = len(grid)
num_cols = len(grid[0])
result = '<html><head><style>%s</style></head><body>\n' % gen_css(grid)
for i, row in enumerate(grid):
for j, pixel in enumerate(row):
result += '<div id="pixel-%s-%s" class="pixel"></div>' % (i, j)
result += '\n'
result += '</body></html>'
return result
with open('mushroom.html', 'w') as f:
f.write(gen_html(grid))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment