rules_ai 0.1.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rules_ai.rb +372 -216
- data/lib/rules_ai/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 7878a0a5df36a236fe35cb77739cbaf25185e5a2f90a7a8af8ebebb7704973a7
         | 
| 4 | 
            +
              data.tar.gz: cf736128214579c84d5c1634daa51d66a936fff11c6ab8b30c8c840155223b56
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: c6f3154a21c7b00d49d5c7edb602432a25a2bf299e2463a168db94090bbd5d3df3d4162f16be5f93e37642b9dbbfce5a07c18c53908a0ae84824d428770ef7d9
         | 
| 7 | 
            +
              data.tar.gz: 8d34985463cf666370043019e7d7de20d01155627cf8f4debf3e28203834a997192f3db02c5015a944d74826155b173119921a99611a8673e80f517e3925b670
         | 
    
        data/lib/rules_ai.rb
    CHANGED
    
    | @@ -6,24 +6,21 @@ module RulesAi | |
| 6 6 | 
             
              # Your code goes here...
         | 
| 7 7 | 
             
              class Rules_Set
         | 
| 8 8 | 
             
                def self.hours_passed
         | 
| 9 | 
            -
                   | 
| 10 | 
            -
                   | 
| 9 | 
            +
                  starting_time = 2%12
         | 
| 10 | 
            +
                  ending_time   = 3%12
         | 
| 11 11 |  | 
| 12 | 
            -
                   | 
| 13 | 
            -
                   | 
| 12 | 
            +
                  print "What is your working interval? >> "
         | 
| 13 | 
            +
                  time_interval = gets.chomp.to_i
         | 
| 14 14 |  | 
| 15 | 
            -
                   | 
| 15 | 
            +
                  hours_added_start   = starting_time + time_interval
         | 
| 16 | 
            +
                  hours_added_end     = ending_time + time_interval
         | 
| 16 17 |  | 
| 17 | 
            -
                   | 
| 18 | 
            -
                  second_ending_time   = second_starting_time + hours_passed
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                  puts "For starting time #{a} and ending time: #{b}: #{hours_passed} has passed."
         | 
| 21 | 
            -
                  puts "For starting time #{second_starting_time} and same hours passed: the second ending time is #{second_ending_time}"
         | 
| 18 | 
            +
                  puts "If starting time was #{starting_time}:00 and ending time was #{ending_time}:00, new time alottments is #{hours_added_start}:00 and #{hours_added_end}:00."
         | 
| 22 19 | 
             
                end
         | 
| 23 20 |  | 
| 24 21 | 
             
                def self.tesla_multiplication
         | 
| 25 | 
            -
                  input  = File.read(" | 
| 26 | 
            -
                  rounds = File.read(" | 
| 22 | 
            +
                  input  = File.read("evo_data/tesla_multiplication/number/input.txt").strip.to_f
         | 
| 23 | 
            +
                  rounds = File.read("evo_data/tesla_multiplication/number/input.txt").strip.to_i
         | 
| 27 24 |  | 
| 28 25 | 
             
                  if input > 100
         | 
| 29 26 | 
             
                    input = 0
         | 
| @@ -47,30 +44,32 @@ module RulesAi | |
| 47 44 | 
             
                end
         | 
| 48 45 |  | 
| 49 46 | 
             
                def self.autonomous_prompting
         | 
| 50 | 
            -
                   | 
| 47 | 
            +
                  system("tts 'Time To Get Up!'")
         | 
| 51 48 |  | 
| 52 | 
            -
                   | 
| 53 | 
            -
             | 
| 54 | 
            -
                   | 
| 49 | 
            +
                  monday_meds    = File.read("data/medication/monday_meds.txt").strip
         | 
| 50 | 
            +
                  tuesday_meds   = File.read("data/medication/tuesday_meds.txt").strip
         | 
| 51 | 
            +
                  wednesday_meds = File.read("data/medication/wednesday_meds.txt").strip
         | 
| 52 | 
            +
                  thursday_meds  = File.read("data/medication/thursday_meds.txt").strip
         | 
| 53 | 
            +
                  friday_meds    = File.read("data/medication/friday_meds.txt").strip
         | 
| 54 | 
            +
                  saturday_meds  = File.read("data/medication/saturday_meds.txt").strip
         | 
| 55 | 
            +
                  sunday_meds    = File.read("data/medication/sunday_meds.txt").strip
         | 
| 55 56 |  | 
| 56 | 
            -
                   | 
| 57 | 
            -
                    "brush_teeth",
         | 
| 58 | 
            -
                    "make_bed",
         | 
| 59 | 
            -
                    "go_run_laps",
         | 
| 60 | 
            -
                    "take_shower",
         | 
| 61 | 
            -
                  ]
         | 
| 62 | 
            -
             | 
| 63 | 
            -
                  if    version[number] == "brush_teeth"; system("tts 'Time to brush your teeth.', 'en'")
         | 
| 64 | 
            -
                  elsif version[number] ==    "make_bed"; system("tts 'Time to make your bed.', 'en'")
         | 
| 65 | 
            -
                  elsif version[number] == "go_run_laps"; system("tts 'Time to go run some laps.', 'en'")
         | 
| 66 | 
            -
                  elsif version[number] == "take_shower"; system("tts 'Time to take a shower.', 'en'")
         | 
| 67 | 
            -
                  end
         | 
| 57 | 
            +
                  system("date > data/time/date.txt")
         | 
| 68 58 |  | 
| 69 | 
            -
                   | 
| 59 | 
            +
                  data = File.read("data/time/date.txt").split(" ")
         | 
| 70 60 |  | 
| 71 | 
            -
                   | 
| 72 | 
            -
             | 
| 73 | 
            -
                  }
         | 
