sudoku_builder 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d31c9a419525975d9c40974e3963b227d70defee
4
- data.tar.gz: 4bc3124d4e6dbc1760a42c66d5a865f65bfce958
3
+ metadata.gz: 5977dccd866d6fe1cd40a2d106dce354e213f911
4
+ data.tar.gz: 37796c827c72d619070d70b9f6b9efc74d13a441
5
5
  SHA512:
6
- metadata.gz: 88d11bfc2e8efd7a6998f947a1f8d41321060574860ade5022bcfe00f4a609e54f9fcd927cdbd59505af7493445697bfeb9a1dc15db59d318f83ef11ca6c46dc
7
- data.tar.gz: 3168bfb3fe236f11aeffefa8787f178d11a73a23f2192376e7cd55fe8d324e0b54dd4ff9d205472f5ae06ab02a07c3750649751fb5aa710800a6a462f41d2aab
6
+ metadata.gz: 908c1519655f94d702b5f32067017c0966a831c98182ffaa0f8ff8413cef02e03b12eb4eb6b737fa9514b875f3a2d296ca5a2dc07828609a7599c76f1a9f4bee
7
+ data.tar.gz: ee13c0d69b89d9605414c9239f098a6fdd445ea70d3a16a1ece04c9bf04b1b40ee716d66a2861ff1ea96f319d47a3dc523bd77dba079ed16c1d3878912b56007
data/.idea/workspace.xml CHANGED
@@ -2,8 +2,7 @@
2
2
  <project version="4">
3
3
  <component name="ChangeListManager">
4
4
  <list default="true" id="4ba0e926-77d1-4436-9c09-2db6ca58a641" name="Default" comment="">
5
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Gemfile.lock" afterPath="$PROJECT_DIR$/Gemfile.lock" />
6
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
5
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
7
6
  </list>
8
7
  <ignored path="sudoku.iws" />
9
8
  <ignored path=".idea/workspace.xml" />
@@ -28,68 +27,11 @@
28
27
  </component>
29
28
  <component name="FileEditorManager">
30
29
  <leaf>
31
- <file leaf-file-name="sudoku_builder.rb" pinned="false" current-in-tab="false">
32
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
30
+ <file leaf-file-name="sudoku_builder.gemspec" pinned="false" current-in-tab="true">
31
+ <entry file="file://$PROJECT_DIR$/sudoku_builder.gemspec">
33
32
  <provider selected="true" editor-type-id="text-editor">
34
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="345">
35
- <caret line="13" column="7" selection-start-line="8" selection-start-column="4" selection-end-line="13" selection-end-column="7" />
36
- <folding />
37
- </state>
38
- </provider>
39
- </entry>
40
- </file>
41
- <file leaf-file-name="sudoku.rb" pinned="false" current-in-tab="false">
42
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/sudoku.rb">
43
- <provider selected="true" editor-type-id="text-editor">
44
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="375">
45
- <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="19" selection-end-column="7" />
46
- <folding>
47
- <marker date="1433391076000" expanded="false" signature="454:1587" placeholder="..." />
48
- </folding>
49
- </state>
50
- </provider>
51
- </entry>
52
- </file>
53
- <file leaf-file-name="solver.rb" pinned="false" current-in-tab="false">
54
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/solver.rb">
55
- <provider selected="true" editor-type-id="text-editor">
56
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="960">
57
- <caret line="61" column="83" selection-start-line="61" selection-start-column="83" selection-end-line="61" selection-end-column="83" />
58
- <folding>
59
- <marker date="1433399816000" expanded="false" signature="274:1002" placeholder="..." />
60
- </folding>
61
- </state>
62
- </provider>
63
- </entry>
64
- </file>
65
- <file leaf-file-name="builder.rb" pinned="false" current-in-tab="false">
66
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/builder.rb">
67
- <provider selected="true" editor-type-id="text-editor">
68
- <state vertical-scroll-proportion="0.0" vertical-offset="746" max-vertical-offset="1425">
69
- <caret line="52" column="8" selection-start-line="52" selection-start-column="8" selection-end-line="52" selection-end-column="8" />
70
- <folding />
71
- </state>
72
- </provider>
73
- </entry>
74
- </file>
75
- <file leaf-file-name="README.md" pinned="false" current-in-tab="false">
76
- <entry file="file://$PROJECT_DIR$/README.md">
77
- <provider editor-type-id="MarkdownPreviewEditor">
78
- <state />
79
- </provider>
80
- <provider selected="true" editor-type-id="text-editor">
81
- <state vertical-scroll-proportion="-8.1" vertical-offset="807" max-vertical-offset="1155">
82
- <caret line="70" column="28" selection-start-line="70" selection-start-column="28" selection-end-line="70" selection-end-column="28" />
83
- <folding />
84
- </state>
85
- </provider>
86
- </entry>
87
- </file>
88
- <file leaf-file-name="version.rb" pinned="false" current-in-tab="true">
89
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/version.rb">
90
- <provider selected="true" editor-type-id="text-editor">
91
- <state vertical-scroll-proportion="0.03968254" vertical-offset="0" max-vertical-offset="378">
92
- <caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
33
+ <state vertical-scroll-proportion="0.19672132" vertical-offset="0" max-vertical-offset="610">
34
+ <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
93
35
  <folding />
94
36
  </state>
95
37
  </provider>
@@ -112,12 +54,13 @@
112
54
  <option value="$PROJECT_DIR$/.gitignore" />
113
55
  <option value="$PROJECT_DIR$/sudoku.gemspec" />
114
56
  <option value="$PROJECT_DIR$/sudoku_builder.gemspec" />
115
- <option value="$PROJECT_DIR$/lib/sudoku_builder/version.rb" />
116
- <option value="$PROJECT_DIR$/spec/sudoku_spec.rb" />
57
+ <option value="$PROJECT_DIR$/lib/sudoku_builder/builder.rb" />
58
+ <option value="$PROJECT_DIR$/lib/sudoku_builder/sudoku.rb" />
117
59
  <option value="$PROJECT_DIR$/lib/sudoku_builder.rb" />
118
60
  <option value="$PROJECT_DIR$/lib/sudoku_builder/solver.rb" />
119
- <option value="$PROJECT_DIR$/lib/sudoku_builder/builder.rb" />
61
+ <option value="$PROJECT_DIR$/lib/sudoku_builder/version.rb" />
120
62
  <option value="$PROJECT_DIR$/README.md" />
63
+ <option value="$PROJECT_DIR$/spec/sudoku_spec.rb" />
121
64
  </list>
122
65
  </option>
123
66
  </component>
@@ -125,9 +68,10 @@
125
68
  <detection-done>true</detection-done>
126
69
  </component>
127
70
  <component name="ProjectFrameBounds">
128
- <option name="y" value="23" />
71
+ <option name="x" value="-1280" />
72
+ <option name="y" value="-224" />
129
73
  <option name="width" value="1280" />
130
- <option name="height" value="773" />
74
+ <option name="height" value="1024" />
131
75
  </component>
132
76
  <component name="ProjectLevelVcsManager" settingsEditedManually="false">
133
77
  <OptionsSetting value="true" id="Add" />
@@ -152,6 +96,7 @@
152
96
  <sortByType />
153
97
  </navigator>
154
98
  <panes>
99
+ <pane id="Scope" />
155
100
  <pane id="ProjectPane">
156
101
  <subPane>
157
102
  <PATH>
@@ -170,61 +115,14 @@
170
115
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
171
116
  </PATH_ELEMENT>
172
117
  </PATH>
173
- <PATH>
174
- <PATH_ELEMENT>
175
- <option name="myItemId" value="sudoku" />
176
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
177
- </PATH_ELEMENT>
178
- <PATH_ELEMENT>
179
- <option name="myItemId" value="sudoku" />
180
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
181
- </PATH_ELEMENT>
182
- <PATH_ELEMENT>
183
- <option name="myItemId" value="lib" />
184
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
185
- </PATH_ELEMENT>
186
- </PATH>
187
- <PATH>
188
- <PATH_ELEMENT>
189
- <option name="myItemId" value="sudoku" />
190
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
191
- </PATH_ELEMENT>
192
- <PATH_ELEMENT>
193
- <option name="myItemId" value="sudoku" />
194
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
195
- </PATH_ELEMENT>
196
- <PATH_ELEMENT>
197
- <option name="myItemId" value="lib" />
198
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
199
- </PATH_ELEMENT>
200
- <PATH_ELEMENT>
201
- <option name="myItemId" value="sudoku_builder" />
202
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
203
- </PATH_ELEMENT>
204
- </PATH>
205
- <PATH>
206
- <PATH_ELEMENT>
207
- <option name="myItemId" value="sudoku" />
208
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
209
- </PATH_ELEMENT>
210
- <PATH_ELEMENT>
211
- <option name="myItemId" value="sudoku" />
212
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
213
- </PATH_ELEMENT>
214
- <PATH_ELEMENT>
215
- <option name="myItemId" value="bin" />
216
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
217
- </PATH_ELEMENT>
218
- </PATH>
219
118
  </subPane>
220
119
  </pane>
221
- <pane id="Scope" />
222
120
  </panes>
223
121
  </component>
224
122
  <component name="PropertiesComponent">
225
123
  <property name="last_opened_file_path" value="$PROJECT_DIR$" />
226
124
  <property name="WebServerToolWindowFactoryState" value="false" />
227
- <property name="FullScreen" value="false" />
125
+ <property name="FullScreen" value="true" />
228
126
  </component>
229
127
  <component name="RunManager">
230
128
  <configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
@@ -332,28 +230,28 @@
332
230
  <servers />
333
231
  </component>
334
232
  <component name="ToolWindowManager">
335
- <frame x="0" y="23" width="1280" height="773" extended-state="6" />
233
+ <frame x="-1280" y="-224" width="1280" height="1024" extended-state="6" />
336
234
  <editor active="false" />
337
235
  <layout>
338
236
  <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
339
- <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.3847328" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
237
+ <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.31573275" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
340
238
  <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
341
239
  <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
342
240
  <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
343
241
  <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
344
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2536349" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
345
- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
346
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
242
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25767368" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
347
243
  <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
348
244
  <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.63053435" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
349
245
  <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
350
246
  <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
351
247
  <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
352
- <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
353
248
  <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977098" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
249
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
250
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
354
251
  <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
355
- <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
252
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32954547" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
356
253
  <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
254
+ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
357
255
  </layout>
358
256
  </component>
359
257
  <component name="Vcs.Log.UiProperties">
@@ -379,6 +277,61 @@
379
277
  <watches-manager />
380
278
  </component>
381
279
  <component name="editorHistoryManager">
280
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
281
+ <provider selected="true" editor-type-id="text-editor">
282
+ <state vertical-scroll-proportion="0.0" vertical-offset="195" max-vertical-offset="345">
283
+ <caret line="13" column="7" selection-start-line="8" selection-start-column="4" selection-end-line="13" selection-end-column="7" />
284
+ <folding />
285
+ </state>
286
+ </provider>
287
+ </entry>
288
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/sudoku.rb">
289
+ <provider selected="true" editor-type-id="text-editor">
290
+ <state vertical-scroll-proportion="0.0" vertical-offset="135" max-vertical-offset="375">
291
+ <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="19" selection-end-column="7" />
292
+ <folding>
293
+ <marker date="1433620419000" expanded="false" signature="-1:-1" placeholder="..." />
294
+ </folding>
295
+ </state>
296
+ </provider>
297
+ </entry>
298
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/solver.rb">
299
+ <provider selected="true" editor-type-id="text-editor">
300
+ <state vertical-scroll-proportion="0.0" vertical-offset="765" max-vertical-offset="960">
301
+ <caret line="61" column="83" selection-start-line="61" selection-start-column="83" selection-end-line="61" selection-end-column="83" />
302
+ <folding>
303
+ <marker date="1433621661000" expanded="false" signature="-1:-1" placeholder="..." />
304
+ </folding>
305
+ </state>
306
+ </provider>
307
+ </entry>
308
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/builder.rb">
309
+ <provider selected="true" editor-type-id="text-editor">
310
+ <state vertical-scroll-proportion="0.0" vertical-offset="746" max-vertical-offset="1425">
311
+ <caret line="52" column="8" selection-start-line="52" selection-start-column="8" selection-end-line="52" selection-end-column="8" />
312
+ <folding />
313
+ </state>
314
+ </provider>
315
+ </entry>
316
+ <entry file="file://$PROJECT_DIR$/README.md">
317
+ <provider editor-type-id="MarkdownPreviewEditor">
318
+ <state />
319
+ </provider>
320
+ <provider selected="true" editor-type-id="text-editor">
321
+ <state vertical-scroll-proportion="0.0" vertical-offset="855" max-vertical-offset="1170">
322
+ <caret line="57" column="113" selection-start-line="57" selection-start-column="113" selection-end-line="57" selection-end-column="113" />
323
+ <folding />
324
+ </state>
325
+ </provider>
326
+ </entry>
327
+ <entry file="file://$PROJECT_DIR$/spec/sudoku_spec.rb">
328
+ <provider selected="true" editor-type-id="text-editor">
329
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1200">
330
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
331
+ <folding />
332
+ </state>
333
+ </provider>
334
+ </entry>
382
335
  <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
383
336
  <provider selected="true" editor-type-id="text-editor">
384
337
  <state vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="345">
@@ -392,7 +345,7 @@
392
345
  <state vertical-scroll-proportion="0.0" vertical-offset="135" max-vertical-offset="375">
393
346
  <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="19" selection-end-column="7" />
394
347
  <folding>
395
- <marker date="1433391076000" expanded="false" signature="454:1587" placeholder="..." />
348
+ <marker date="1433620419000" expanded="false" signature="-1:-1" placeholder="..." />
396
349
  </folding>
397
350
  </state>
398
351
  </provider>
@@ -402,7 +355,7 @@
402
355
  <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1065">
403
356
  <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
404
357
  <folding>
405
- <marker date="1433399816000" expanded="false" signature="274:1002" placeholder="..." />
358
+ <marker date="1433621661000" expanded="false" signature="-1:-1" placeholder="..." />
406
359
  </folding>
407
360
  </state>
408
361
  </provider>
@@ -447,85 +400,84 @@
447
400
  <provider selected="true" editor-type-id="text-editor">
448
401
  <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="410">
449
402
  <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
450
- <folding />
451
403
  </state>
452
404
  </provider>
453
405
  </entry>
454
- <entry file="file://$PROJECT_DIR$/sudoku_builder.gemspec">
406
+ <entry file="file://$USER_HOME$/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rexml/functions.rb">
455
407
  <provider selected="true" editor-type-id="text-editor">
456
- <state vertical-scroll-proportion="0.0" vertical-offset="15" max-vertical-offset="420">
457
- <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
408
+ <state vertical-scroll-proportion="4.197349" vertical-offset="930" max-vertical-offset="6000">
409
+ <caret line="252" column="37" selection-start-line="252" selection-start-column="37" selection-end-line="252" selection-end-column="37" />
458
410
  <folding />
459
411
  </state>
460
412
  </provider>
461
413
  </entry>
462
- <entry file="file://$PROJECT_DIR$/spec/sudoku_spec.rb">
414
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/builder.rb">
463
415
  <provider selected="true" editor-type-id="text-editor">
464
- <state vertical-scroll-proportion="0.14516129" vertical-offset="0" max-vertical-offset="1200">
465
- <caret line="3" column="13" selection-start-line="3" selection-start-column="13" selection-end-line="3" selection-end-column="13" />
416
+ <state vertical-scroll-proportion="0.0" vertical-offset="670" max-vertical-offset="1425">
417
+ <caret line="57" column="7" selection-start-line="57" selection-start-column="7" selection-end-line="57" selection-end-column="7" />
466
418
  <folding />
467
419
  </state>
468
420
  </provider>
469
421
  </entry>
470
- <entry file="file://$USER_HOME$/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rexml/functions.rb">
422
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/version.rb">
471
423
  <provider selected="true" editor-type-id="text-editor">
472
- <state vertical-scroll-proportion="4.197349" vertical-offset="930" max-vertical-offset="6000">
473
- <caret line="252" column="37" selection-start-line="252" selection-start-column="37" selection-end-line="252" selection-end-column="37" />
424
+ <state vertical-scroll-proportion="0.024590164" vertical-offset="0" max-vertical-offset="610">
425
+ <caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
474
426
  <folding />
475
427
  </state>
476
428
  </provider>
477
429
  </entry>
478
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
430
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/solver.rb">
479
431
  <provider selected="true" editor-type-id="text-editor">
480
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="345">
481
- <caret line="13" column="7" selection-start-line="8" selection-start-column="4" selection-end-line="13" selection-end-column="7" />
482
- <folding />
432
+ <state vertical-scroll-proportion="-0.1557377" vertical-offset="950" max-vertical-offset="1560">
433
+ <caret line="67" column="97" selection-start-line="67" selection-start-column="97" selection-end-line="67" selection-end-column="97" />
434
+ <folding>
435
+ <marker date="1433621661000" expanded="false" signature="-1:-1" placeholder="..." />
436
+ </folding>
483
437
  </state>
484
438
  </provider>
485
439
  </entry>
486
440
  <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/sudoku.rb">
487
441
  <provider selected="true" editor-type-id="text-editor">
488
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="375">
489
- <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="19" selection-end-column="7" />
442
+ <state vertical-scroll-proportion="0.46721312" vertical-offset="0" max-vertical-offset="610">
443
+ <caret line="29" column="0" selection-start-line="29" selection-start-column="0" selection-end-line="36" selection-end-column="7" />
490
444
  <folding>
491
- <marker date="1433391076000" expanded="false" signature="454:1587" placeholder="..." />
445
+ <marker date="1433620419000" expanded="false" signature="-1:-1" placeholder="..." />
492
446
  </folding>
493
447
  </state>
494
448
  </provider>
495
449
  </entry>
496
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/solver.rb">
450
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
497
451
  <provider selected="true" editor-type-id="text-editor">
498
- <state vertical-scroll-proportion="0.0" vertical-offset="495" max-vertical-offset="960">
499
- <caret line="61" column="83" selection-start-line="61" selection-start-column="83" selection-end-line="61" selection-end-column="83" />
500
- <folding>
501
- <marker date="1433399816000" expanded="false" signature="274:1002" placeholder="..." />
502
- </folding>
452
+ <state vertical-scroll-proportion="0.19672132" vertical-offset="0" max-vertical-offset="610">
453
+ <caret line="8" column="14" selection-start-line="8" selection-start-column="14" selection-end-line="8" selection-end-column="14" />
454
+ <folding />
503
455
  </state>
504
456
  </provider>
505
457
  </entry>
506
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/builder.rb">
458
+ <entry file="file://$PROJECT_DIR$/README.md">
459
+ <provider editor-type-id="MarkdownPreviewEditor">
460
+ <state />
461
+ </provider>
507
462
  <provider selected="true" editor-type-id="text-editor">
508
- <state vertical-scroll-proportion="0.0" vertical-offset="746" max-vertical-offset="1425">
509
- <caret line="52" column="8" selection-start-line="52" selection-start-column="8" selection-end-line="52" selection-end-column="8" />
463
+ <state vertical-scroll-proportion="0.54310346" vertical-offset="0" max-vertical-offset="1080">
464
+ <caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
510
465
  <folding />
511
466
  </state>
512
467
  </provider>
513
468
  </entry>
514
- <entry file="file://$PROJECT_DIR$/README.md">
469
+ <entry file="file://$PROJECT_DIR$/spec/sudoku_spec.rb">
515
470
  <provider selected="true" editor-type-id="text-editor">
516
- <state vertical-scroll-proportion="-8.1" vertical-offset="807" max-vertical-offset="1155">
517
- <caret line="70" column="28" selection-start-line="70" selection-start-column="28" selection-end-line="70" selection-end-column="28" />
471
+ <state vertical-scroll-proportion="0.6557377" vertical-offset="590" max-vertical-offset="1200">
472
+ <caret line="66" column="39" selection-start-line="66" selection-start-column="39" selection-end-line="66" selection-end-column="39" />
518
473
  <folding />
519
474
  </state>
520
475
  </provider>
521
- <provider editor-type-id="MarkdownPreviewEditor">
522
- <state />
523
- </provider>
524
476
  </entry>
525
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/version.rb">
477
+ <entry file="file://$PROJECT_DIR$/sudoku_builder.gemspec">
526
478
  <provider selected="true" editor-type-id="text-editor">
527
- <state vertical-scroll-proportion="0.03968254" vertical-offset="0" max-vertical-offset="378">
528
- <caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
479
+ <state vertical-scroll-proportion="0.19672132" vertical-offset="0" max-vertical-offset="610">
480
+ <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
529
481
  <folding />
530
482
  </state>
531
483
  </provider>
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sudoku_builder (0.1.1)
4
+ sudoku_builder (0.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -34,9 +34,9 @@ To create a new puzzle:
34
34
 
35
35
  This will return a `SudokuBuilder::Builder` object that looks like this:
36
36
 
37
- ```ruby
38
- #<SudokuBuilder::Builder:0x007fdc729373e8 @sud={0=>[6], 1=>[8], 2=>[9], 3=>[5], 4=>[7], 5=>[2], 6=>[3], ...
39
- ```
37
+ ```ruby
38
+ #<SudokuBuilder::Builder:0x007fdc729373e8 @sud={0=>[6], 1=>[8], 2=>[9], 3=>[5], 4=>[7], 5=>[2], 6=>[3], ...
39
+ ```
40
40
 
41
41
  On the builder object you can call a handful of different methods:
42
42
 
@@ -52,19 +52,14 @@ To solve an existing puzzle, call:
52
52
 
53
53
  my_puzzle must be equal to a hash with keys from 0 to 80 and values equal to an integer for already given squares, and an array for empty squares. ie:
54
54
 
55
- ```
56
- {0=>6, 1=>8, 2=>[], 3=>[], 4=>[], 5=>[], 6=>[3] ...
57
- ```
58
-
59
- ## Development
60
-
61
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
55
+ ```
56
+ {0=>6, 1=>8, 2=>[], 3=>[], 4=>[], 5=>[], 6=>[3] ...
57
+ ```
62
58
 
63
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
64
59
 
65
60
  ## Contributing
66
61
 
67
- 1. Fork it ( https://github.com/[my-github-username]/sudoku/fork )
62
+ 1. Fork it ( https://github.com/ColDog/sudoku/fork )
68
63
  2. Create your feature branch (`git checkout -b my-new-feature`)
69
64
  3. Commit your changes (`git commit -am 'Add some feature'`)
70
65
  4. Push to the branch (`git push origin my-new-feature`)
@@ -4,9 +4,8 @@ require File.expand_path(File.join(File.dirname(__FILE__), 'builder'))
4
4
  module SudokuBuilder
5
5
  class Solver < Sudoku
6
6
 
7
- def initialize(sudoku)
7
+ def initialize(sudoku = nil)
8
8
  @sud = sudoku
9
- @pristine = sudoku
10
9
  @used = {
11
10
  0=> [], 1=> [], 2=> [], 3=> [], 4=> [], 5=> [], 6=> [], 7=> [], 8=> [],
12
11
  9=> [], 10=>[], 11=>[], 12=>[], 13=>[], 14=>[], 15=>[], 16=>[], 17=>[],
@@ -20,48 +19,89 @@ module SudokuBuilder
20
19
  }
21
20
  end
22
21
 
23
- # solve any given sudoku. If the sudoku is empty, it will build a complete one.
22
+ def solver_pristine
23
+ @sud
24
+ end
25
+
24
26
  def solve
25
- t = 0 ; o = 0 ;
26
- direction = true ; key = 0 # main key variable.
27
- loop do
28
- if @sud[key].class == Array # skips pre-filled numbers.
29
- c = [] ; r = [] ; g = [] # build values for current grid, row, column.
30
- build_crg(key,c,r,g,@sud) # updates the relevant variables for check.
31
- @sud[key] = [] # makes a fresh possibilities array.
32
- for i in 1..9
33
- if check?(i, c,r,g) &&
34
- !@used[key].include?(i)
35
- @sud[key] << i
27
+ t = 0 ; o = 0 ; key = 0 # main key and metric vars.
28
+ direction = true # indicates the direction in case of a backtrack on number.
29
+ sud = solver_pristine
30
+ used = pristine
31
+ if sud.nil?
32
+ 'Sudoku entered is not valid/
33
+ does not exist.'
34
+ else
35
+ loop do
36
+ if sud[key].class == Array # skips pre-filled numbers.
37
+ c = [] ; r = [] ; g = [] # build values for current grid, row, column.
38
+ build_crg(key,c,r,g,sud) # updates the relevant variables for check.
39
+ sud[key] = [] # makes a fresh possibilities array.
40
+ for i in 1..9
41
+ if check?(i, c,r,g) &&
42
+ !used[key].include?(i)
43
+ sud[key] << i
44
+ end
36
45
  end
46
+ if sud[key].count == 0 # backtrack if no possibilities.
47
+ key -= 1
48
+ direction = false # setting backtrack to false sends the key down if the
49
+ else # next number down is a fixnum.
50
+ use = sud[key].sample # pick a random possibility.
51
+ sud[key] = [use] # uses the possibility.
52
+ used[key] << use # also puts it into the used array.
53
+ key += 1
54
+ direction = true
55
+ end
56
+ elsif sud[key].class == Fixnum
57
+ direction ? key += 1 : key -= 1 # backt or forward track based on current direction.
37
58
  end
38
- if @sud[key].count == 0 # backtrack if no possibilities.
39
- key -= 1
40
- direction = false
41
- else
42
- use = @sud[key].sample # pick a random possibility.
43
- @sud[key] = [use] # uses the possibility.
44
- @used[key] << use # also puts it into the used array.
45
- key += 1
59
+ if key == 0 || t > 104 ||
60
+ key == 1 && t > 3 # resets everything if we've reached a high amount
61
+ sud = solver_pristine
62
+ used = pristine
63
+ key = 0 ; t = 0
46
64
  direction = true
47
65
  end
48
- elsif @sud[key].class == Fixnum
49
- direction ? key += 1 : key -= 1 # backt or forward track based on current direction.
66
+ break if key == 81 # break if we've reached the last value.
67
+ t += 1 ; o += 1 # add the reporting variables.
68
+ break if o > 10000000 # there is the possibility to be given an unsolvable.
50
69
  end
51
- if key == 0 || t > 104 ||
52
- key == 1 && t > 3 # resets everything if we've reached a high amount
53
- @sud = @pristine.dup # of run throughs, or the key has wound down to 0.
54
- @used.each do |k,v|
55
- @used[k] = []
70
+ Builder.new(@sud)
71
+ end
72
+ end
73
+
74
+ def create
75
+ sud = pristine
76
+ used = pristine
77
+ t = 0 ; o = 0 ; key = 0 # main key and metric variables
78
+ loop do
79
+ c = [] ; r = [] ; g = [] # build values for current grid, row, column.
80
+ build_crg(key,c,r,g,sud) # updates the relevant variables for check.
81
+ sud[key] = [] # makes a fresh possibilities array.
82
+ for i in 1..9
83
+ if check?(i,c,r,g) &&
84
+ !used[key].include?(i)
85
+ sud[key] << i
56
86
  end
87
+ end
88
+ if sud[key].count == 0 # backtrack if no possibilities.
89
+ key -= 1
90
+ else
91
+ use = sud[key].sample # pick a random possibility.
92
+ sud[key] = [use] # uses the possibility.
93
+ used[key] << use # also puts it into the used array.
94
+ key += 1
95
+ end
96
+ if key == 0 || t > 104 # resets everything if we've reached a high count.
97
+ sud = pristine
98
+ used = pristine
57
99
  key = 0 ; t = 0
58
- direction = true
59
100
  end
60
- break if key == 81 # break if we've reached the last value.
61
- t += 1 ; o += 1 # add the reporting variables
62
- break if o > 1000000 # there is the possibility to be given an
101
+ break if key == 81 # break if we've reached the last value.
102
+ t += 1 ; o += 1 # add the reporting variables
63
103
  end
64
- Builder.new(@sud)
104
+ Builder.new(sud)
65
105
  end
66
106
 
67
107
  end
@@ -26,5 +26,15 @@ module SudokuBuilder
26
26
  def check?(val,c,r,g)
27
27
  !c.flatten.include?(val) && !r.flatten.include?(val) && !g.flatten.include?(val)
28
28
  end
29
+
30
+ def pristine
31
+ sud = {} ; q = 0
32
+ 81.times do
33
+ sud[q] = []
34
+ q += 1
35
+ end
36
+ sud
37
+ end
38
+
29
39
  end
30
40
  end
@@ -1,3 +1,3 @@
1
1
  module SudokuBuilder
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -6,12 +6,6 @@ require File.expand_path(File.join(File.dirname(__FILE__), 'sudoku_builder/versi
6
6
  module SudokuBuilder
7
7
  extend self
8
8
  def new
9
- sudoku = { }
10
- q = 0
11
- 81.times do
12
- sudoku[q] = []
13
- q += 1
14
- end
15
- Solver.new(sudoku).solve
9
+ Solver.new.create
16
10
  end
17
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sudoku_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colin Walker
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-06-04 00:00:00.000000000 Z
11
+ date: 2015-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler