rules_ai 0.2.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rules_ai.rb +217 -41
  3. data/lib/rules_ai/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 288b2167dde783360e7875c09ac620577c08d5f8dab22876a4058e9eb3aea1da
4
- data.tar.gz: 2cd87888de329e274910b9487c2065682279149691ce508df056b220a6e00e78
3
+ metadata.gz: 917312bdc11c8d360345f504f6a160d8c21d80b56b3c5ac06be35026e5d1f63c
4
+ data.tar.gz: 773c7dcc9056709b30d5e8a5cf4ab395c63846cbd88bb4ea310c420a6805c575
5
5
  SHA512:
6
- metadata.gz: 3952a4e1f0be18f47f997766800e6f72fc13f40919e547446a3132238d3db939d166090a03c35d5568b2a6165c506d4626d99eb06d23cf582c9705f94b66c758
7
- data.tar.gz: ad2576b892f6d494953279ff0245d315dab9bab2a528ddf41f288593ec17b0167f6a19a137b782eeadd20c26f60fd4e683e504789161b4f4fdf6ad3f5d3f623c
6
+ metadata.gz: 10a75fa6ac8e510d1a6d3f4f523db82fe7693080ae756314256dbae347eb09b3d121ba324826ef3b624c8c7f01649bb666e786843f8fb18fb7a6bf95272b7f05
7
+ data.tar.gz: 613f23e64aa1c446e5ad21676f56e62e1ba9c3ae3bab3edf27b16b30bb5c1a442ea909b475b588b7dc93b94fda85cf7cb19925065bf7e403bfd002fd84252137
@@ -6,24 +6,26 @@ module RulesAi
6
6
  # Your code goes here...
7
7
  class Rules_Set
8
8
  def self.hours_passed
9
- a = File.read("data/hours_passed/number/a_input.txt").strip.to_i
10
- b = File.read("data/hours_passed/number/b_input.txt").strip.to_i
9
+ bot_name = File.read("data/bot_identity/name.txt").strip
11
10
 
12
- starting_time = a
13
- ending_time = b
11
+ print "What is your starting time? >> "
12
+ starting_time = gets.chomp.strip.to_i # % 12
14
13
 
15
- hours_passed = ending_time - starting_time
14
+ print "What is your ending time? >> "
15
+ ending_time = gets.chomp.strip.to_i # %12
16
16
 
17
- second_starting_time = a + interval_a
18
- second_ending_time = second_starting_time + hours_passed
17
+ print "What is your working interval? >> "
18
+ time_interval = gets.chomp.to_i
19
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}"
20
+ hours_added_start = starting_time + time_interval
21
+ hours_added_end = ending_time + time_interval
22
+
23
+ puts "#{bot_name}: If starting time was #{starting_time}:00 and ending time was #{ending_time}:00,\nthe new time alottments are #{hours_added_start}:00 and #{hours_added_end}:00."
22
24
  end
23
25
 
24
26
  def self.tesla_multiplication
25
- input = File.read("data/tesla_multiplication/number/input.txt").strip.to_f
26
- rounds = File.read("data/tesla_multiplication/number/input.txt").strip.to_i
27
+ input = File.read("evo_data/tesla_multiplication/number/input.txt").strip.to_f
28
+ rounds = File.read("evo_data/tesla_multiplication/number/input.txt").strip.to_i
27
29
 
28
30
  if input > 100
29
31
  input = 0
@@ -47,30 +49,32 @@ module RulesAi
47
49
  end
48
50
 
49
51
  def self.autonomous_prompting
50
- number = File.read("data/autonomous_prompting/input/number.txt").strip.to_i
52
+ system("tts 'Time To Get Up!'")
51
53
 
52
- if number > 3
53
- number = 0
54
- end
54
+ monday_meds = File.read("data/medication/monday_meds.txt").strip
55
+ tuesday_meds = File.read("data/medication/tuesday_meds.txt").strip
56
+ wednesday_meds = File.read("data/medication/wednesday_meds.txt").strip
57
+ thursday_meds = File.read("data/medication/thursday_meds.txt").strip
58
+ friday_meds = File.read("data/medication/friday_meds.txt").strip
59
+ saturday_meds = File.read("data/medication/saturday_meds.txt").strip
60
+ sunday_meds = File.read("data/medication/sunday_meds.txt").strip
55
61
 
