ImpUnit 0.1.0 → 0.1.1

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ImpUnit/version.rb +1 -1
  3. data/lib/ImpUnit.rb +76 -276
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5ffb7af9280ad094acc05522ba386112183fc3a129c9bd240641c086cb5707e
4
- data.tar.gz: ba139aa4a9241110d9f11548f0fc234250441d74154948f6711cbea18f7667ba
3
+ metadata.gz: ccfb425b2ee0985526a81cce9b8b08b857046edc4b430c43220c29ee9a5e7c16
4
+ data.tar.gz: ee6a928ce7c0297d2363649584bd4467f55ea53594602e713563b15347c7d8dc
5
5
  SHA512:
6
- metadata.gz: 00d11274c2a06928a5271b19f6878d94d2e127d0622d22bb7e25f3f4273dea1e3e605a82daa50fc1eec1c19c1c642078de3bffe926793851cc6c971e1e7e6dc1
7
- data.tar.gz: 73e405b0c545d593274c0e9c0ad9be9de1e8036381874928a4b5d5e4cc07c5c457247e5c45d07142f786d5eaccad2999986e8a3352f81ba8300ee7a3490fd2d5
6
+ metadata.gz: 4930e381874f9f8f4881005b824bd5d3dd7c598d62e24825ac37a4d4f06f7e42f2bc10674b475c3d4e5826dcb8fc96ef345166d14df02db8feeba51184206671
7
+ data.tar.gz: 4d99f8b6647003c2078d0369c3b5ec6cee70c5ef54429e2377b8c39840fb884b180737741437ac8876268df8725ed0d711ca4b3f6a06d0371d134b08d9135caa
@@ -1,3 +1,3 @@
1
1
  module ImpUnit
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/ImpUnit.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "ImpUnit/version"
2
2
 
3
3
  module ImpUnit
4
+ class Error < StandardError; end
4
5
 
5
6
  class MainAI
6
7
  def self.seed
@@ -54,277 +55,76 @@ module ImpUnit
54
55
  end
55
56
 
56
57
  # Points to specific subroutines.
57
- class Subroutines
58
- def self.apple_color
59
- def self.what_color
60
- input = File.read("data/apple/colors/color_chart.txt").split(" ")
58
+ class SimpleSearch
61
59
 
62
- number = 0
63
-
64
- size_limit = input.size.to_i
65
-
66
- # Estimate each word in a sentence from a label.
67
- size_limit.times do
68
- require 'naive_bayes'
69
-
70
- color = NaiveBayes.new(:red, :green, :yellow)
71
-
72
- # Trains on apple colors.
73
- color.train(:red, "red", "word")
74
- color.train(:green, "green", "word")
75
- color.train(:yellow, "yellow", "word")
76
-
77
- b = input[number]
78
-
79
- puts "Results >> #{color.classify(*b)}"
80
-
81
- sleep(1)
82
-
83
- number = number + 1
84
- end
85
- end
86
-
87
- def self.what_color
88
- input = File.read("data/apple/actions/action_chart.txt").split(" ")
89
-
90
- number = 0
91
-
92
- size_limit = input.size.to_i
93
-
94
- # Estimate each word in a sentence from a label.
95
- size_limit.times do
96
- require 'naive_bayes'
97
-
98
- action = NaiveBayes.new(:eat, :toss)
99
-
100
- # Trains on apple colors.
101
- action.train(:eat, "eat", "word")
102
- action.train(:toss, "toss", "word")
103
-
104
- b = input[number]
105
-
106
- puts "Results >> #{action.classify(*b)}"
107
-
108
- sleep(1)
109
-
110
- number = number + 1
111
- end
112
- end
113
-
114
- print "Deciding on color...\n\n"; sleep(3)
115
-
116
- ImpUnit::Subroutines.apple_color.what_color
117
-
118
- print "Deciding on action...\n\n"; sleep(3)
119
-
120
- ImpUnit::Subroutines.apple_color.what_action
121
- end
122
-
123
- def self.simple_search
124
- def self.standard
125
- number = 0
126
-
127
- options_list = File.read("options/option_list.txt").to_s.split(" ") #.shuffle
128
-
129
- # Candidate files
130
- candidate = File.read("candidate/algorithm_candidate.txt").strip.to_s
60
+ # ImpUnit::SimpleSearch.standard
61
+ def self.standard
62
+ number = 0
131
63
 
132
- # Bases iteration limit on options list size.
133
- size_limit = options_list.size.to_i
64
+ options_list = File.read("options/option_list.txt").to_s.split(" ") #.shuffle
134
65
 
135
- # Iterate size limit times comparing option with candidate.
136
- size_limit.times do
137
- option = options_list[number]
66
+ # Candidate files
67
+ candidate = File.read("candidate/algorithm_candidate.txt").strip.to_s
138
68
 
139
- print "Candidate: #{candidate} Option: #{option} >> "
69
+ # Bases iteration limit on options list size.
70
+ size_limit = options_list.size.to_i
140
71
 
