Skip to content

Instantly share code, notes, and snippets.

@danielneal
Last active July 1, 2019 11:11
Show Gist options
  • Save danielneal/9e59587fcf77a7bec8f38e8c10c7a180 to your computer and use it in GitHub Desktop.
Save danielneal/9e59587fcf77a7bec8f38e8c10c7a180 to your computer and use it in GitHub Desktop.
Terminal Fire
#!/usr/bin/python
import curses, random, webbrowser
screen = curses.initscr()
width = screen.getmaxyx()[1]
height = screen.getmaxyx()[0]
size = width*height
char = [" ", ".", ":", "^", "*", "x", "s", "S", "#", "$"]
b = []
curses.curs_set(0)
curses.start_color()
curses.init_pair(1,0,0)
curses.init_pair(2,1,0)
curses.init_pair(3,3,0)
curses.init_pair(4,4,0)
screen.clear
for i in range(size+width+1): b.append(0)
while 1:
for i in range(int(width/9)): b[int((random.random()*width)+width*(height-1))]=65
for i in range(size):
b[i]=int((b[i]+b[i+1]+b[i+width]+b[i+width+1])/4)
color=(4 if b[i]>15 else (3 if b[i]>9 else (2 if b[i]>4 else 1)))
if(i<size-1): screen.addstr( int(i/width),
i%width,
char[(9 if b[i]>9 else b[i])],
curses.color_pair(color) | curses.A_BOLD )
screen.refresh()
screen.timeout(30)
if (screen.getch()!=-1): break
curses.endwin()
webbrowser.open("https://www.youtube.com/watch?v=oHg5SJYRHA0")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment