sudoku_builder 0.1.0 → 0.1.1

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: c79901254ba69dc330d00c53542cd3befd8fbef5
4
- data.tar.gz: 97d94b440c15217c46205cb8e7a8aa24a3bfe404
3
+ metadata.gz: d31c9a419525975d9c40974e3963b227d70defee
4
+ data.tar.gz: 4bc3124d4e6dbc1760a42c66d5a865f65bfce958
5
5
  SHA512:
6
- metadata.gz: a691aa4778feea823ee36b77ed07d8744156e67c4993351e22567b7718f8d9b78be953eabbabbb6f7133ee9fd3059b0f46e50a7b92fa874473065774de742a5d
7
- data.tar.gz: a158488e1e42782b5f66354188e5b7d6f40d69f763c70c80b8e9b034737f04ce90d9a04258412bd351d84fea70626180798d48213cdd9913834d09418e5c0cc9
6
+ metadata.gz: 88d11bfc2e8efd7a6998f947a1f8d41321060574860ade5022bcfe00f4a609e54f9fcd927cdbd59505af7493445697bfeb9a1dc15db59d318f83ef11ca6c46dc
7
+ data.tar.gz: 3168bfb3fe236f11aeffefa8787f178d11a73a23f2192376e7cd55fe8d324e0b54dd4ff9d205472f5ae06ab02a07c3750649751fb5aa710800a6a462f41d2aab
data/.idea/workspace.xml CHANGED
@@ -2,7 +2,8 @@
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$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
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" />
6
7
  </list>
7
8
  <ignored path="sudoku.iws" />
8
9
  <ignored path=".idea/workspace.xml" />
@@ -26,7 +27,75 @@
26
27
  <favorites_list name="sudoku" />
27
28
  </component>
28
29
  <component name="FileEditorManager">
29
- <leaf />
30
+ <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">
33
+ <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" />
93
+ <folding />
94
+ </state>
95
+ </provider>
96
+ </entry>
97
+ </file>
98
+ </leaf>
30
99
  </component>
31
100
  <component name="Git.Settings">
32
101
  <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
@@ -40,11 +109,15 @@
40
109
  <option value="$PROJECT_DIR$/lib/sudoku/sudoku.rb" />
41
110
  <option value="$PROJECT_DIR$/lib/sudoku/builder.rb" />
42
111
  <option value="$PROJECT_DIR$/lib/sudoku/test_run.rb" />
43
- <option value="$PROJECT_DIR$/spec/sudoku_spec.rb" />
44
112
  <option value="$PROJECT_DIR$/.gitignore" />
45
113
  <option value="$PROJECT_DIR$/sudoku.gemspec" />
46
114
  <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" />
47
117
  <option value="$PROJECT_DIR$/lib/sudoku_builder.rb" />
118
+ <option value="$PROJECT_DIR$/lib/sudoku_builder/solver.rb" />
119
+ <option value="$PROJECT_DIR$/lib/sudoku_builder/builder.rb" />
120
+ <option value="$PROJECT_DIR$/README.md" />
48
121
  </list>
49
122
  </option>
50
123
  </component>
@@ -129,6 +202,20 @@
129
202
  <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
130
203
  </PATH_ELEMENT>
131
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>
132
219
  </subPane>
133
220
  </pane>
134
221
  <pane id="Scope" />
@@ -137,6 +224,7 @@
137
224
  <component name="PropertiesComponent">
138
225
  <property name="last_opened_file_path" value="$PROJECT_DIR$" />
139
226
  <property name="WebServerToolWindowFactoryState" value="false" />
227
+ <property name="FullScreen" value="false" />
140
228
  </component>
141
229
  <component name="RunManager">
142
230
  <configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
@@ -223,6 +311,12 @@
223
311
  <method />
224
312
  </configuration>
225
313
  <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
314
+ <node-options />
315
+ <gulpfile />
316
+ <tasks />
317
+ <arguments />
318
+ <pass-parent-envs>true</pass-parent-envs>
319
+ <envs />
226
320
  <method />
227
321
  </configuration>
228
322
  <list size="0" />
@@ -238,28 +332,28 @@
238
332
  <servers />
239
333
  </component>
240
334
  <component name="ToolWindowManager">
241
- <frame x="0" y="23" width="1280" height="773" extended-state="0" />
335
+ <frame x="0" y="23" width="1280" height="773" extended-state="6" />
242
336
  <editor active="false" />
243
337
  <layout>
244
- <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="-1" side_tool="false" content_ui="tabs" />
245
- <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.5984733" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
246
- <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="-1" side_tool="false" content_ui="tabs" />
247
- <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" />
248
- <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" />
249
- <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="-1" side_tool="true" content_ui="tabs" />
250
- <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="-1" side_tool="true" content_ui="tabs" />
251
- <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="-1" side_tool="false" content_ui="tabs" />
338
+ <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" />
252
340
  <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
+ <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" />
253
342
  <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" />
254
- <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="-1" side_tool="false" content_ui="tabs" />
255
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24959612" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
256
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977098" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
343
+ <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" />
347
+ <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
+ <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
+ <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" />
257
350
  <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" />
258
351
  <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" />
259
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
+ <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" />
260
354
  <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" />
261
- <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" />
262
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" />
356
+ <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" />
263
357
  </layout>
264
358
  </component>
265
359
  <component name="Vcs.Log.UiProperties">
@@ -279,23 +373,44 @@
279
373
  </option>
280
374
  </component>
281
375
  <component name="XDebuggerManager">
282
- <breakpoint-manager />
376
+ <breakpoint-manager>
377
+ <option name="time" value="1" />
378
+ </breakpoint-manager>
283
379
  <watches-manager />
284
380
  </component>
285
381
  <component name="editorHistoryManager">
286
- <entry file="file://$PROJECT_DIR$/spec/sudoku_spec.rb">
382
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
287
383
  <provider selected="true" editor-type-id="text-editor">
288
- <state vertical-scroll-proportion="0.0" vertical-offset="615" max-vertical-offset="1200">
289
- <caret line="71" column="5" selection-start-line="71" selection-start-column="5" selection-end-line="71" selection-end-column="5" />
384
+ <state vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="345">
385
+ <caret line="11" column="20" selection-start-line="11" selection-start-column="20" selection-end-line="11" selection-end-column="20" />
290
386
  <folding />
291
387
  </state>
292
388
  </provider>
293
389
  </entry>
390
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/sudoku.rb">
391
+ <provider selected="true" editor-type-id="text-editor">
392
+ <state vertical-scroll-proportion="0.0" vertical-offset="135" max-vertical-offset="375">
393
+ <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="19" selection-end-column="7" />
394
+ <folding>
395
+ <marker date="1433391076000" expanded="false" signature="454:1587" placeholder="..." />
396
+ </folding>
397
+ </state>
398
+ </provider>
399
+ </entry>
400
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/solver.rb">
401
+ <provider selected="true" editor-type-id="text-editor">
402
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1065">
403
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
404
+ <folding>
405
+ <marker date="1433399816000" expanded="false" signature="274:1002" placeholder="..." />
406
+ </folding>
407
+ </state>
408
+ </provider>
409
+ </entry>
294
410
  <entry file="file://$PROJECT_DIR$/.rspec">
295
411
  <provider selected="true" editor-type-id="text-editor">
296
412
  <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="410">
297
413
  <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
298
- <folding />
299
414
  </state>
300
415
  </provider>
301
416
  </entry>
@@ -311,7 +426,6 @@
311
426
  <provider selected="true" editor-type-id="text-editor">
312
427
  <state vertical-scroll-proportion="-28.2" vertical-offset="0" max-vertical-offset="810">
313
428
  <caret line="47" column="0" selection-start-line="47" selection-start-column="0" selection-end-line="47" selection-end-column="0" />
314
- <folding />
315
429
  </state>
316
430
  </provider>
317
431
  </entry>
@@ -319,7 +433,6 @@
319
433
  <provider selected="true" editor-type-id="text-editor">
320
434
  <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="410">
321
435
  <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
322
- <folding />
323
436
  </state>
324
437
  </provider>
325
438
  </entry>
@@ -327,7 +440,6 @@
327
440
  <provider selected="true" editor-type-id="text-editor">
328
441
  <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="630">
329
442
  <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
330
- <folding />
331
443
  </state>
332
444
  </provider>
333
445
  </entry>
@@ -341,59 +453,79 @@
341
453
  </entry>
342
454
  <entry file="file://$PROJECT_DIR$/sudoku_builder.gemspec">
343
455
  <provider selected="true" editor-type-id="text-editor">
344
- <state vertical-scroll-proportion="0.52380955" vertical-offset="0" max-vertical-offset="630">
345
- <caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
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" />
346
458
  <folding />
347
459
  </state>
348
460
  </provider>
349
461
  </entry>
350
- <entry file="file://$PROJECT_DIR$/README.md">
351
- <provider selected="true" editor-type-id="MarkdownPreviewEditor">
352
- <state />
462
+ <entry file="file://$PROJECT_DIR$/spec/sudoku_spec.rb">
463
+ <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" />
466
+ <folding />
467
+ </state>
353
468
  </provider>
354
- <provider editor-type-id="text-editor">
355
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="675">
356
- <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
469
+ </entry>
470
+ <entry file="file://$USER_HOME$/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rexml/functions.rb">
471
+ <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" />
357
474
  <folding />
358
475
  </state>
359
476
  </provider>
360
477
  </entry>
361
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/version.rb">
478
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
362
479
  <provider selected="true" editor-type-id="text-editor">
363
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="630">
364
- <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
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" />
365
482
  <folding />
366
483
  </state>
367
484
  </provider>
368
485
  </entry>
369
486
  <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/sudoku.rb">
370
487
  <provider selected="true" editor-type-id="text-editor">
371
- <state vertical-scroll-proportion="0.5714286" vertical-offset="0" max-vertical-offset="630">
372
- <caret line="24" column="0" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
373
- <folding />
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" />
490
+ <folding>
491
+ <marker date="1433391076000" expanded="false" signature="454:1587" placeholder="..." />
492
+ </folding>
374
493
  </state>
375
494
  </provider>
376
495
  </entry>
377
496
  <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/solver.rb">
378
497
  <provider selected="true" editor-type-id="text-editor">
379
- <state vertical-scroll-proportion="0.33333334" vertical-offset="0" max-vertical-offset="900">
380
- <caret line="14" column="19" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="19" />
381
- <folding />
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>
382
503
  </state>
383
504
  </provider>
384
505
  </entry>
385
506
  <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/builder.rb">
386
507
  <provider selected="true" editor-type-id="text-editor">
387
- <state vertical-scroll-proportion="0.1904762" vertical-offset="0" max-vertical-offset="1410">
388
- <caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
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" />
389
510
  <folding />
390
511
  </state>
391
512
  </provider>
392
513
  </entry>
393
- <entry file="file://$PROJECT_DIR$/lib/sudoku_builder.rb">
514
+ <entry file="file://$PROJECT_DIR$/README.md">
515
+ <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" />
518
+ <folding />
519
+ </state>
520
+ </provider>
521
+ <provider editor-type-id="MarkdownPreviewEditor">
522
+ <state />
523
+ </provider>
524
+ </entry>
525
+ <entry file="file://$PROJECT_DIR$/lib/sudoku_builder/version.rb">
394
526
  <provider selected="true" editor-type-id="text-editor">
395
- <state vertical-scroll-proportion="0.1904762" vertical-offset="0" max-vertical-offset="630">
396
- <caret line="8" column="16" selection-start-line="8" selection-start-column="16" selection-end-line="8" selection-end-column="16" />
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" />
397
529
  <folding />
398
530
  </state>
399
531
  </provider>
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sudoku_builder (0.1.0)
4
+ sudoku_builder (0.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -1,15 +1,21 @@
1
1
  # Sudoku
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/sudoku`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Welcome to `SudokuBuilder`. Build and fill out sudoku's with the same tool!
4
+
5
+ ### Quick Start
6
+ `> require 'sudoku_builder'`
7
+
8
+ Run the following in the console:
9
+ `> SudokuBuilder.new.pretty_print`
10
+
4
11
 
5
- TODO: Delete this and the text above, and describe your gem
6
12
 
7
13
  ## Installation
8
14
 
9
15
  Add this line to your application's Gemfile:
10
16
 
11
17
  ```ruby
12
- gem 'sudoku'
18
+ gem 'sudoku_builder'
13
19
  ```
14
20
 
15
21
  And then execute:
@@ -18,18 +24,18 @@ And then execute:
18
24
 
19
25
  Or install it yourself as:
20
26
 
21
- $ gem install sudoku
27
+ $ gem install sudoku_builder
22
28
 
23
29
  ## Usage
24
30
 
25
31
  To create a new puzzle:
26
32
 
27
- `Sudoku.new`
33
+ `SudokuBuilder.new`
28
34
 
29
- This will return a `Sudoku::Builder` object that looks like this:
35
+ This will return a `SudokuBuilder::Builder` object that looks like this:
30
36
 
31
37
  ```ruby
32
- #<Sudoku::Builder:0x007fdc729373e8 @sud={0=>[6], 1=>[8], 2=>[9], 3=>[5], 4=>[7], 5=>[2], 6=>[3], ...
38
+ #<SudokuBuilder::Builder:0x007fdc729373e8 @sud={0=>[6], 1=>[8], 2=>[9], 3=>[5], 4=>[7], 5=>[2], 6=>[3], ...
33
39
  ```
34
40
 
35
41
  On the builder object you can call a handful of different methods:
@@ -42,7 +48,7 @@ On the builder object you can call a handful of different methods:
42
48
 
43
49
  To solve an existing puzzle, call:
44
50
 
45
- `Sudoku::Solver.new(my_puzzle)`
51
+ `SudokuBuilder::Solver.new(my_puzzle).solve`
46
52
 
47
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:
48
54
 
@@ -1,7 +1,7 @@
1
1
  require File.expand_path(File.join(File.dirname(__FILE__), 'sudoku'))
2
2
 
3
3
  module SudokuBuilder
4
- class Builder < SudokuBuilder
4
+ class Builder < Sudoku
5
5
  def initialize(sudoku)
6
6
  @sud = sudoku
7
7
  end
@@ -47,7 +47,8 @@ module SudokuBuilder
47
47
  @sud.each do |k,v|
48
48
  c = [] ; r = [] ; g = []
49
49
  build_crg(k,c,r,g,@sud)
50
- if check?(v[0], c,r,g) # runs the check method used before on every value.
50
+ v.class == Array ? val = v[0] : val = v
51
+ if check?(val, c,r,g) # runs the check method used before on every value.
51
52
  valid << false
52
53
  else
53
54
  valid << true
@@ -2,50 +2,64 @@ require File.expand_path(File.join(File.dirname(__FILE__), 'sudoku'))
2
2
  require File.expand_path(File.join(File.dirname(__FILE__), 'builder'))
3
3
 
4
4
  module SudokuBuilder
5
- class Solver < SudokuBuilder
5
+ class Solver < Sudoku
6
6
 
7
7
  def initialize(sudoku)
8
8
  @sud = sudoku
9
9
  @pristine = sudoku
10
- @used = @sud.dup
10
+ @used = {
11
+ 0=> [], 1=> [], 2=> [], 3=> [], 4=> [], 5=> [], 6=> [], 7=> [], 8=> [],
12
+ 9=> [], 10=>[], 11=>[], 12=>[], 13=>[], 14=>[], 15=>[], 16=>[], 17=>[],
13
+ 18=>[], 19=>[], 20=>[], 21=>[], 22=>[], 23=>[], 24=>[], 25=>[], 26=>[],
14
+ 27=>[], 28=>[], 29=>[], 30=>[], 31=>[], 32=>[], 33=>[], 34=>[], 35=>[],
15
+ 36=>[], 37=>[], 38=>[], 39=>[], 40=>[], 41=>[], 42=>[], 43=>[], 44=>[],
16
+ 45=>[], 46=>[], 47=>[], 48=>[], 49=>[], 50=>[], 51=>[], 52=>[], 53=>[],
17
+ 54=>[], 55=>[], 56=>[], 57=>[], 58=>[], 59=>[], 60=>[], 61=>[], 62=>[],
18
+ 63=>[], 64=>[], 65=>[], 66=>[], 67=>[], 68=>[], 69=>[], 70=>[], 71=>[],
19
+ 72=>[], 73=>[], 74=>[], 75=>[], 76=>[], 77=>[], 78=>[], 79=>[], 80=>[]
20
+ }
11
21
  end
12
22
 
13
23
  # solve any given sudoku. If the sudoku is empty, it will build a complete one.
14
24
  def solve
15
- t = 0 ; o = 0
16
- key = 0 # main key variable.
25
+ t = 0 ; o = 0 ;
26
+ direction = true ; key = 0 # main key variable.
17
27
  loop do
18
- if @sud[key].class == Array # skips pre-filled numbers.
19
- c = [] ; r = [] ; g = [] # build values for current grid, row, column.
20
- build_crg(key,c,r,g,@sud) # updates the relevant variables for check.
21
- @sud[key] = [] # makes a fresh possibilities array.
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.
22
32
  for i in 1..9
23
33
  if check?(i, c,r,g) &&
24
- !@used[key].include?(i) # checks for possible numbers.
34
+ !@used[key].include?(i)
25
35
  @sud[key] << i
26
36
  end
27
37
  end
28
- if @sud[key].count == 0 # backtrack if no possibilities.
38
+ if @sud[key].count == 0 # backtrack if no possibilities.
29
39
  key -= 1
40
+ direction = false
30
41
  else
31
- use = @sud[key].sample # pick a random possibility.
32
- @sud[key] = [use] # uses the possibility.
33
- @used[key] << use # also puts it into the used array.
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.
34
45
  key += 1
46
+ direction = true
35
47
  end
36
- if key == 0 || t > 104 # resets everything if we've reached a high amount
37
- @sud.each { |k,v| @sud[k] = [] } # of run throughs, or the key has wound down to 0.
38
- @used = @sud.dup
39
- key = 0 ; t = 0
48
+ elsif @sud[key].class == Fixnum
49
+ direction ? key += 1 : key -= 1 # backt or forward track based on current direction.
50
+ 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] = []
40
56
  end
41
- else
42
- key += 1
57
+ key = 0 ; t = 0
58
+ direction = true
43
59
  end
44
- break if key == 81 # break if we've reached the last value.
45
- t += 1 ; o += 1 # add the reporting variables
46
- break if o > 1000000 # there is the possibility to be given an
47
- # unsolvable puzzle, this breaks if the number
48
- # of run throughs is really really high.
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
49
63
  end
50
64
  Builder.new(@sud)
51
65
  end
@@ -1,3 +1,3 @@
1
1
  module SudokuBuilder
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sudoku_builder
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
  - Colin Walker