···11+# -*- coding: utf-8 -*-
12import re
33+import sys
44+import time
25import fileinput
66+37from utils import parse_line
4859WIDTH = 50
610HEIGHT = 6
711SCREEN = [[False for _ in range(WIDTH)] for _ in range(HEIGHT)]
1212+1313+# Make space for animated output
1414+print '\n' * HEIGHT
815916for line in fileinput.input():
1017 if line.startswith('rect'):
···2734 for i, x in enumerate(temp):
2835 SCREEN[(offset+i) % HEIGHT][n] = x
29363030-print "Number of lit pixels: %i" % sum(sum(row) for row in SCREEN)
31373232-for row in SCREEN:
3333- print ''.join('#' if x else ' ' for x in row)
3838+ sys.stdout.write('\033[F' * HEIGHT)
3939+4040+ for row in SCREEN:
4141+ print ''.join('█' if x else ' ' for x in row)
4242+4343+ time.sleep(0.02)
4444+4545+print "\nNumber of lit pixels: %i" % sum(sum(row) for row in SCREEN)