The Shining: typewriter scripting

I wanted to write a simple script to mimic a typewriter typing The Shining’s “All work and no play” lines. I wrote it in python first, but then decided to re-write it in JavaScript. The Python is more complex than it needs to be, but I wanted to practice generators.


Python:

#!/usr/bin/env python3
import time
import random

jack = "All work and no play makes Nick a dull boy. "
PROB_SKIP = 0.01

def sometimes(percent=0.50):
  return random.random() < percent

def all_work():
  while True:
    for c in jack:
      if sometimes(PROB_SKIP):
        continue
      yield c
      time.sleep(0.050)
    time.sleep(0.400)

if __name__ == '__main__':
  for work in all_work():
    print("{work}".format(work=work), end=" ", flush=True)

Javascript:

function typer(text, n) {
  if (n < (text.length)) {
    document.getElementById("typer").innerHTML = text.substring(0, n++);
    setTimeout(function() { typer(text, n) }, 100);
  }
}

comments powered by Disqus