56
- version = [
57
- "brush_teeth",
58
- "make_bed",
59
- "go_run_laps",
60
- "take_shower",
61
- ]
62
+ system("date > data/time/date.txt")
62
63
 
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
64
+ data = File.read("data/time/date.txt").split(" ")
68
65
 
69
- number = number + 1
66
+ current_day = "#{data[0]}"
70
67
 
71
- open("data/input/number.txt", "w") { |f|
72
- f.puts number
73
- }
68
+ puts "You need to take #{current_day}'s medication."
69
+
70
+ if current_day == "Mon"; puts "Take: #{monday_meds}."
71
+ elsif current_day == "Tue"; puts "Take: #{tuesday_meds}."
72
+ elsif current_day == "Wed"; puts "Take: #{wednesday_meds}."
73
+ elsif current_day == "Thu"; puts "Take: #{thursday_meds}."
74
+ elsif current_day == "Fri"; puts "Take: #{friday_meds}."
75
+ elsif current_day == "Sat"; puts "Take: #{saturday_meds}."
76
+ elsif current_day == "Sun"; puts "Take: #{sunday_meds}."
77
+ end
74
78
  end
75
79
 
76
80
  def self.greet_user
@@ -81,20 +85,148 @@ module RulesAi
81
85
 
82
86
  ## Simple reciprocal cipher with randomized key.
83
87
  def self.mixed_13
84
- alph = File.read("keyset/alph.txt").strip
85
- beta = File.read("keyset/beta.txt").strip
88
+ alph = File.read("evo_data/keyset/alph.txt").strip
89
+ beta = File.read("evo_data/keyset/beta.txt").strip
86
90
 
87
- input = File.read("documents/plaintext.txt").to_s.upcase
91
+ input = File.read("evo_data/documents/plaintext.txt").to_s.downcase
88
92
 
89
93
  ciphertext = input.tr alph, beta
90
94
 
91
- open("documents/ciphertext.txt", "w") { |f|
95
+ open("evo_data/documents/ciphertext.txt", "w") { |f|
92
96
  f.puts ciphertext
93
97
  }
94
98
  end
95
99
 
96
- #def self.write_poetry
97
- #end
100
+ def self.write_poetry
101
+ ## Read In Each Poem
102
+ allistodust = File.read("syllables/allistodust.txt").strip
103
+ alongforestgreen = File.read("syllables/alongforestgreen.txt").strip
104
+ anarchojean = File.read("syllables/anarchojean.txt").strip
105
+ atmydoor = File.read("syllables/atmydoor.txt").strip
106
+ badinbed = File.read("syllables/badinbed.txt").strip
107
+ beingmyself = File.read("syllables/castleofthesea.txt").strip
108
+ coping = File.read("syllables/coping.txt").strip
109
+ devilgoodcompany = File.read("syllables/devilgoodcompany.txt").strip
110
+ dianacyberneticdreams = File.read("syllables/dianacyberneticdreams.txt").strip
111
+ dontfallback = File.read("syllables/dontfallback.txt").strip
112
+ droptheidealogies = File.read("syllables/droptheideologies.txt").strip
113
+ flalaikurose = File.read("syllables/flalaikurose.txt").strip
114
+ girlnothingbutadream = File.read("syllables/goodopticsinthetropics.txt").strip
115
+ haywiremeltingdown = File.read("syllables/haywiremeltingdown.txt").strip
116
+ inthislandoftennessee = File.read("syllables/inthislandoftennessee.txt").strip
117
+ invisibleminorities = File.read("syllables/invisibleminorities.txt").strip
118
+ juicyneonsteak = File.read("syllables/juicyneonsteak.txt").strip
119
+ lackofcommunication = File.read("syllables/lackofcommunication.txt").strip
120
+ laimencoformoonlight = File.read("syllables/laimencoformoonlight.txt").strip
121
+ leadwithfeelingnotthemind = File.read("syllables/leadwithfeelingnotthemind.txt").strip
122
+ littleants = File.read("syllables/littleants.txt").strip
123
+ lonelypetalswither = File.read("syllables/lonelypetalswither.txt").strip
124
+ marrowlust = File.read("syllables/marrowlust.txt").strip
125
+ mmesmiled = File.read("syllables/mmesmiled.txt").strip
126
+ momentarysilence = File.read("syllables/nightlystatues.txt").strip
127
+ neveradrollmoment = File.read("syllables/neveradrollmoment.txt").strip
128
+ newlaconia = File.read("syllables/newlaconia.txt").strip
129
+ nightlystatues = File.read("syllables/policestate.txt").strip
130
+ sentimentality = File.read("syllables/sentimentality.txt").strip
131
+ shadowonthewall = File.read("syllables/shadowonthewall.txt").strip
132
+ shotgungirl = File.read("syllables/shotgungirl.txt").strip
133
+ skeletonsfinallaugh = File.read("syllables/skeletonsfinallaugh.txt").strip
134
+ sliceoflife = File.read("syllables/sliceoflife.txt").strip
135
+ spidersandtheghost = File.read("syllables/spidersandtheghost.txt").strip
136
+ superyacht = File.read("syllables/superyacht.txt").strip
137
+ thegirlwiththerosecheeks = File.read("syllables/thegirlwiththerosecheeks.txt").strip
138
+ turntodust = File.read("syllables/turntodust.txt").strip
139
+ undertheweepingwillowtree = File.read("syllables/undertheweepingwillowtree.txt").strip
140
+ unravelingfriendship = File.read("syllables/unravelingfriendship.txt").strip
141
+ waitinginthewall = File.read("syllables/waitinginthewall.txt").strip
142
+ whattheysayofrome = File.read("syllables/whattheysayofrome.txt").strip
143
+ windmillsong = File.read("syllables/windmillsong.txt").strip
144
+
145
+ ## Assign Each Poem To Large String
146
+ super_poem = [
147
+ allistodust,
148
+ alongforestgreen,
149
+ anarchojean,
150
+ atmydoor,
151
+ badinbed,
152
+ beingmyself,
153
+ coping,
154
+ devilgoodcompany,
155
+ dianacyberneticdreams,
156
+ dontfallback,
157
+ droptheidealogies,
158
+ flalaikurose,
159
+ girlnothingbutadream,
160
+ haywiremeltingdown,
161
+ inthislandoftennessee,
162
+ invisibleminorities,
163
+ juicyneonsteak,
164
+ lackofcommunication,
165
+ laimencoformoonlight,
166
+ leadwithfeelingnotthemind,
167
+ littleants,
168
+ lonelypetalswither,
169
+ marrowlust,
170
+ mmesmiled,
171
+ momentarysilence,
172
+ neveradrollmoment,
173
+ newlaconia,
174
+ nightlystatues,
175
+ sentimentality,
176
+ shadowonthewall,
177
+ shotgungirl,
178
+ skeletonsfinallaugh,
179
+ sliceoflife,
180
+ spidersandtheghost,
181
+ superyacht,
182
+ thegirlwiththerosecheeks,
183
+ turntodust,
184
+ undertheweepingwillowtree,
185
+ unravelingfriendship,
186
+ waitinginthewall,
187
+ whattheysayofrome,
188
+ windmillsong,
189
+ ]
190
+
191
+ ran_1 = rand(8) % 12
192
+ ran_2 = rand(8) % 12
193
+ ran_3 = rand(8) % 12
194
+ ran_4 = rand(8) % 12
195
+ ran_5 = rand(8) % 12
196
+ ran_6 = rand(8) % 12
197
+ ran_7 = rand(8) % 12
198
+ ran_8 = rand(8) % 12
199
+
200
+ poem_1 = super_poem[ran_1].split(",")
201
+ poem_2 = super_poem[ran_2].split(",")
202
+ poem_3 = super_poem[ran_3].split(",")
203
+ poem_4 = super_poem[ran_4].split(",")
204
+ poem_5 = super_poem[ran_5].split(",")
205
+ poem_6 = super_poem[ran_6].split(",")
206
+ poem_7 = super_poem[ran_7].split(",")
207
+ poem_8 = super_poem[ran_8].split(",")
208
+
209
+ ## Output New Poem From Shuffled String
210
+ line_1 = poem_1[0]
211
+ line_2 = poem_2[1]
212
+ line_3 = poem_3[2]
213
+ line_4 = poem_4[3]
214
+ line_5 = poem_5[4]
215
+ line_6 = poem_6[5]
216
+ line_7 = poem_7[6]
217
+ line_8 = poem_8[7]
218
+
219
+ open("output/poetry/poem.txt", "w") { |f|
220
+ f.puts line_1# .strip
221
+ f.puts line_2# .strip
222
+ f.puts line_3# .strip
223
+ f.puts line_4# .strip
224
+ f.puts line_5# .strip
225
+ f.puts line_6# .strip
226
+ f.puts line_7# .strip
227
+ f.puts line_8# .strip
228
+ }
229
+ end
98
230
 
99
231
  def self.estimate_digest
100
232
  ream_size = 4
@@ -212,6 +344,40 @@ module RulesAi
212
344
  +----------------+
213
345
  '
214
346
  end
347
+
348
+ end
349
+
350
+ class RuleCalculation
351
+ def self.calculate_metarules
352
+ print "How many regular rules? >> "
353
+
354
+ r = gets.chomp.to_i
355
+
356
+ # For each amount of rules, meta rules is that many variations of rule combination.
357
+ meta_rule_count = r
358
+ meta_rule_size = r * r
359
+ meta_total = meta_rule_size * r
360
+
361
+ puts "For #{r} many regular rules, there are #{meta_rule_count} metarule variations of #{meta_rule_size} each. Totalling #{meta_total} lines of code."
362
+ end
363
+ end
364
+
365
+ # Rulesets generated by the algorithm itself.
366
+ class MetaRuleset
367
+
368
+ def self.meta_rule_one
369
+ RulesAi::Rule_Set.estimate_digest
370
+ RulesAi::Rule_Set.autonomous_prompting
371
+ RulesAi::Rule_Set.calculate_hyper
372
+ RulesAi::Rule_Set.mixed_13
373
+ RulesAi::Rule_Set.hours_passed
374
+ RulesAi::Rule_Set.tesla_multiplication
375
+ end
376
+
377
+ end
378
+
379
+ # Evolutionary Function that calls the rulesets.
380
+ class Evo_Function
215
381
  end
216
382
 
217
383
  class Chatbot
@@ -290,15 +456,25 @@ module RulesAi
290
456
  class New_Routine # Generates Meta rules
291
457
 
292
458
  def self.generate_ruleset
293
- ruleset = File.readlines("data/rules/input.txt")
459
+ ruleset = File.readlines("evo_data/rules/input.txt")
294
460
 
295
- scatter_rules = ruleset.shuffle
461
+ numbers = "0 1 2 3 4 5".split(" ").shuffle
296
462
 
297
- puts "Generated Rules:\n#{scatter_rules}"
463
+ one = numbers[0].to_i
464
+ two = numbers[1].to_i
465
+ tre = numbers[2].to_i
466
+ fro = numbers[3].to_i
467
+ fiv = numbers[4].to_i
468
+ six = numbers[5].to_i
298
469
 
299
470
  open("new_routine.rb", "w") { |f|
300
- puts 'require "rules_ai"'
301
- puts "\n#{scatter_rules}"
471
+ f.puts "require 'rules_ai'\n\n"
472
+ f.puts "RulesAi::Rule_Set.#{ruleset[one]}"
473
+ f.puts "RulesAi::Rule_Set.#{ruleset[two]}"
474
+ f.puts "RulesAi::Rule_Set.#{ruleset[tre]}"
475
+ f.puts "RulesAi::Rule_Set.#{ruleset[fro]}"
476
+ f.puts "RulesAi::Rule_Set.#{ruleset[fiv]}"
477
+ f.puts "RulesAi::Rule_Set.#{ruleset[six]}"
302
478
  }
303
479
  end
304
480
 
@@ -1,3 +1,3 @@
1
1
  module RulesAi
2
- VERSION = "0.2.0"
2
+ VERSION = "0.8.0"
3
3
  end
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.2.0
4
+ version: 0.8.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-07 00:00:00.000000000 Z
11
+ date: 2020-11-17 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