From 96d24f37778b04a592635b8c1565ebf260575d8a Mon Sep 17 00:00:00 2001 From: John Bintz <27256+johnbintz@users.noreply.github.com> Date: Wed, 28 Jul 2021 07:55:28 -0400 Subject: [PATCH] enough code to build the next bit of the animatic --- generate.rb | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 generate.rb diff --git a/generate.rb b/generate.rb new file mode 100755 index 0000000..3f48fe1 --- /dev/null +++ b/generate.rb @@ -0,0 +1,41 @@ +#!/usr/bin/env ruby + +# basic: scramble 26 letters so that none are the same + +LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + +@scrambled_letters = "" + +def is_scrambled? + @scrambled_letters.split(//).each_with_index do |letter, index| + return false if letter == LETTERS[index] + end + + true +end + +done = false + +while !done + @scrambled_letters = LETTERS.split(//).shuffle.join + + done = is_scrambled? +end + +@scrambled_letters.split(//).each_with_index do |letter, index| + puts "#{LETTERS[index]} - #{letter}" +end + +# advanced: add symbols that mean common letters that also modify +# the prior letter +# +# order based on http://pi.math.cornell.edu/~mec/2003-2004/cryptography/subs/frequencies.html + +COMMON_LETTERS = "ETAOINSRH" +SYMBOLS = "!@#$%&*+=" + +adjustments = COMMON_LETTERS.split(//).shuffle.each_with_index.each_with_object({}) do |(letter, index), obj| + obj[SYMBOLS[index]] = { letter: letter, prior_adjustment: rand(7)-3 } +end + +pp adjustments