| 61 | 
            +
                  current_day = "#{data[0]}"
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                  puts "You need to take #{current_day}'s medication."
         | 
| 64 | 
            +
             | 
| 65 | 
            +
                  if    current_day == "Mon"; puts "Take: #{monday_meds}."
         | 
| 66 | 
            +
                  elsif current_day == "Tue"; puts "Take: #{tuesday_meds}."
         | 
| 67 | 
            +
                  elsif current_day == "Wed"; puts "Take: #{wednesday_meds}."
         | 
| 68 | 
            +
                  elsif current_day == "Thu"; puts "Take: #{thursday_meds}."
         | 
| 69 | 
            +
                  elsif current_day == "Fri"; puts "Take: #{friday_meds}."
         | 
| 70 | 
            +
                  elsif current_day == "Sat"; puts "Take: #{saturday_meds}."
         | 
| 71 | 
            +
                  elsif current_day == "Sun"; puts "Take: #{sunday_meds}."
         | 
| 72 | 
            +
                  end
         | 
| 74 73 | 
             
                end
         | 
| 75 74 |  | 
| 76 75 | 
             
                def self.greet_user
         | 
| @@ -81,20 +80,132 @@ module RulesAi | |
| 81 80 |  | 
| 82 81 | 
             
                ## Simple reciprocal cipher with randomized key.
         | 
| 83 82 | 
             
                def self.mixed_13
         | 
| 84 | 
            -
                  alph = File.read("keyset/alph.txt").strip
         | 
| 85 | 
            -
                  beta = File.read("keyset/beta.txt").strip
         | 
| 83 | 
            +
                  alph = File.read("evo_data/keyset/alph.txt").strip
         | 
| 84 | 
            +
                  beta = File.read("evo_data/keyset/beta.txt").strip
         | 
| 86 85 |  | 
| 87 | 
            -
                  input = File.read("documents/plaintext.txt").to_s. | 
| 86 | 
            +
                  input = File.read("evo_data/documents/plaintext.txt").to_s.downcase
         | 
| 88 87 |  | 
| 89 88 | 
             
                  ciphertext = input.tr alph, beta
         | 
| 90 89 |  | 
| 91 | 
            -
                  open("documents/ciphertext.txt", "w") { |f|
         | 
| 90 | 
            +
                  open("evo_data/documents/ciphertext.txt", "w") { |f|
         | 
| 92 91 | 
             
                    f.puts ciphertext
         | 
| 93 92 | 
             
                  }
         | 
| 94 93 | 
             
                end
         | 
| 95 94 |  | 
| 96 | 
            -
                 | 
| 97 | 
            -
             | 
| 95 | 
            +
                def self.write_poetry
         | 
| 96 | 
            +
                  ## Read In Each Poem
         | 
| 97 | 
            +
                  allistodust               = File.read("syllables/allistodust.txt").strip
         | 
| 98 | 
            +
                  alongforestgreen          = File.read("syllables/alongforestgreen.txt").strip
         | 
| 99 | 
            +
                  anarchojean               = File.read("syllables/anarchojean.txt").strip
         | 
| 100 | 
            +
                  atmydoor                  = File.read("syllables/atmydoor.txt").strip
         | 
| 101 | 
            +
                  badinbed                  = File.read("syllables/badinbed.txt").strip
         | 
| 102 | 
            +
                  beingmyself               = File.read("syllables/castleofthesea.txt").strip
         | 
| 103 | 
            +
                  coping                    = File.read("syllables/coping.txt").strip
         | 
| 104 | 
            +
                  devilgoodcompany          = File.read("syllables/devilgoodcompany.txt").strip
         | 
| 105 | 
            +
                  dianacyberneticdreams     = File.read("syllables/dianacyberneticdreams.txt").strip
         | 
| 106 | 
            +
                  dontfallback              = File.read("syllables/droptheidealogies.txt").strip
         | 
| 107 | 
            +
                  flalaikurose              = File.read("syllables/flalaikurose.txt").strip
         | 
| 108 | 
            +
                  girlnothingbutadream      = File.read("syllables/goodopticsinthetropics.txt").strip
         | 
| 109 | 
            +
                  haywiremeltingdown        = File.read("syllables/haywiremeltingdown.txt").strip
         | 
| 110 | 
            +
                  inthislandoftennessee     = File.read("syllables/inthislandoftennessee.txt").strip
         | 
| 111 | 
            +
                  invisibleminorities       = File.read("syllables/invisibleminorities.txt").strip
         | 
| 112 | 
            +
                  juicyneonsteak            = File.read("syllables/juicyneonsteak.txt").strip
         | 
| 113 | 
            +
                  lackofcommunication       = File.read("syllables/lackofcommunication.txt").strip
         | 
| 114 | 
            +
                  laimencoformoonlight      = File.read("syllables/laimencoformoonlight.txt").strip
         | 
| 115 | 
            +
                  leadwithfeelingnotthemind = File.read("syllables/leadwithfeelingnotthemind.txt").strip
         | 
| 116 | 
            +
                  littleants                = File.read("syllables/littleants.txt").strip
         | 
| 117 | 
            +
                  lonelypetalswither        = File.read("syllables/lonelypetalswither.txt").strip
         | 
| 118 | 
            +
                  marrowlust                = File.read("syllables/marrowlust.txt").strip
         | 
| 119 | 
            +
                  mmesmiled                 = File.read("syllables/mmesmiled.txt").strip
         | 
| 120 | 
            +
                  momentarysilence          = File.read("syllables/nightlystatues.txt").strip
         | 
| 121 | 
            +
                  neveradrollmoment         = File.read("syllables/neveradrollmoment.txt").strip
         | 
| 122 | 
            +
                  newlaconia                = File.read("syllables/newlaconia.txt").strip
         | 
| 123 | 
            +
                  nightlystatues            = File.read("syllables/policestate.txt").strip
         | 
| 124 | 
            +
                  sentimentality            = File.read("syllables/sentimentality.txt").strip
         | 
| 125 | 
            +
                  shadowonthewall           = File.read("syllables/shadowonthewall.txt").strip
         | 
| 126 | 
            +
                  shotgungirl               = File.read("syllables/shotgungirl.txt").strip
         | 
| 127 | 
            +
                  skeletonsfinallaugh       = File.read("syllables/skeletonsfinallaugh.txt").strip
         | 
| 128 | 
            +
                  sliceoflife               = File.read("syllables/sliceoflife.txt").strip
         | 
| 129 | 
            +
                  spidersandtheghost        = File.read("syllables/spidersandtheghost.txt").strip
         | 
| 130 | 
            +
                  superyacht                = File.read("syllables/superyacht.txt").strip
         | 
| 131 | 
            +
                  thegirlwiththerosecheeks  = File.read("syllables/thegirlwiththerosecheeks.txt").strip
         | 
| 132 | 
            +
                  turntodust                = File.read("syllables/turntodust.txt").strip
         | 
| 133 | 
            +
                  undertheweepingwillowtree = File.read("syllables/undertheweepingwillowtree.txt").strip
         | 
| 134 | 
            +
                  unravelingfriendship      = File.read("syllables/unravelingfriendship.txt").strip
         | 
| 135 | 
            +
                  waitinginthewall          = File.read("syllables/waitinginthewall.txt").strip
         | 
| 136 | 
            +
                  whattheysayofrome         = File.read("syllables/whattheysayofrome.txt").strip
         | 
| 137 | 
            +
                  windmillsong              = File.read("syllables/windmillsong.txt").strip
         | 
| 138 | 
            +
             | 
| 139 | 
            +
                  ## Assign Each Poem To Large String
         | 
| 140 | 
            +
                  super_poem = "
         | 
| 141 | 
            +
                  #{allistodust}
         | 
| 142 | 
            +
                  #{alongforestgreen}
         | 
| 143 | 
            +
                  #{anarchojean}
         | 
| 144 | 
            +
                  #{atmydoor}
         | 
| 145 | 
            +
                  #{badinbed}
         | 
| 146 | 
            +
                  #{beingmyself}
         | 
| 147 | 
            +
                  #{coping}
         | 
| 148 | 
            +
                  #{devilgoodcompany}
         | 
| 149 | 
            +
                  #{dianacyberneticdreams}
         | 
| 150 | 
            +
                  #{dontfallback}
         | 
| 151 | 
            +
                  #{flalaikurose}
         | 
| 152 | 
            +
                  #{girlnothingbutadream}
         | 
| 153 | 
            +
                  #{haywiremeltingdown}
         | 
| 154 | 
            +
                  #{inthislandoftennessee}
         | 
| 155 | 
            +
                  #{invisibleminorities}
         | 
| 156 | 
            +
                  #{juicyneonsteak}
         | 
| 157 | 
            +
                  #{lackofcommunication}
         | 
| 158 | 
            +
                  #{laimencoformoonlight}
         | 
| 159 | 
            +
                  #{leadwithfeelingnotthemind}
         | 
| 160 | 
            +
                  #{littleants}
         | 
| 161 | 
            +
                  #{lonelypetalswither}
         | 
| 162 | 
            +
                  #{marrowlust}
         | 
| 163 | 
            +
                  #{mmesmiled}
         | 
| 164 | 
            +
                  #{momentarysilence}
         | 
| 165 | 
            +
                  #{neveradrollmoment}
         | 
| 166 | 
            +
                  #{newlaconia}
         | 
| 167 | 
            +
                  #{nightlystatues}
         | 
| 168 | 
            +
                  #{sentimentality}
         | 
| 169 | 
            +
                  #{shadowonthewall}
         | 
| 170 | 
            +
                  #{shotgungirl}
         | 
| 171 | 
            +
                  #{skeletonsfinallaugh}
         | 
| 172 | 
            +
                  #{sliceoflife}
         | 
| 173 | 
            +
                  #{spidersandtheghost}
         | 
| 174 | 
            +
                  #{superyacht}
         | 
| 175 | 
            +
                  #{thegirlwiththerosecheeks}
         | 
| 176 | 
            +
                  #{turntodust}
         | 
| 177 | 
            +
                  #{undertheweepingwillowtree}
         | 
| 178 | 
            +
                  #{unravelingfriendship}
         | 
| 179 | 
            +
                  #{waitinginthewall}
         | 
| 180 | 
            +
                  #{whattheysayofrome}
         | 
| 181 | 
            +
                  #{windmillsong}
         | 
| 182 | 
            +
                  ".split(" ").shuffle
         | 
| 183 | 
            +
             | 
| 184 | 
            +
                  possible_lines = [1, 2, 3, 4, 5, 6, 7, 8].shuffle
         | 
| 185 | 
            +
             | 
| 186 | 
            +
                  ## Output New Poem From Shuffled String
         | 
| 187 | 
            +
                  line_1 = super_poem[possible_lines[0]]
         | 
| 188 | 
            +
                  line_2 = super_poem[possible_lines[1]]
         | 
| 189 | 
            +
                  line_3 = super_poem[possible_lines[2]]
         | 
| 190 | 
            +
                  line_4 = super_poem[possible_lines[3]]
         | 
| 191 | 
            +
                  line_5 = super_poem[possible_lines[4]]
         | 
| 192 | 
            +
                  line_6 = super_poem[possible_lines[5]]
         | 
| 193 | 
            +
                  line_7 = super_poem[possible_lines[6]]
         | 
| 194 | 
            +
                  line_8 = super_poem[possible_lines[7]]
         | 
| 195 | 
            +
             | 
| 196 | 
            +
                  open("output/poetry/poem.txt", "w") { |f|
         | 
| 197 | 
            +
                    f.puts "
         | 
| 198 | 
            +
                  #{line_1}
         | 
| 199 | 
            +
                  #{line_2}
         | 
| 200 | 
            +
                  #{line_3}
         | 
| 201 | 
            +
                  #{line_4}
         | 
| 202 | 
            +
                  #{line_5}
         | 
| 203 | 
            +
                  #{line_6}
         | 
| 204 | 
            +
                  #{line_7}
         | 
| 205 | 
            +
                  #{line_8}
         | 
| 206 | 
            +
                    "
         | 
| 207 | 
            +
                  }
         | 
| 208 | 
            +
                end
         | 
| 98 209 |  | 
| 99 210 | 
             
                def self.estimate_digest
         | 
| 100 211 | 
             
                  ream_size = 4
         | 
| @@ -125,184 +236,229 @@ module RulesAi | |
| 125 236 | 
             
                  puts "The total ream count is: #{actual_multiplier} reams of #{ream_size} pages."
         | 
| 126 237 | 
             
                  puts "With front and back cover, the final bound book is #{total_count} pages."
         | 
| 127 238 | 
             
                end
         | 
| 239 | 
            +
             | 
| 240 | 
            +
                def self.calculate_hyper
         | 
| 241 | 
            +
                  print "What is the size of x? >> "; x = gets.chomp.to_i
         | 
| 242 | 
            +
                  print "What is the size of y? >> "; y = gets.chomp.to_i
         | 
| 243 | 
            +
                  print "What is the size of z? >> "; z = gets.chomp.to_i
         | 
| 244 | 
            +
             | 
| 245 | 
            +
                  square_x = x * 48
         | 
| 246 | 
            +
                  square_y = y * 48
         | 
| 247 | 
            +
                  square_z = z * 48
         | 
| 248 | 
            +
             | 
| 249 | 
            +
                  inches       =        x +        y +        z
         | 
| 250 | 
            +
                  hyper_inches = square_x + square_y + square_z
         | 
| 251 | 
            +
             | 
| 252 | 
            +
                  puts "\nThe size of the w axis of x is hyper distance #{square_x}"
         | 
| 253 | 
            +
                  puts "The size of the w axis of y is hyper distance #{square_y}"
         | 
| 254 | 
            +
                  puts "The size of the w axis of z is hyper distance #{square_z}"
         | 
| 255 | 
            +
             | 
| 256 | 
            +
                  puts "The hyper inches of the tessaract is #{hyper_inches} hyper distance."
         | 
| 257 | 
            +
                end
         | 
| 258 | 
            +
             | 
| 259 | 
            +
                def self.line
         | 
| 260 | 
            +
                  puts '
         | 
| 261 | 
            +
                   +----------------+
         | 
| 262 | 
            +
                  '
         | 
| 263 | 
            +
                end
         | 
| 264 | 
            +
             | 
| 265 | 
            +
                def self.square
         | 
| 266 | 
            +
                  puts '
         | 
| 267 | 
            +
               +----------------+
         | 
| 268 | 
            +
               |                |
         | 
| 269 | 
            +
               |                |
         | 
| 270 | 
            +
               |                |
         | 
| 271 | 
            +
               |                |
         | 
| 272 | 
            +
               |                |
         | 
| 273 | 
            +
               |                |
         | 
| 274 | 
            +
               |                |
         | 
| 275 | 
            +
               +----------------+
         | 
| 276 | 
            +
                  '
         | 
| 277 | 
            +
                end
         | 
| 278 | 
            +
             | 
| 279 | 
            +
                def self.cube
         | 
| 280 | 
            +
                  puts '
         | 
| 281 | 
            +
               +----------------+
         | 
| 282 | 
            +
               |\               |\
         | 
| 283 | 
            +
               | \              | \
         | 
| 284 | 
            +
               |  \             |  \
         | 
| 285 | 
            +
               |   +------------+---+
         | 
| 286 | 
            +
               |   |            |   |
         | 
| 287 | 
            +
               |   |            |   |
         | 
| 288 | 
            +
               |   |            |   |
         | 
| 289 | 
            +
               +---+------------+   |
         | 
| 290 | 
            +
                \  |             \  |
         | 
| 291 | 
            +
                 \ |              \ |
         | 
| 292 | 
            +
                  \|               \|
         | 
| 293 | 
            +
                   +----------------+
         | 
| 294 | 
            +
                  '
         | 
| 295 | 
            +
                end
         | 
| 296 | 
            +
             | 
| 297 | 
            +
                def self.hyper
         | 
| 298 | 
            +
                  puts '
         | 
| 299 | 
            +
                            +----------------+
         | 
| 300 | 
            +
                           /|\              /|\
         | 
| 301 | 
            +
                          / | \            / | \
         | 
| 302 | 
            +
                         /  |  \          /  |  \
         | 
| 303 | 
            +
                        /   |   +--------+---+---+
         | 
| 304 | 
            +
                       /    |  /|       /    |  /|
         | 
| 305 | 
            +
                      /     | / |      /     | / |
         | 
| 306 | 
            +
                     /      |/  |     /      |/  |
         | 
| 307 | 
            +
                    /       +---+----+-------+   |
         | 
| 308 | 
            +
                   /       / \  |   /       / \  |
         | 
| 309 | 
            +
                  /       /   \ |  /       /   \ |
         | 
| 310 | 
            +
                 /       /     \| /       /     \|
         | 
| 311 | 
            +
               +--------+-------+--------+-------+
         | 
| 312 | 
            +
               |\      /       /|\      /       /
         | 
| 313 | 
            +
               | \    /       / | \    /       /
         | 
| 314 | 
            +
               |  \  /       /  |  \  /       /
         | 
| 315 | 
            +
               |   ++-------+---+---+/       /
         | 
| 316 | 
            +
               |   +       /    |   +       /
         | 
| 317 | 
            +
               |  /|      /     |  /|      /
         | 
| 318 | 
            +
               | / |     /      | / |     /
         | 
| 319 | 
            +
               +---+----+-------+/  |    /
         | 
| 320 | 
            +
                \  |   /         \  |   /
         | 
| 321 | 
            +
                 \ |  /           \ |  /
         | 
| 322 | 
            +
                  \| /             \| /
         | 
| 323 | 
            +
                   +----------------+
         | 
| 324 | 
            +
                  '
         | 
| 325 | 
            +
                end
         | 
| 326 | 
            +
             | 
| 327 | 
            +
              end
         | 
| 328 | 
            +
             | 
| 329 | 
            +
              class RuleCalculation
         | 
| 330 | 
            +
                def self.calculate_metarules
         | 
| 331 | 
            +
                  print "How many regular rules? >> "
         | 
| 332 | 
            +
             | 
| 333 | 
            +
                  r = gets.chomp.to_i
         | 
| 334 | 
            +
             | 
| 335 | 
            +
                  # For each amount of rules, meta rules is that many variations of rule combination.
         | 
| 336 | 
            +
                  meta_rule_count = r
         | 
| 337 | 
            +
                  meta_rule_size  = r * r
         | 
| 338 | 
            +
                  meta_total      = meta_rule_size * r
         | 
| 339 | 
            +
             | 
| 340 | 
            +
                  puts "For #{r} many regular rules, there are #{meta_rule_count} metarule variations of #{meta_rule_size} each. Totalling #{meta_total} lines of code."
         | 
| 341 | 
            +
                end
         | 
| 342 | 
            +
              end
         | 
| 343 | 
            +
             | 
| 344 | 
            +
              # Rulesets generated by the algorithm itself.
         | 
| 345 | 
            +
              class MetaRuleset
         | 
| 346 | 
            +
             | 
| 347 | 
            +
                def self.meta_rule_one
         | 
| 348 | 
            +
                  RulesAi::Rule_Set.estimate_digest
         | 
| 349 | 
            +
                  RulesAi::Rule_Set.autonomous_prompting
         | 
| 350 | 
            +
                  RulesAi::Rule_Set.calculate_hyper
         | 
| 351 | 
            +
                  RulesAi::Rule_Set.mixed_13
         | 
| 352 | 
            +
                  RulesAi::Rule_Set.hours_passed
         | 
| 353 | 
            +
                  RulesAi::Rule_Set.tesla_multiplication
         | 
| 354 | 
            +
                end
         | 
| 355 | 
            +
             | 
| 356 | 
            +
              end
         | 
| 357 | 
            +
             | 
| 358 | 
            +
              # Evolutionary Function that calls the rulesets.
         | 
| 359 | 
            +
              class Evo_Function
         | 
| 360 | 
            +
              end
         | 
| 361 | 
            +
             | 
| 362 | 
            +
              class Chatbot
         | 
| 363 | 
            +
             | 
| 364 | 
            +
                def self.bianca_name
         | 
| 365 | 
            +
                  bot_name  = File.read("bot_identity/name.txt").strip
         | 
| 366 | 
            +
                  your_name = File.read("usr_identity/name.txt").strip
         | 
| 367 | 
            +
             | 
| 368 | 
            +
                  puts "#{bot_name}: What is your name?"
         | 
| 369 | 
            +
                  print "#{your_name}: My name is "; my_name = gets.chomp
         | 
| 370 | 
            +
             | 
| 371 | 
            +
                  open("usr_identity/name.txt", "w") { |f|
         | 
| 372 | 
            +
                    f.puts my_name
         | 
| 373 | 
            +
                  }
         | 
| 374 | 
            +
             | 
| 375 | 
            +
                  puts "#{bot_name}: Nice to meet you, #{my_name}."
         | 
| 376 | 
            +
                end
         | 
| 377 | 
            +
             | 
| 378 | 
            +
                def self.bianca_pets
         | 
| 379 | 
            +
                  bot_name  = File.read("bot_identity/name.txt").strip
         | 
| 380 | 
            +
                  your_name = File.read("usr_identity/name.txt").strip
         | 
| 381 | 
            +
             | 
| 382 | 
            +
                  puts "#{bot_name}: Do you have a pet?"
         | 
| 383 | 
            +
                  print "#{your_name}: My pet is "; my_pet = gets.chomp
         | 
| 384 | 
            +
             | 
| 385 | 
            +
                  open("usr_identity/pet.txt", "w") { |f|
         | 
| 386 | 
            +
                    f.puts my_pet
         | 
| 387 | 
            +
                  }
         | 
| 388 | 
            +
             | 
| 389 | 
            +
                  puts "#{bot_name}: You have a nice #{my_pet}."
         | 
| 390 | 
            +
                end
         | 
| 391 | 
            +
             | 
| 392 | 
            +
                def self.bianca_hobby
         | 
| 393 | 
            +
                  bot_name  = File.read("bot_identity/name.txt").strip
         | 
| 394 | 
            +
                  your_name = File.read("usr_identity/name.txt").strip
         | 
| 395 | 
            +
             | 
| 396 | 
            +
                  puts "#{bot_name}: What is your hobby?"
         | 
| 397 | 
            +
                  print "#{your_name}: My hobby is "; my_hobby = gets.chomp
         | 
| 398 | 
            +
             | 
| 399 | 
            +
                  open("usr_identity/hobby.txt", "w") { |f|
         | 
| 400 | 
            +
                    f.puts my_hobby
         | 
| 401 | 
            +
                  }
         | 
| 402 | 
            +
             | 
| 403 | 
            +
                  puts "#{bot_name}: You have a nice #{my_hobby}."
         | 
| 404 | 
            +
                end
         | 
| 405 | 
            +
             | 
| 406 | 
            +
                def self.bianca_jobs
         | 
| 407 | 
            +
                  bot_name  = File.read("bot_identity/name.txt").strip
         | 
| 408 | 
            +
                  your_name = File.read("usr_identity/name.txt").strip
         | 
| 409 | 
            +
             | 
| 410 | 
            +
                  puts "#{bot_name}: What is your job?"
         | 
| 411 | 
            +
                  print "#{your_name}: My job is "; my_job = gets.chomp
         | 
| 412 | 
            +
             | 
| 413 | 
            +
                  open("usr_identity/job.txt", "w") { |f|
         | 
| 414 | 
            +
                    f.puts my_job
         | 
| 415 | 
            +
                  }
         | 
| 416 | 
            +
             | 
| 417 | 
            +
                  puts "#{bot_name}: Sounds like #{my_job} is hard work."
         | 
| 418 | 
            +
                end
         | 
| 419 | 
            +
             | 
| 420 | 
            +
                def self.bianca_skills
         | 
| 421 | 
            +
                  bot_name  = File.read("bot_identity/name.txt").strip
         | 
| 422 | 
            +
                  your_name = File.read("usr_identity/name.txt").strip
         | 
| 423 | 
            +
             | 
| 424 | 
            +
                  puts "#{bot_name}: What is your skill?"
         | 
| 425 | 
            +
                  print "#{your_name}: My skill is "; my_skill = gets.chomp
         | 
| 426 | 
            +
             | 
| 427 | 
            +
                  open("usr_identity/skill.txt", "w") { |f|
         | 
| 428 | 
            +
                    f.puts my_skill
         | 
| 429 | 
            +
                  }
         | 
| 430 | 
            +
             | 
| 431 | 
            +
                  puts "#{bot_name}: #{my_skill} sounds like an interesting skill."
         | 
| 432 | 
            +
                end
         | 
| 128 433 | 
             
              end
         | 
| 129 434 |  | 
| 130 | 
            -
               | 
| 131 | 
            -
             | 
| 132 | 
            -
             | 
| 133 | 
            -
             | 
| 134 | 
            -
             | 
| 135 | 
            -
             | 
| 136 | 
            -
             | 
| 137 | 
            -
             | 
| 138 | 
            -
             | 
| 139 | 
            -
             | 
| 140 | 
            -
             | 
| 141 | 
            -
             | 
| 142 | 
            -
             | 
| 143 | 
            -
             | 
| 144 | 
            -
             | 
| 145 | 
            -
             | 
| 146 | 
            -
             | 
| 147 | 
            -
             | 
| 148 | 
            -
             | 
| 149 | 
            -
             | 
| 150 | 
            -
             | 
| 151 | 
            -
             | 
| 152 | 
            -
             | 
| 153 | 
            -
             | 
| 154 | 
            -
             | 
| 155 | 
            -
             | 
| 156 | 
            -
             | 
| 157 | 
            -
             | 
| 158 | 
            -
             | 
| 159 | 
            -
            #    # Space between the objects.
         | 
| 160 | 
            -
            #    def negative_perimeters
         | 
| 161 | 
            -
            #      # Base distance between objects.
         | 
| 162 | 
            -
            #      base_distance = 1_000_000_000
         | 
| 163 | 
            -
            #  
         | 
| 164 | 
            -
            #      # Estimated divider between specific objects to base distance.
         | 
| 165 | 
            -
            #      space_between_planets    = 43.8
         | 
| 166 | 
            -
            #      space_between_moons      = 14.6
         | 
| 167 | 
            -
            #      space_between_stars      = 876
         | 
| 168 | 
            -
            #      space_between_blackholes = 2628
         | 
| 169 | 
            -
            #    
         | 
| 170 | 
            -
            #      # Minimum distance between objects.
         | 
| 171 | 
            -
            #      planet_distance    = base_distance / space_between_planets
         | 
| 172 | 
            -
            #      moon_distance      = base_distance / space_between_moons
         | 
| 173 | 
            -
            #      star_distance      = base_distance / space_between_stars
         | 
| 174 | 
            -
            #      blackhole_distance = base_distance / space_between_blackholes
         | 
| 175 | 
            -
            #    
         | 
| 176 | 
            -
            #      # Actual distance between objects
         | 
| 177 | 
            -
            #      actual_planets    = planet_distance * 10
         | 
| 178 | 
            -
            #      actual_moons      = moon_distance * 10
         | 
| 179 | 
            -
            #      actual_stars      = star_distance * 10
         | 
| 180 | 
            -
            #      actual_blackholes = blackhole_distance * 10
         | 
| 181 | 
            -
            #    
         | 
| 182 | 
            -
            #      # The output results of distance between objects.
         | 
| 183 | 
            -
            #      puts "The distance between planets is #{actual_planets} miles."; sleep(3)
         | 
| 184 | 
            -
            #      puts "The distance between moons is #{actual_moons} miles."; sleep(3)
         | 
| 185 | 
            -
            #      puts "The distance between stars is #{actual_stars} miles."; sleep(3)
         | 
| 186 | 
            -
            #      puts "The distance between blackholes is #{actual_blackholes} miles."; sleep(3)
         | 
| 187 | 
            -
            #    end
         | 
| 188 | 
            -
            #  
         | 
| 189 | 
            -
            #  end
         | 
| 190 | 
            -
            #
         | 
| 191 | 
            -
            #  # Changing perimeters
         | 
| 192 | 
            -
            #  class Dynamic_Perimeters
         | 
| 193 | 
            -
            #
         | 
| 194 | 
            -
            #    # The objects within the space.
         | 
| 195 | 
            -
            #    def positive_perimeters
         | 
| 196 | 
            -
            #      spaceship     = File.read("data/dynamic/positive_perimenters/spaceship_size.txt").strip.to_i
         | 
| 197 | 
            -
            #      space_station = spaceship * 200
         | 
| 198 | 
            -
            #      satalite      = space_station / 10
         | 
| 199 | 
            -
            #    
         | 
| 200 | 
            -
            #      puts "The total size of the space shuttle is #{spaceship} feet."; sleep(3)
         | 
| 201 | 
            -
            #      puts "The total size of the space station is #{space_station} feet."; sleep(3)
         | 
| 202 | 
            -
            #      puts "The total size of the satalite is #{satalite} feet."; sleep(3)
         | 
| 203 | 
            -
            #    end
         | 
| 204 | 
            -
            #  
         | 
| 205 | 
            -
            #    # Space between the objects.
         | 
| 206 | 
            -
            #    def negative_perimeters
         | 
| 207 | 
            -
            #      base_multiplier = 10
         | 
| 208 | 
            -
            #  
         | 
| 209 | 
            -
            #      # Minimum space between objects.
         | 
| 210 | 
            -
            #      space_between_spaceships = File.read("data/dynamic/negative_perimeters/space_between_spaceships.txt").strip.to_i
         | 
| 211 | 
            -
            #      space_between_station    = File.read("data/dynamic/negative_perimeters/space_between_station.txt").strip.to_i
         | 
| 212 | 
            -
            #      space_between_satalite   = File.read("data/dynamic/negative_perimeters/space_between_satalite.txt").strip.to_i
         | 
| 213 | 
            -
            #    
         | 
| 214 | 
            -
            #      # Actual space between objects
         | 
| 215 | 
            -
            #      actual_spaceship_distance = space_between_spaceships * base_multiplier
         | 
| 216 | 
            -
            #      actual_station_distance   = space_between_station * base_multiplier
         | 
| 217 | 
            -
            #      actual_satalite_distance  = space_between_satalite * base_multiplier
         | 
| 218 | 
            -
            #    
         | 
| 219 | 
            -
            #      puts "The minimum space between shuttles is #{actual_spaceship_distance} feet."; sleep(3)
         | 
| 220 | 
            -
            #      puts "The minimum space between stations is #{actual_station_distance} feet."; sleep(3)
         | 
| 221 | 
            -
            #      puts "The minimum space between satalites is #{actual_satalite_distance} feet."; sleep(3)
         | 
| 222 | 
            -
            #    end
         | 
| 223 | 
            -
            #
         | 
| 224 | 
            -
            #  end
         | 
| 225 | 
            -
            #
         | 
| 226 | 
            -
            #  class Chatbot
         | 
| 227 | 
            -
            # Bianca asks your name.
         | 
| 228 | 
            -
            #def bianca_name
         | 
| 229 | 
            -
            #  bot_name  = File.read("bot_identity/name.txt").strip
         | 
| 230 | 
            -
            #  your_name = File.read("usr_identity/name.txt").strip
         | 
| 231 | 
            -
            #
         | 
| 232 | 
            -
            #  puts "#{bot_name}: What is your name?"
         | 
| 233 | 
            -
            #  print "#{your_name}: My name is "; my_name = gets.chomp
         | 
| 234 | 
            -
            #
         | 
| 235 | 
            -
            #  open("usr_identity/name.txt", "w") { |f|
         | 
| 236 | 
            -
            #    f.puts my_name
         | 
| 237 | 
            -
            #  }
         | 
| 238 | 
            -
            #
         | 
| 239 | 
            -
            #  puts "#{bot_name}: Nice to meet you, #{my_name}."
         | 
| 240 | 
            -
            #end
         | 
| 241 | 
            -
            #
         | 
| 242 | 
            -
            # Bianca asks if you have a pet.
         | 
| 243 | 
            -
            #def bianca_pets
         | 
| 244 | 
            -
            #  bot_name  = File.read("bot_identity/name.txt").strip
         | 
| 245 | 
            -
            #  your_name = File.read("usr_identity/name.txt").strip
         | 
| 246 | 
            -
            #
         | 
| 247 | 
            -
            #  puts "#{bot_name}: Do you have a pet?"
         | 
| 248 | 
            -
            #  print "#{your_name}: My pet is "; my_pet = gets.chomp
         | 
| 249 | 
            -
            #
         | 
| 250 | 
            -
            #  open("usr_identity/pet.txt", "w") { |f|
         | 
| 251 | 
            -
            #    f.puts my_pet
         | 
| 252 | 
            -
            #  }
         | 
| 253 | 
            -
            #
         | 
| 254 | 
            -
            #  puts "#{bot_name}: You have a nice #{my_pet}."
         | 
| 255 | 
            -
            #end
         | 
| 256 | 
            -
            #
         | 
| 257 | 
            -
            # Bianca asks what your hobby is.
         | 
| 258 | 
            -
            #def bianca_hobby
         | 
| 259 | 
            -
            #  bot_name  = File.read("bot_identity/name.txt").strip
         | 
| 260 | 
            -
            #  your_name = File.read("usr_identity/name.txt").strip
         | 
| 261 | 
            -
            #
         | 
| 262 | 
            -
            #  puts "#{bot_name}: What is your hobby?"
         | 
| 263 | 
            -
            #  print "#{your_name}: My hobby is "; my_hobby = gets.chomp
         | 
| 264 | 
            -
            #
         | 
| 265 | 
            -
            #  open("usr_identity/hobby.txt", "w") { |f|
         | 
| 266 | 
            -
            #    f.puts my_hobby
         | 
| 267 | 
            -
            #  }
         | 
| 268 | 
            -
            #
         | 
| 269 | 
            -
            #  puts "#{bot_name}: You have a nice #{my_hobby}."
         | 
| 270 | 
            -
            #end
         | 
| 271 | 
            -
            #
         | 
| 272 | 
            -
            #def bianca_jobs
         | 
| 273 | 
            -
            #  bot_name  = File.read("bot_identity/name.txt").strip
         | 
| 274 | 
            -
            #  your_name = File.read("usr_identity/name.txt").strip
         | 
| 275 | 
            -
            #
         | 
| 276 | 
            -
            #  puts "#{bot_name}: What is your job?"
         | 
| 277 | 
            -
            #  print "#{your_name}: My job is "; my_job = gets.chomp
         | 
| 278 | 
            -
            #
         | 
| 279 | 
            -
            #  open("usr_identity/job.txt", "w") { |f|
         | 
| 280 | 
            -
            #    f.puts my_job
         | 
| 281 | 
            -
            #  }
         | 
| 282 | 
            -
            #
         | 
| 283 | 
            -
            #  puts "#{bot_name}: Sounds like #{my_job} is hard work."
         | 
| 284 | 
            -
            #end
         | 
| 285 | 
            -
            #
         | 
| 286 | 
            -
            #def bianca_skills
         | 
| 287 | 
            -
            #  bot_name  = File.read("bot_identity/name.txt").strip
         | 
| 288 | 
            -
            #  your_name = File.read("usr_identity/name.txt").strip
         | 
| 289 | 
            -
            #
         | 
| 290 | 
            -
            #  puts "#{bot_name}: What is your skill?"
         | 
| 291 | 
            -
            #  print "#{your_name}: My skill is "; my_skill = gets.chomp
         | 
| 292 | 
            -
            #
         | 
| 293 | 
            -
            #  open("usr_identity/skill.txt", "w") { |f|
         | 
| 294 | 
            -
            #    f.puts my_skill
         | 
| 295 | 
            -
            #  }
         | 
| 296 | 
            -
            #
         | 
| 297 | 
            -
            #  puts "#{bot_name}: #{my_skill} sounds like an interesting skill."
         | 
| 298 | 
            -
            #end
         | 
| 299 | 
            -
            #  
         | 
| 300 | 
            -
            #system("clear")
         | 
| 301 | 
            -
            #
         | 
| 302 | 
            -
            #bianca_name; sleep(3)
         | 
| 303 | 
            -
            #bianca_pets; sleep(3)
         | 
| 304 | 
            -
            #bianca_hobby; sleep(3)
         | 
| 305 | 
            -
            #bianca_jobs; sleep(3)
         | 
| 306 | 
            -
            #bianca_skills; sleep(3)
         | 
| 307 | 
            -
            #  end
         | 
| 435 | 
            +
              class New_Routine # Generates Meta rules
         | 
| 436 | 
            +
             | 
| 437 | 
            +
                def self.generate_ruleset
         | 
| 438 | 
            +
                  ruleset = File.readlines("evo_data/rules/input.txt")
         | 
| 439 | 
            +
             | 
| 440 | 
            +
                  numbers = "0 1 2 3 4 5".split(" ").shuffle
         | 
| 441 | 
            +
             | 
| 442 | 
            +
                  one = numbers[0].to_i
         | 
| 443 | 
            +
                  two = numbers[1].to_i
         | 
| 444 | 
            +
                  tre = numbers[2].to_i
         | 
| 445 | 
            +
                  fro = numbers[3].to_i
         | 
| 446 | 
            +
                  fiv = numbers[4].to_i
         | 
| 447 | 
            +
                  six = numbers[5].to_i
         | 
| 448 | 
            +
             | 
| 449 | 
            +
                  open("new_routine.rb", "w") { |f|
         | 
| 450 | 
            +
                    f.puts "require 'rules_ai'\n\n"
         | 
| 451 | 
            +
                    f.puts "RulesAi::Rule_Set.#{ruleset[one]}"
         | 
| 452 | 
            +
                    f.puts "RulesAi::Rule_Set.#{ruleset[two]}"
         | 
| 453 | 
            +
                    f.puts "RulesAi::Rule_Set.#{ruleset[tre]}"
         | 
| 454 | 
            +
                    f.puts "RulesAi::Rule_Set.#{ruleset[fro]}"
         | 
| 455 | 
            +
                    f.puts "RulesAi::Rule_Set.#{ruleset[fiv]}"
         | 
| 456 | 
            +
                    f.puts "RulesAi::Rule_Set.#{ruleset[six]}"
         | 
| 457 | 
            +
                  }
         | 
| 458 | 
            +
                end
         | 
| 459 | 
            +
             | 
| 460 | 
            +
                def self.test_rule
         | 
| 461 | 
            +
                  system("ruby new_routine.rb")
         | 
| 462 | 
            +
                end
         | 
| 463 | 
            +
              end
         | 
| 308 464 | 
             
            end
         | 
    
        data/lib/rules_ai/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rules_ai
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.6.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Gitea
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020-11- | 
| 11 | 
            +
            date: 2020-11-11 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies: []
         | 
| 13 13 | 
             
            description: This is a collection of different rules based functions, from calculating
         | 
| 14 14 | 
             
              how many hours have passed, tesla multiplication, autonomous prompting ( such as
         |