141
- if option == candidate
142
- puts " #{option} matches the candidate #{candidate}."
72
+ # Iterate size limit times comparing option with candidate.
73
+ size_limit.times do
74
+ option = options_list[number]
143
75
 
144
- abort
145
- else
146
- puts " #{option} does not match the candidate #{candidate}."
147
- end
76
+ print "Candidate: #{candidate} Option: #{option} >> "
148
77
 
149
- sleep(3)
78
+ if option == candidate
79
+ puts " #{option} matches the candidate #{candidate}."
150
80
 
151
- number = number + 1
81
+ abort
82
+ else
83
+ puts " #{option} does not match the candidate #{candidate}."
152
84
  end
153
- end
154
-
155
- def self.random
156
- number = 0
157
85
 
158
- options_list = File.read("options/option_list.txt").to_s.split(" ").shuffle
159
-
160
- # Candidate files
161
- candidate = File.read("candidate/algorithm_candidate.txt").strip.to_s
162
-
163
- # Bases iteration limit on options list size.
164
- size_limit = options_list.size.to_i
165
-
166
- # Iterate size limit times comparing option with candidate.
167
- size_limit.times do
168
- option = options_list[number]
169
-
170
- print "Candidate: #{candidate} Option: #{option} >> "
171
-
172
- if option == candidate
173
- puts " #{option} matches the candidate #{candidate}."
174
-
175
- abort
176
- else
177
- puts " #{option} does not match the candidate #{candidate}."
178
- end
179
-
180
- sleep(3)
86
+ sleep(3)
181
87
 
182
- number = number + 1
183
- end
88
+ number = number + 1
184
89
  end
185
90
  end
186
91
 
187
- def self.rikusuto
188
- def self.rikusuto
189
- require "decisiontree"
190
-
191
- # Continuous Dice
192
- dice = [10.50, 10.75, 21.25,
193
- 21.50, 21.75, 82.25,
194
- 82.50, 82.75, 73.25,
195
- 73.50, 73.75, 54.25,
196
- 54.50, 54.75, 10.50]
197
-
198
- input = dice.sample.to_i
199
-
200
- attributes = ['Rikusuto']
201
-
202
- training = [
203
- [ 0.5, "will you get"],
204
- [ 50.0, "will you obtain"],
205
- [100.0, "may I have"],
206
- ]
207
-
208
- # Instantiate the tree, and train it based on the data (set default to '1')
209
- dec_tree = DecisionTree::ID3Tree.new(attributes, training, 1, :continuous)
210
- dec_tree.train
211
-
212
- test = [input, "may I have"]
213
-
214
- decision = dec_tree.predict(test)
215
-
216
- # puts "Desired Result: #{decision} ... True Result: #{test.last}"
217
-
218
- open("data/rikusuto/request.txt", "w") { |f|
219
- f.puts decision
220
- }
221
- end
222
-
223
- def self.atemu
224
- require "decisiontree"
225
-
226
- # Continuous Dice
227
- dice = [10.50, 10.75, 21.25,
228
- 21.50, 21.75, 82.25,
229
- 82.50, 82.75, 73.25,
230
- 73.50, 73.75, 54.25,
231
- 54.50, 54.75, 10.50]
232
-
233
- input = dice.sample.to_i
234
-
235
- attributes = ['Atemu']
236
-
237
- training = [
238
- [ 0.5, "a banana"],
239
- [ 50.0, "an orange"],
240
- [100.0, "a kiwi"],
241
- ]
242
-
243
- # Instantiate the tree, and train it based on the data (set default to '1')
244
- dec_tree = DecisionTree::ID3Tree.new(attributes, training, 1, :continuous)
245
- dec_tree.train
246
-
247
- test = [input, "an orange"]
248
-
249
- decision = dec_tree.predict(test)
250
-
251
- # puts "Desired Result: #{decision} ... True Result: #{test.last}"
252
- open("data/items/items.txt", "w") { |f|
253
- f.puts decision
254
- }
255
- end
256
-
257
- def self.create
258
-
259
- xml_header = '<?xml version="1.0" encoding="UTF-8"?>
260
- <?xml-stylesheet type="text/css" href="stylesheet.css"?>'
261
-
262
- topic_header = "<topic>"
263
- topic_bottom = "</topic>"
264
-
265
- def self.salut
266
- " <salut>Hello</salut>"
267
- end
268
-
269
- def self.ejento
270
- agent_name = File.read("data/usr_identity/name.txt").strip.to_s
271
-
272
- " <ejento>#{agent_name}</ejento>"
273
- end
274
-
275
- def self.rikusuto
276
- request_type = File.read("data/requests/request.txt").strip.to_s
92
+ # ImpUnit::SimpleSearch.random
93
+ def self.random
94
+ number = 0
277
95
 
278
- " <rikusuto>#{request_type}</rikusuto>"
279
- end
96
+ options_list = File.read("options/option_list.txt").to_s.split(" ").shuffle
280
97
 
281
- def self.atemu
282
- item = File.read("data/items/items.txt").strip.to_s
98
+ # Candidate files
99
+ candidate = File.read("candidate/algorithm_candidate.txt").strip.to_s
283
100
 
284
- " <atemu>#{item}</atemu>"
285
- end
101
+ # Bases iteration limit on options list size.
102
+ size_limit = options_list.size.to_i
286
103
 
287
- def self.nitote
288
- " <nitote>for</nitote>"
289
- end
104
+ # Iterate size limit times comparing option with candidate.
105
+ size_limit.times do
106
+ option = options_list[number]
290
107
 
291
- def self.kara
292
- " <kara>from</kara>"
293
- end
108
+ print "Candidate: #{candidate} Option: #{option} >> "
294
109
 
295
- def self.yuza
296
- user_name = File.read("data/usr_identity/user_name.txt").strip.to_s
110
+ if option == candidate
111
+ puts " #{option} matches the candidate #{candidate}."
297
112
 
298
- " <yuza>#{user_name}</yuza>"
113
+ abort
114
+ else
115
+ puts " #{option} does not match the candidate #{candidate}."
299
116
  end
300
117
 
301
- def self.lieu
302
- local_name = File.read("data/usr_identity/local_name.txt").strip.to_s
303
-
304
- " <lieu>#{local_name}</lieu>"
305
- end
118
+ sleep(3)
306
119
 
307
- conjucate = [nitote, kara]
308
- consign = conjucate.sample
309
-
310
- user_location = [yuza, lieu]
311
- usign = user_location[0]
312
-
313
- open("index.xml", "w") { |f|
314
- f.puts xml_header
315
- f.puts topic_header
316
- f.puts salut
317
- f.puts ejento
318
- f.puts rikusuto
319
- f.puts atemu
320
- f.puts consign
321
- f.puts usign
322
- f.puts topic_bottom
323
- }
120
+ number = number + 1
324
121
  end
325
122
  end
123
+ end
326
124
 
327
- def self.unfictionWP
125
+ # ImpUnit::Unfiction.process
126
+ class Unfiction
127
+ def self.process
328
128
  # Loop limit based on configured screen settings.
329
129
  number = File.read("data/config/line_num.txt").strip.to_i
330
130
  do_size = ["tiny", "small", "medium"]
@@ -340,46 +140,46 @@ module ImpUnit
340
140
  # Base dialogue sequence on size limit.
341
141
  size_limit.times do
342
142
 
343
- # Username logistics
344
- name_list = File.read("data/identity/name_list.txt").split(", ")
345
- name = name_list[name_number].to_s
346
- name_limit = name_list[name_number].size
347
-
348
- if name_limit > character_count
349
- name_limit = name_limit % 2
350
- else
351
- name_limit = name_limit + 1
352
- end
143
+ # Username logistics
144
+ name_list = File.read("data/identity/name_list.txt").split(", ")
145
+ name = name_list[name_number].to_s
146
+ name_limit = name_list[name_number].size
353
147
 
354
- old_dialogue = File.read("archive/dialogue.txt").strip.to_s
148
+ if name_limit > character_count
149
+ name_limit = name_limit % 2
150
+ else
151
+ name_limit = name_limit + 1
152
+ end
355
153
 
356
- # Write date to file.
357
- system("date > data/date/date.txt")
154
+ old_dialogue = File.read("archive/dialogue.txt").strip.to_s
358
155
 
359
- date = File.read("data/date/date.txt").strip
156
+ # Write date to file.
157
+ system("date > data/date/date.txt")
360
158
 
361
- # Print character dialogue to screen.
362
- print "[#{date} #{name.strip}] "; new_dialogue = gets.chomp
159
+ date = File.read("data/date/date.txt").strip
363
160
 
364
- # If writer specifies exit then aborts
365
- if new_dialogue == "exit"
366
- abort
367
- end
161
+ # Print character dialogue to screen.
162
+ print "[#{date} #{name.strip}] "; new_dialogue = gets.chomp
368
163
 
369
- # Autosaves dialogue archive. Auto appends old dialogue above new dialogue.
370
- open("archive/dialogue.txt", "w") { |f|
371
- f.puts old_dialogue
372
- f.print "[#{date} #{name.strip}] "
373
- f.puts new_dialogue
374
- }
164
+ # If writer specifies exit then aborts
165
+ if new_dialogue == "exit"
166
+ abort
167
+ end
375
168
 
376
- # Changes name as if in a chatroom.
377
- if name_number == name_limit
378
- name_number = 0
379
- else
380
- name_number = name_number + 1
381
- end
169
+ # Autosaves dialogue archive. Auto appends old dialogue above new dialogue.
170
+ open("archive/dialogue.txt", "w") { |f|
171
+ f.puts old_dialogue
172
+ f.print "[#{date} #{name.strip}] "
173
+ f.puts new_dialogue
174
+ }
175
+
176
+ # Changes name as if in a chatroom.
177
+ if name_number == name_limit
178
+ name_number = 0
179
+ else
180
+ name_number = name_number + 1
382
181
  end
383
182
  end
183
+
384
184
  end
385
185
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ImpUnit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - LWFlouisa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-13 00:00:00.000000000 Z
11
+ date: 2021-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler