Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import sys
- from functools import partial
- from itertools import chain
- from random import randrange
- from subprocess import check_output
- from time import sleep
- clear_screen = partial(sys.stdout.write, '\033[2J')
- def cursor_at(row, column):
- sys.stdout.write('\033[{0};{1}H'.format(row, column))
- cursor_home = partial(cursor_at, 0, 0)
- def write_at(row, column, text):
- cursor_at(row, column)
- sys.stdout.write(text)
- def main():
- row_count, column_count = map(int, check_output(['stty', 'size']).split())
- flakes = list()
- clear_screen()
- while True:
- next_flakes = list()
- for row, column in chain(flakes, [(0, randrange(column_count))]):
- if row <= row_count:
- write_at(row, column, ' ')
- row += 1
- next_flakes.append((row, column))
- write_at(row, column, u'\u2743 ')
- cursor_home()
- flakes = next_flakes
- sys.stdout.flush()
- sleep(0.1)
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement