Dogeku 1.0.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 (134) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +39 -0
  4. data/app/Historique/Action.rb +29 -0
  5. data/app/Historique/ChangerCase.rb +44 -0
  6. data/app/Historique/HistoriqueAction.rb +114 -0
  7. data/app/components/CaseDessin.rb +325 -0
  8. data/app/components/GrilleDessin.rb +235 -0
  9. data/app/components/Header.rb +194 -0
  10. data/app/config/app.yml +0 -0
  11. data/app/config/database.yml +2 -0
  12. data/app/controller/ApprentissageControleur.rb +75 -0
  13. data/app/controller/ChargerControleur.rb +41 -0
  14. data/app/controller/JeuLibreControleur.rb +244 -0
  15. data/app/controller/MenuControleur.rb +57 -0
  16. data/app/controller/NiveauControleur.rb +54 -0
  17. data/app/controller/NouvellePartieControleur.rb +34 -0
  18. data/app/controller/PrincipaleControleur.rb +30 -0
  19. data/app/controller/PseudoControleur.rb +95 -0
  20. data/app/controller/ReglagesControleur.rb +86 -0
  21. data/app/controller/ReglesControleur.rb +34 -0
  22. data/app/controller/ScoresControleur.rb +42 -0
  23. data/app/controller/StatistiquesControleur.rb +64 -0
  24. data/app/core/Conf.rb +26 -0
  25. data/app/core/Controller.rb +180 -0
  26. data/app/core/Core.rb +186 -0
  27. data/app/core/Model.rb +159 -0
  28. data/app/core/View.rb +56 -0
  29. data/app/db/main.sqlite3 +0 -0
  30. data/app/model/Configuration.rb +180 -0
  31. data/app/model/Grille.rb +180 -0
  32. data/app/model/Jeu.rb +74 -0
  33. data/app/model/Score.rb +100 -0
  34. data/app/model/Utilisateur.rb +113 -0
  35. data/app/utils/DSubset.rb +98 -0
  36. data/app/utils/Generateur.rb +171 -0
  37. data/app/utils/HPTriple.rb +75 -0
  38. data/app/utils/Peche.rb +46 -0
  39. data/app/utils/SCandidate.rb +86 -0
  40. data/app/utils/SCell.rb +73 -0
  41. data/app/utils/Technique.rb +202 -0
  42. data/app/utils/TechniqueUsine.rb +25 -0
  43. data/app/utils/XWing.rb +203 -0
  44. data/app/view/Fenetre.rb +424 -0
  45. data/app/view/FenetreApprentissage.rb +272 -0
  46. data/app/view/FenetreCharger.rb +31 -0
  47. data/app/view/FenetreJeuLibre.rb +468 -0
  48. data/app/view/FenetreMenu.rb +198 -0
  49. data/app/view/FenetreNiveau.rb +105 -0
  50. data/app/view/FenetreNouvellePartie.rb +92 -0
  51. data/app/view/FenetrePrincipale.rb +45 -0
  52. data/app/view/FenetrePseudo.rb +115 -0
  53. data/app/view/FenetreReglages.rb +209 -0
  54. data/app/view/FenetreRegles.rb +111 -0
  55. data/app/view/FenetreScores.rb +120 -0
  56. data/app/view/FenetreStatistiques.rb +134 -0
  57. data/assets/css/style.css +69 -0
  58. data/assets/img/eraser.png +0 -0
  59. data/assets/img/fond.jpg +0 -0
  60. data/assets/img/iconApp.png +0 -0
  61. data/assets/img/logoS.jpeg +0 -0
  62. data/assets/img/sudokuIntro.jpg +0 -0
  63. data/assets/img/user.png +0 -0
  64. data/bin/dogeku +19 -0
  65. data/doc/Action.html +309 -0
  66. data/doc/ApprentissageControleur.html +568 -0
  67. data/doc/CaseDessin.html +2405 -0
  68. data/doc/ChangerCase.html +405 -0
  69. data/doc/ChargerControleur.html +342 -0
  70. data/doc/Conf.html +378 -0
  71. data/doc/Configuration.html +1115 -0
  72. data/doc/Controller.html +1008 -0
  73. data/doc/Core.html +1191 -0
  74. data/doc/DSubset.html +647 -0
  75. data/doc/Fenetre.html +2631 -0
  76. data/doc/FenetreApprentissage.html +1175 -0
  77. data/doc/FenetreCharger.html +343 -0
  78. data/doc/FenetreJeuLibre.html +1859 -0
  79. data/doc/FenetreMenu.html +900 -0
  80. data/doc/FenetreNiveau.html +626 -0
  81. data/doc/FenetreNouvellePartie.html +602 -0
  82. data/doc/FenetrePrincipale.html +371 -0
  83. data/doc/FenetrePseudo.html +695 -0
  84. data/doc/FenetreReglages.html +946 -0
  85. data/doc/FenetreRegles.html +636 -0
  86. data/doc/FenetreScores.html +650 -0
  87. data/doc/FenetreStatistiques.html +672 -0
  88. data/doc/Generateur.html +1015 -0
  89. data/doc/Grille.html +1348 -0
  90. data/doc/GrilleDessin.html +1281 -0
  91. data/doc/HPTriple.html +593 -0
  92. data/doc/Header.html +1253 -0
  93. data/doc/HistoriqueAction.html +792 -0
  94. data/doc/Jeu.html +923 -0
  95. data/doc/JeuLibreControleur.html +1445 -0
  96. data/doc/MenuControleur.html +522 -0
  97. data/doc/Model.html +996 -0
  98. data/doc/NiveauControleur.html +451 -0
  99. data/doc/NouvellePartieControleur.html +330 -0
  100. data/doc/Peche.html +396 -0
  101. data/doc/PrincipaleControleur.html +320 -0
  102. data/doc/PseudoControleur.html +695 -0
  103. data/doc/ReglagesControleur.html +747 -0
  104. data/doc/ReglesControleur.html +330 -0
  105. data/doc/SCandidate.html +617 -0
  106. data/doc/SCell.html +587 -0
  107. data/doc/Score.html +926 -0
  108. data/doc/ScoresControleur.html +346 -0
  109. data/doc/StatistiquesControleur.html +390 -0
  110. data/doc/Technique.html +543 -0
  111. data/doc/TechniqueUsine.html +252 -0
  112. data/doc/Utilisateur.html +806 -0
  113. data/doc/View.html +844 -0
  114. data/doc/XWing.html +1031 -0
  115. data/doc/_index.html +478 -0
  116. data/doc/class_list.html +51 -0
  117. data/doc/css/common.css +1 -0
  118. data/doc/css/full_list.css +58 -0
  119. data/doc/css/style.css +492 -0
  120. data/doc/file.README.html +141 -0
  121. data/doc/file_list.html +56 -0
  122. data/doc/frames.html +17 -0
  123. data/doc/index.html +141 -0
  124. data/doc/js/app.js +243 -0
  125. data/doc/js/full_list.js +216 -0
  126. data/doc/js/jquery.js +4 -0
  127. data/doc/method_list.html +2523 -0
  128. data/doc/top-level-namespace.html +112 -0
  129. data/test/Generateur/grilleCorrecte.rb +198 -0
  130. data/test/Model/scoreCorrecte.rb +55 -0
  131. data/test/Model/utilisateurCorrecte.rb +68 -0
  132. data/test/test_helper.rb +2 -0
  133. data/test/unitTest.rb +72 -0
  134. metadata +187 -0
data/doc/Grille.html ADDED
@@ -0,0 +1,1348 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Grille
8
+
9
+ &mdash; Documentation by YARD 0.9.8
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "Grille";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index (G)</a> &raquo;
40
+
41
+
42
+ <span class="title">Grille</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: Grille
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName"><span class='object_link'><a href="Model.html" title="Model (class)">Model</a></span></span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next"><span class='object_link'><a href="Model.html" title="Model (class)">Model</a></span></li>
78
+
79
+ <li class="next">Grille</li>
80
+
81
+ </ul>
82
+ <a href="#" class="inheritanceTree">show all</a>
83
+
84
+ </dd>
85
+ </dl>
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <dl>
98
+ <dt>Defined in:</dt>
99
+ <dd>app/model/Grille.rb</dd>
100
+ </dl>
101
+
102
+ </div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+
107
+ <p>Méthodes permettant de manager la grille et de faire des vérifications de
108
+ la validité d&#39;une valeur</p>
109
+
110
+ <pre class="code ruby"><code class="ruby"><span class='const'>Modèle</span> <span class='id identifier rubyid_de'>de</span> <span class='id identifier rubyid_la'>la</span> <span class='id identifier rubyid_grille'>grille</span>
111
+ </code></pre>
112
+
113
+
114
+ </div>
115
+ </div>
116
+ <div class="tags">
117
+
118
+
119
+ </div>
120
+
121
+
122
+
123
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
124
+ <ul class="summary">
125
+
126
+ <li class="public ">
127
+ <span class="summary_signature">
128
+
129
+ <a href="#grille-instance_method" title="#grille (instance method)">#<strong>grille</strong> &#x21d2; Object </a>
130
+
131
+
132
+
133
+ </span>
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+ <span class="summary_desc"><div class='inline'>
147
+ <p>Returns the value of attribute grille.</p>
148
+ </div></span>
149
+
150
+ </li>
151
+
152
+
153
+ <li class="public ">
154
+ <span class="summary_signature">
155
+
156
+ <a href="#nbVides-instance_method" title="#nbVides (instance method)">#<strong>nbVides</strong> &#x21d2; Object </a>
157
+
158
+
159
+
160
+ </span>
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+ <span class="summary_desc"><div class='inline'>
174
+ <p>Returns the value of attribute nbVides.</p>
175
+ </div></span>
176
+
177
+ </li>
178
+
179
+
180
+ </ul>
181
+
182
+
183
+
184
+
185
+
186
+ <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Model.html" title="Model (class)">Model</a></span></h3>
187
+ <p class="inherited"><span class='object_link'><a href="Model.html#db-instance_method" title="Model#db (method)">#db</a></span></p>
188
+
189
+
190
+
191
+ <h2>
192
+ Instance Method Summary
193
+ <small><a href="#" class="summary_toggle">collapse</a></small>
194
+ </h2>
195
+
196
+ <ul class="summary">
197
+
198
+ <li class="public ">
199
+ <span class="summary_signature">
200
+
201
+ <a href="#charger-instance_method" title="#charger (instance method)">#<strong>charger</strong>(pseudo) &#x21d2; Object </a>
202
+
203
+
204
+
205
+ </span>
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+ <span class="summary_desc"><div class='inline'>
216
+ <p>Charge la partie du pseudo donnée.</p>
217
+ </div></span>
218
+
219
+ </li>
220
+
221
+
222
+ <li class="public ">
223
+ <span class="summary_signature">
224
+
225
+ <a href="#countNbVides-instance_method" title="#countNbVides (instance method)">#<strong>countNbVides</strong> &#x21d2; Object </a>
226
+
227
+
228
+
229
+ </span>
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+ <span class="summary_desc"><div class='inline'>
240
+ <p>Compte le nombre de cases vides.</p>
241
+ </div></span>
242
+
243
+ </li>
244
+
245
+
246
+ <li class="public ">
247
+ <span class="summary_signature">
248
+
249
+ <a href="#generer-instance_method" title="#generer (instance method)">#<strong>generer</strong>(niveau) &#x21d2; Object </a>
250
+
251
+
252
+
253
+ </span>
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+ <span class="summary_desc"><div class='inline'>
264
+ <p>Génère une grille avec un niveau donné.</p>
265
+ </div></span>
266
+
267
+ </li>
268
+
269
+
270
+ <li class="public ">
271
+ <span class="summary_signature">
272
+
273
+ <a href="#getValue-instance_method" title="#getValue (instance method)">#<strong>getValue</strong>(x, y) &#x21d2; Object </a>
274
+
275
+
276
+
277
+ </span>
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+ <span class="summary_desc"><div class='inline'>
288
+ <p>Récupère la valeur de la case de la grille.</p>
289
+ </div></span>
290
+
291
+ </li>
292
+
293
+
294
+ <li class="public ">
295
+ <span class="summary_signature">
296
+
297
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong> &#x21d2; Grille </a>
298
+
299
+
300
+
301
+ </span>
302
+
303
+
304
+ <span class="note title constructor">constructor</span>
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+ <span class="summary_desc"><div class='inline'>
314
+ <p>Initialisation.</p>
315
+ </div></span>
316
+
317
+ </li>
318
+
319
+
320
+ <li class="public ">
321
+ <span class="summary_signature">
322
+
323
+ <a href="#sauvegarder-instance_method" title="#sauvegarder (instance method)">#<strong>sauvegarder</strong>(pseudo) &#x21d2; Object </a>
324
+
325
+
326
+
327
+ </span>
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+ <span class="summary_desc"><div class='inline'>
338
+ <p>Sauvegarde la partie du joueur.</p>
339
+ </div></span>
340
+
341
+ </li>
342
+
343
+
344
+ <li class="public ">
345
+ <span class="summary_signature">
346
+
347
+ <a href="#valeurUnique-instance_method" title="#valeurUnique (instance method)">#<strong>valeurUnique</strong>(valeur, x, y) &#x21d2; Object </a>
348
+
349
+
350
+
351
+ </span>
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+ <span class="summary_desc"><div class='inline'>
362
+ <p>Vérifie à partir de coordonnées que la valeur est unique.</p>
363
+ </div></span>
364
+
365
+ </li>
366
+
367
+
368
+ <li class="public ">
369
+ <span class="summary_signature">
370
+
371
+ <a href="#valeurUniqueLigne-instance_method" title="#valeurUniqueLigne (instance method)">#<strong>valeurUniqueLigne</strong>(valeur, x, y, type) &#x21d2; Object </a>
372
+
373
+
374
+
375
+ </span>
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+ <span class="summary_desc"><div class='inline'>
386
+ <p>Vérifie les valeurs d&#39;une ligne en se basant sur des coordonées
387
+ initiales.</p>
388
+ </div></span>
389
+
390
+ </li>
391
+
392
+
393
+ </ul>
394
+
395
+
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Model.html" title="Model (class)">Model</a></span></h3>
406
+ <p class="inherited"><span class='object_link'><a href="Model.html#connection-instance_method" title="Model#connection (method)">#connection</a></span>, <span class='object_link'><a href="Model.html#inherited-class_method" title="Model.inherited (method)">inherited</a></span>, <span class='object_link'><a href="Model.html#insert-instance_method" title="Model#insert (method)">#insert</a></span>, <span class='object_link'><a href="Model.html#mkDatabaseDir-instance_method" title="Model#mkDatabaseDir (method)">#mkDatabaseDir</a></span>, <span class='object_link'><a href="Model.html#to_h-instance_method" title="Model#to_h (method)">#to_h</a></span></p>
407
+
408
+ <div id="constructor_details" class="method_details_list">
409
+ <h2>Constructor Details</h2>
410
+
411
+ <div class="method_details first">
412
+ <h3 class="signature first" id="initialize-instance_method">
413
+
414
+ #<strong>initialize</strong> &#x21d2; <tt><span class='object_link'><a href="" title="Grille (class)">Grille</a></span></tt>
415
+
416
+
417
+
418
+
419
+
420
+ </h3><div class="docstring">
421
+ <div class="discussion">
422
+
423
+ <p>Initialisation</p>
424
+
425
+
426
+ </div>
427
+ </div>
428
+ <div class="tags">
429
+
430
+
431
+ </div><table class="source_code">
432
+ <tr>
433
+ <td>
434
+ <pre class="lines">
435
+
436
+
437
+ 18
438
+ 19
439
+ 20</pre>
440
+ </td>
441
+ <td>
442
+ <pre class="code"><span class="info file"># File 'app/model/Grille.rb', line 18</span>
443
+
444
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='rparen'>)</span>
445
+ <span class='ivar'>@grille</span> <span class='op'>=</span> <span class='kw'>nil</span>
446
+ <span class='kw'>end</span></pre>
447
+ </td>
448
+ </tr>
449
+ </table>
450
+ </div>
451
+
452
+ </div>
453
+
454
+ <div id="instance_attr_details" class="attr_details">
455
+ <h2>Instance Attribute Details</h2>
456
+
457
+
458
+ <span id="grille=-instance_method"></span>
459
+ <div class="method_details first">
460
+ <h3 class="signature first" id="grille-instance_method">
461
+
462
+ #<strong>grille</strong> &#x21d2; <tt>Object</tt>
463
+
464
+
465
+
466
+
467
+
468
+ </h3><div class="docstring">
469
+ <div class="discussion">
470
+
471
+ <p>Returns the value of attribute grille</p>
472
+
473
+
474
+ </div>
475
+ </div>
476
+ <div class="tags">
477
+
478
+
479
+ </div><table class="source_code">
480
+ <tr>
481
+ <td>
482
+ <pre class="lines">
483
+
484
+
485
+ 13
486
+ 14
487
+ 15</pre>
488
+ </td>
489
+ <td>
490
+ <pre class="code"><span class="info file"># File 'app/model/Grille.rb', line 13</span>
491
+
492
+ <span class='kw'>def</span> <span class='id identifier rubyid_grille'>grille</span>
493
+ <span class='ivar'>@grille</span>
494
+ <span class='kw'>end</span></pre>
495
+ </td>
496
+ </tr>
497
+ </table>
498
+ </div>
499
+
500
+
501
+ <span id="nbVides=-instance_method"></span>
502
+ <div class="method_details ">
503
+ <h3 class="signature " id="nbVides-instance_method">
504
+
505
+ #<strong>nbVides</strong> &#x21d2; <tt>Object</tt>
506
+
507
+
508
+
509
+
510
+
511
+ </h3><div class="docstring">
512
+ <div class="discussion">
513
+
514
+ <p>Returns the value of attribute nbVides</p>
515
+
516
+
517
+ </div>
518
+ </div>
519
+ <div class="tags">
520
+
521
+
522
+ </div><table class="source_code">
523
+ <tr>
524
+ <td>
525
+ <pre class="lines">
526
+
527
+
528
+ 13
529
+ 14
530
+ 15</pre>
531
+ </td>
532
+ <td>
533
+ <pre class="code"><span class="info file"># File 'app/model/Grille.rb', line 13</span>
534
+
535
+ <span class='kw'>def</span> <span class='id identifier rubyid_nbVides'>nbVides</span>
536
+ <span class='ivar'>@nbVides</span>
537
+ <span class='kw'>end</span></pre>
538
+ </td>
539
+ </tr>
540
+ </table>
541
+ </div>
542
+
543
+ </div>
544
+
545
+
546
+ <div id="instance_method_details" class="method_details_list">
547
+ <h2>Instance Method Details</h2>
548
+
549
+
550
+ <div class="method_details first">
551
+ <h3 class="signature first" id="charger-instance_method">
552
+
553
+ #<strong>charger</strong>(pseudo) &#x21d2; <tt>Object</tt>
554
+
555
+
556
+
557
+
558
+
559
+ </h3><div class="docstring">
560
+ <div class="discussion">
561
+
562
+ <p>Charge la partie du pseudo donnée</p>
563
+
564
+
565
+ </div>
566
+ </div>
567
+ <div class="tags">
568
+ <p class="tag_title">Parameters:</p>
569
+ <ul class="param">
570
+
571
+ <li>
572
+
573
+ <span class='name'>pseudo</span>
574
+
575
+
576
+ <span class='type'></span>
577
+
578
+
579
+
580
+ &mdash;
581
+ <div class='inline'>
582
+ <p>Le pseudo du joueur qui charge</p>
583
+ </div>
584
+
585
+ </li>
586
+
587
+ </ul>
588
+
589
+ <p class="tag_title">Returns:</p>
590
+ <ul class="return">
591
+
592
+ <li>
593
+
594
+
595
+ <span class='type'></span>
596
+
597
+
598
+
599
+
600
+ <div class='inline'>
601
+ <p>La grille chargée</p>
602
+ </div>
603
+
604
+ </li>
605
+
606
+ </ul>
607
+
608
+ </div><table class="source_code">
609
+ <tr>
610
+ <td>
611
+ <pre class="lines">
612
+
613
+
614
+ 63
615
+ 64
616
+ 65
617
+ 66</pre>
618
+ </td>
619
+ <td>
620
+ <pre class="code"><span class="info file"># File 'app/model/Grille.rb', line 63</span>
621
+
622
+ <span class='kw'>def</span> <span class='id identifier rubyid_charger'>charger</span><span class='lparen'>(</span><span class='id identifier rubyid_pseudo'>pseudo</span><span class='rparen'>)</span>
623
+ <span class='id identifier rubyid_donnees'>donnees</span> <span class='op'>=</span> <span class='const'>YAML</span><span class='period'>.</span><span class='id identifier rubyid_load_file'>load_file</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="Core.html" title="Core (module)">Core</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Core.html#ROOTPROJECT-constant" title="Core::ROOTPROJECT (constant)">ROOTPROJECT</a></span></span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>assets/save/</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span> <span class='id identifier rubyid_pseudo'>pseudo</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.yml</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
624
+ <span class='ivar'>@grille</span><span class='op'>=</span><span class='id identifier rubyid_donnees'>donnees</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>grille</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
625
+ <span class='kw'>end</span></pre>
626
+ </td>
627
+ </tr>
628
+ </table>
629
+ </div>
630
+
631
+ <div class="method_details ">
632
+ <h3 class="signature " id="countNbVides-instance_method">
633
+
634
+ #<strong>countNbVides</strong> &#x21d2; <tt>Object</tt>
635
+
636
+
637
+
638
+
639
+
640
+ </h3><div class="docstring">
641
+ <div class="discussion">
642
+
643
+ <p>Compte le nombre de cases vides</p>
644
+
645
+
646
+ </div>
647
+ </div>
648
+ <div class="tags">
649
+
650
+ <p class="tag_title">Returns:</p>
651
+ <ul class="return">
652
+
653
+ <li>
654
+
655
+
656
+ <span class='type'></span>
657
+
658
+
659
+
660
+
661
+ <div class='inline'>
662
+ <p>Nombre de cases vides.</p>
663
+ </div>
664
+
665
+ </li>
666
+
667
+ </ul>
668
+
669
+ </div><table class="source_code">
670
+ <tr>
671
+ <td>
672
+ <pre class="lines">
673
+
674
+
675
+ 44
676
+ 45
677
+ 46
678
+ 47
679
+ 48
680
+ 49
681
+ 50
682
+ 51
683
+ 52
684
+ 53
685
+ 54</pre>
686
+ </td>
687
+ <td>
688
+ <pre class="code"><span class="info file"># File 'app/model/Grille.rb', line 44</span>
689
+
690
+ <span class='kw'>def</span> <span class='id identifier rubyid_countNbVides'>countNbVides</span><span class='lparen'>(</span><span class='rparen'>)</span>
691
+ <span class='ivar'>@nbVides</span> <span class='op'>=</span> <span class='int'>0</span>
692
+
693
+ <span class='ivar'>@grille</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_ligne'>ligne</span><span class='op'>|</span>
694
+ <span class='id identifier rubyid_ligne'>ligne</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='op'>|</span>
695
+ <span class='kw'>if</span><span class='lparen'>(</span> <span class='id identifier rubyid_c'>c</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>value</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='kw'>nil</span><span class='rparen'>)</span>
696
+ <span class='ivar'>@nbVides</span> <span class='op'>+=</span> <span class='int'>1</span>
697
+ <span class='kw'>end</span>
698
+ <span class='kw'>end</span>
699
+ <span class='kw'>end</span>
700
+ <span class='kw'>end</span></pre>
701
+ </td>
702
+ </tr>
703
+ </table>
704
+ </div>
705
+
706
+ <div class="method_details ">
707
+ <h3 class="signature " id="generer-instance_method">
708
+
709
+ #<strong>generer</strong>(niveau) &#x21d2; <tt>Object</tt>
710
+
711
+
712
+
713
+
714
+
715
+ </h3><div class="docstring">
716
+ <div class="discussion">
717
+
718
+ <p>Génère une grille avec un niveau donné</p>
719
+
720
+
721
+ </div>
722
+ </div>
723
+ <div class="tags">
724
+ <p class="tag_title">Parameters:</p>
725
+ <ul class="param">
726
+
727
+ <li>
728
+
729
+ <span class='name'>niveau</span>
730
+
731
+
732
+ <span class='type'></span>
733
+
734
+
735
+
736
+ &mdash;
737
+ <div class='inline'>
738
+ <p>Le niveau souhaité</p>
739
+ </div>
740
+
741
+ </li>
742
+
743
+ </ul>
744
+
745
+ <p class="tag_title">Returns:</p>
746
+ <ul class="return">
747
+
748
+ <li>
749
+
750
+
751
+ <span class='type'></span>
752
+
753
+
754
+
755
+
756
+ <div class='inline'>
757
+ <p>La grille génerée</p>
758
+ </div>
759
+
760
+ </li>
761
+
762
+ </ul>
763
+
764
+ </div><table class="source_code">
765
+ <tr>
766
+ <td>
767
+ <pre class="lines">
768
+
769
+
770
+ 30
771
+ 31
772
+ 32
773
+ 33
774
+ 34
775
+ 35
776
+ 36
777
+ 37</pre>
778
+ </td>
779
+ <td>
780
+ <pre class="code"><span class="info file"># File 'app/model/Grille.rb', line 30</span>
781
+
782
+ <span class='kw'>def</span> <span class='id identifier rubyid_generer'>generer</span><span class='lparen'>(</span><span class='id identifier rubyid_niveau'>niveau</span><span class='rparen'>)</span>
783
+ <span class='comment'># Niveau + 1 car constante de 0 à 2 passée en paramètre
784
+ </span>
785
+ <span class='ivar'>@gen</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Generateur.html" title="Generateur (class)">Generateur</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Generateur.html#initialize-instance_method" title="Generateur#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_niveau'>niveau</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span>
786
+ <span class='ivar'>@grille</span> <span class='op'>=</span> <span class='ivar'>@gen</span><span class='period'>.</span><span class='id identifier rubyid_generer'>generer</span><span class='lparen'>(</span><span class='rparen'>)</span>
787
+
788
+ <span class='kw'>return</span> <span class='ivar'>@grille</span>
789
+ <span class='kw'>end</span></pre>
790
+ </td>
791
+ </tr>
792
+ </table>
793
+ </div>
794
+
795
+ <div class="method_details ">
796
+ <h3 class="signature " id="getValue-instance_method">
797
+
798
+ #<strong>getValue</strong>(x, y) &#x21d2; <tt>Object</tt>
799
+
800
+
801
+
802
+
803
+
804
+ </h3><div class="docstring">
805
+ <div class="discussion">
806
+
807
+ <p>Récupère la valeur de la case de la grille</p>
808
+
809
+
810
+ </div>
811
+ </div>
812
+ <div class="tags">
813
+ <p class="tag_title">Parameters:</p>
814
+ <ul class="param">
815
+
816
+ <li>
817
+
818
+ <span class='name'>x</span>
819
+
820
+
821
+ <span class='type'></span>
822
+
823
+
824
+
825
+ &mdash;
826
+ <div class='inline'>
827
+ <p>Abscisse de la grille</p>
828
+ </div>
829
+
830
+ </li>
831
+
832
+ <li>
833
+
834
+ <span class='name'>y</span>
835
+
836
+
837
+ <span class='type'></span>
838
+
839
+
840
+
841
+ &mdash;
842
+ <div class='inline'>
843
+ <p>Ordonnée de la grille</p>
844
+ </div>
845
+
846
+ </li>
847
+
848
+ </ul>
849
+
850
+ <p class="tag_title">Returns:</p>
851
+ <ul class="return">
852
+
853
+ <li>
854
+
855
+
856
+ <span class='type'></span>
857
+
858
+
859
+
860
+
861
+ <div class='inline'>
862
+ <p>la valeur</p>
863
+ </div>
864
+
865
+ </li>
866
+
867
+ </ul>
868
+
869
+ </div><table class="source_code">
870
+ <tr>
871
+ <td>
872
+ <pre class="lines">
873
+
874
+
875
+ 93
876
+ 94
877
+ 95</pre>
878
+ </td>
879
+ <td>
880
+ <pre class="code"><span class="info file"># File 'app/model/Grille.rb', line 93</span>
881
+
882
+ <span class='kw'>def</span> <span class='id identifier rubyid_getValue'>getValue</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='rparen'>)</span>
883
+ <span class='kw'>return</span> <span class='ivar'>@grille</span><span class='lbracket'>[</span><span class='id identifier rubyid_x'>x</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_y'>y</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>value</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
884
+ <span class='kw'>end</span></pre>
885
+ </td>
886
+ </tr>
887
+ </table>
888
+ </div>
889
+
890
+ <div class="method_details ">
891
+ <h3 class="signature " id="sauvegarder-instance_method">
892
+
893
+ #<strong>sauvegarder</strong>(pseudo) &#x21d2; <tt>Object</tt>
894
+
895
+
896
+
897
+
898
+
899
+ </h3><div class="docstring">
900
+ <div class="discussion">
901
+
902
+ <p>Sauvegarde la partie du joueur</p>
903
+
904
+
905
+ </div>
906
+ </div>
907
+ <div class="tags">
908
+ <p class="tag_title">Parameters:</p>
909
+ <ul class="param">
910
+
911
+ <li>
912
+
913
+ <span class='name'>pseudo</span>
914
+
915
+
916
+ <span class='type'></span>
917
+
918
+
919
+
920
+ &mdash;
921
+ <div class='inline'>
922
+ <p>Le pseudo du joueur qui sauvegarde</p>
923
+ </div>
924
+
925
+ </li>
926
+
927
+ </ul>
928
+
929
+ <p class="tag_title">Returns:</p>
930
+ <ul class="return">
931
+
932
+ <li>
933
+
934
+
935
+ <span class='type'></span>
936
+
937
+
938
+
939
+
940
+ <div class='inline'>
941
+ <p>Retourne vrai quand la sauvegarde s&#39;est faite</p>
942
+ </div>
943
+
944
+ </li>
945
+
946
+ </ul>
947
+
948
+ </div><table class="source_code">
949
+ <tr>
950
+ <td>
951
+ <pre class="lines">
952
+
953
+
954
+ 75
955
+ 76
956
+ 77
957
+ 78
958
+ 79
959
+ 80
960
+ 81
961
+ 82
962
+ 83</pre>
963
+ </td>
964
+ <td>
965
+ <pre class="code"><span class="info file"># File 'app/model/Grille.rb', line 75</span>
966
+
967
+ <span class='kw'>def</span> <span class='id identifier rubyid_sauvegarder'>sauvegarder</span><span class='lparen'>(</span><span class='id identifier rubyid_pseudo'>pseudo</span><span class='rparen'>)</span>
968
+ <span class='id identifier rubyid_donnees'>donnees</span><span class='op'>=</span><span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='rparen'>)</span>
969
+ <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="Core.html" title="Core (module)">Core</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Core.html#ROOTPROJECT-constant" title="Core::ROOTPROJECT (constant)">ROOTPROJECT</a></span></span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>assets/save/</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span> <span class='id identifier rubyid_pseudo'>pseudo</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.yml</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>w</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_fichier'>fichier</span><span class='op'>|</span>
970
+ <span class='id identifier rubyid_donnees'>donnees</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>grille</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@grille</span>
971
+ <span class='id identifier rubyid_fichier'>fichier</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_donnees'>donnees</span><span class='period'>.</span><span class='id identifier rubyid_to_yaml'>to_yaml</span><span class='rparen'>)</span>
972
+ <span class='kw'>end</span>
973
+
974
+ <span class='kw'>return</span> <span class='kw'>true</span>
975
+ <span class='kw'>end</span></pre>
976
+ </td>
977
+ </tr>
978
+ </table>
979
+ </div>
980
+
981
+ <div class="method_details ">
982
+ <h3 class="signature " id="valeurUnique-instance_method">
983
+
984
+ #<strong>valeurUnique</strong>(valeur, x, y) &#x21d2; <tt>Object</tt>
985
+
986
+
987
+
988
+
989
+
990
+ </h3><div class="docstring">
991
+ <div class="discussion">
992
+
993
+ <p>Vérifie à partir de coordonnées que la valeur est unique</p>
994
+
995
+
996
+ </div>
997
+ </div>
998
+ <div class="tags">
999
+ <p class="tag_title">Parameters:</p>
1000
+ <ul class="param">
1001
+
1002
+ <li>
1003
+
1004
+ <span class='name'>valeur</span>
1005
+
1006
+
1007
+ <span class='type'></span>
1008
+
1009
+
1010
+
1011
+ &mdash;
1012
+ <div class='inline'>
1013
+ <p>Valeur de la case</p>
1014
+ </div>
1015
+
1016
+ </li>
1017
+
1018
+ <li>
1019
+
1020
+ <span class='name'>x</span>
1021
+
1022
+
1023
+ <span class='type'></span>
1024
+
1025
+
1026
+
1027
+ &mdash;
1028
+ <div class='inline'>
1029
+ <p>Abscisse de la case</p>
1030
+ </div>
1031
+
1032
+ </li>
1033
+
1034
+ <li>
1035
+
1036
+ <span class='name'>y</span>
1037
+
1038
+
1039
+ <span class='type'></span>
1040
+
1041
+
1042
+
1043
+ &mdash;
1044
+ <div class='inline'>
1045
+ <p>Ordonnée de la case</p>
1046
+ </div>
1047
+
1048
+ </li>
1049
+
1050
+ </ul>
1051
+
1052
+ <p class="tag_title">Returns:</p>
1053
+ <ul class="return">
1054
+
1055
+ <li>
1056
+
1057
+
1058
+ <span class='type'></span>
1059
+
1060
+
1061
+
1062
+
1063
+ <div class='inline'>
1064
+ <p>true si la cellule est bien unique false sinon</p>
1065
+ </div>
1066
+
1067
+ </li>
1068
+
1069
+ </ul>
1070
+
1071
+ </div><table class="source_code">
1072
+ <tr>
1073
+ <td>
1074
+ <pre class="lines">
1075
+
1076
+
1077
+ 105
1078
+ 106
1079
+ 107
1080
+ 108
1081
+ 109
1082
+ 110
1083
+ 111
1084
+ 112
1085
+ 113
1086
+ 114
1087
+ 115
1088
+ 116
1089
+ 117
1090
+ 118
1091
+ 119
1092
+ 120
1093
+ 121
1094
+ 122
1095
+ 123
1096
+ 124
1097
+ 125
1098
+ 126
1099
+ 127
1100
+ 128
1101
+ 129
1102
+ 130
1103
+ 131
1104
+ 132
1105
+ 133
1106
+ 134
1107
+ 135
1108
+ 136
1109
+ 137
1110
+ 138
1111
+ 139
1112
+ 140</pre>
1113
+ </td>
1114
+ <td>
1115
+ <pre class="code"><span class="info file"># File 'app/model/Grille.rb', line 105</span>
1116
+
1117
+ <span class='kw'>def</span> <span class='id identifier rubyid_valeurUnique'>valeurUnique</span><span class='lparen'>(</span><span class='id identifier rubyid_valeur'>valeur</span><span class='comma'>,</span> <span class='id identifier rubyid_x'>x</span> <span class='comma'>,</span><span class='id identifier rubyid_y'>y</span><span class='rparen'>)</span>
1118
+ <span class='id identifier rubyid_ligneUnique'>ligneUnique</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_valeurUniqueLigne'>valeurUniqueLigne</span><span class='lparen'>(</span><span class='id identifier rubyid_valeur'>valeur</span><span class='comma'>,</span> <span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ligne</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1119
+ <span class='id identifier rubyid_colonneUnique'>colonneUnique</span> <span class='op'>=</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_valeurUniqueLigne'>valeurUniqueLigne</span><span class='lparen'>(</span><span class='id identifier rubyid_valeur'>valeur</span><span class='comma'>,</span> <span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>colonne</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1120
+
1121
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_ligneUnique'>ligneUnique</span> <span class='op'>==</span> <span class='kw'>false</span> <span class='op'>||</span> <span class='id identifier rubyid_colonneUnique'>colonneUnique</span> <span class='op'>==</span> <span class='kw'>false</span><span class='rparen'>)</span>
1122
+ <span class='kw'>return</span> <span class='kw'>false</span>
1123
+ <span class='kw'>end</span>
1124
+
1125
+ <span class='comment'># Position x et y de la région
1126
+ </span> <span class='id identifier rubyid_rX'>rX</span> <span class='op'>=</span> <span class='id identifier rubyid_x'>x</span>
1127
+ <span class='id identifier rubyid_rY'>rY</span> <span class='op'>=</span> <span class='id identifier rubyid_y'>y</span>
1128
+
1129
+ <span class='comment'>## Récupère les cordonnées de la première case de la région
1130
+ </span> <span class='kw'>while</span><span class='lparen'>(</span><span class='id identifier rubyid_rX'>rX</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>!=</span> <span class='int'>0</span> <span class='op'>||</span> <span class='id identifier rubyid_rY'>rY</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
1131
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_rX'>rX</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
1132
+ <span class='id identifier rubyid_rX'>rX</span> <span class='op'>-=</span> <span class='int'>1</span>
1133
+ <span class='kw'>end</span>
1134
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_rY'>rY</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
1135
+ <span class='id identifier rubyid_rY'>rY</span> <span class='op'>-=</span><span class='int'>1</span>
1136
+ <span class='kw'>end</span>
1137
+ <span class='kw'>end</span>
1138
+
1139
+ <span class='comment'>## Parcourt la région et vérifie l&#39;unicité
1140
+ </span> <span class='kw'>for</span> <span class='id identifier rubyid_i'>i</span> <span class='kw'>in</span> <span class='int'>0</span><span class='op'>..</span><span class='int'>2</span>
1141
+ <span class='kw'>for</span> <span class='id identifier rubyid_j'>j</span> <span class='kw'>in</span> <span class='int'>0</span><span class='op'>..</span><span class='int'>2</span>
1142
+ <span class='comment'>## Case vérifiée exclue
1143
+ </span> <span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_rX'>rX</span> <span class='op'>+</span> <span class='id identifier rubyid_i'>i</span> <span class='op'>!=</span> <span class='id identifier rubyid_x'>x</span> <span class='op'>||</span> <span class='id identifier rubyid_rY'>rY</span> <span class='op'>+</span> <span class='id identifier rubyid_j'>j</span> <span class='op'>!=</span> <span class='id identifier rubyid_y'>y</span><span class='rparen'>)</span>
1144
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_valeur'>valeur</span> <span class='op'>==</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_getValue'>getValue</span><span class='lparen'>(</span><span class='id identifier rubyid_rX'>rX</span><span class='op'>+</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span> <span class='id identifier rubyid_rY'>rY</span><span class='op'>+</span><span class='id identifier rubyid_j'>j</span><span class='rparen'>)</span><span class='rparen'>)</span>
1145
+ <span class='kw'>return</span> <span class='kw'>false</span>
1146
+ <span class='kw'>end</span>
1147
+ <span class='kw'>end</span>
1148
+ <span class='kw'>end</span>
1149
+ <span class='kw'>end</span>
1150
+
1151
+ <span class='kw'>return</span> <span class='kw'>true</span>
1152
+ <span class='kw'>end</span></pre>
1153
+ </td>
1154
+ </tr>
1155
+ </table>
1156
+ </div>
1157
+
1158
+ <div class="method_details ">
1159
+ <h3 class="signature " id="valeurUniqueLigne-instance_method">
1160
+
1161
+ #<strong>valeurUniqueLigne</strong>(valeur, x, y, type) &#x21d2; <tt>Object</tt>
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+ </h3><div class="docstring">
1168
+ <div class="discussion">
1169
+
1170
+ <p>Vérifie les valeurs d&#39;une ligne en se basant sur des coordonées
1171
+ initiales</p>
1172
+
1173
+
1174
+ </div>
1175
+ </div>
1176
+ <div class="tags">
1177
+ <p class="tag_title">Parameters:</p>
1178
+ <ul class="param">
1179
+
1180
+ <li>
1181
+
1182
+ <span class='name'>valeur</span>
1183
+
1184
+
1185
+ <span class='type'></span>
1186
+
1187
+
1188
+
1189
+ &mdash;
1190
+ <div class='inline'>
1191
+ <p>Valeur de la case</p>
1192
+ </div>
1193
+
1194
+ </li>
1195
+
1196
+ <li>
1197
+
1198
+ <span class='name'>x</span>
1199
+
1200
+
1201
+ <span class='type'></span>
1202
+
1203
+
1204
+
1205
+ &mdash;
1206
+ <div class='inline'>
1207
+ <p>Ordonnée de la case à vérifier</p>
1208
+ </div>
1209
+
1210
+ </li>
1211
+
1212
+ <li>
1213
+
1214
+ <span class='name'>y</span>
1215
+
1216
+
1217
+ <span class='type'></span>
1218
+
1219
+
1220
+
1221
+ &mdash;
1222
+ <div class='inline'>
1223
+ <p>Abscisse de la case à vérifier</p>
1224
+ </div>
1225
+
1226
+ </li>
1227
+
1228
+ <li>
1229
+
1230
+ <span class='name'>type</span>
1231
+
1232
+
1233
+ <span class='type'></span>
1234
+
1235
+
1236
+
1237
+ &mdash;
1238
+ <div class='inline'>
1239
+ <p>Type de la recherche</p>
1240
+ </div>
1241
+
1242
+ </li>
1243
+
1244
+ </ul>
1245
+
1246
+ <p class="tag_title">Returns:</p>
1247
+ <ul class="return">
1248
+
1249
+ <li>
1250
+
1251
+
1252
+ <span class='type'></span>
1253
+
1254
+
1255
+
1256
+
1257
+ <div class='inline'>
1258
+ <p>True si valeur unique sinon false</p>
1259
+ </div>
1260
+
1261
+ </li>
1262
+
1263
+ </ul>
1264
+
1265
+ </div><table class="source_code">
1266
+ <tr>
1267
+ <td>
1268
+ <pre class="lines">
1269
+
1270
+
1271
+ 151
1272
+ 152
1273
+ 153
1274
+ 154
1275
+ 155
1276
+ 156
1277
+ 157
1278
+ 158
1279
+ 159
1280
+ 160
1281
+ 161
1282
+ 162
1283
+ 163
1284
+ 164
1285
+ 165
1286
+ 166
1287
+ 167
1288
+ 168
1289
+ 169
1290
+ 170
1291
+ 171
1292
+ 172
1293
+ 173
1294
+ 174
1295
+ 175
1296
+ 176
1297
+ 177
1298
+ 178</pre>
1299
+ </td>
1300
+ <td>
1301
+ <pre class="code"><span class="info file"># File 'app/model/Grille.rb', line 151</span>
1302
+
1303
+ <span class='kw'>def</span> <span class='id identifier rubyid_valeurUniqueLigne'>valeurUniqueLigne</span><span class='lparen'>(</span><span class='id identifier rubyid_valeur'>valeur</span><span class='comma'>,</span> <span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
1304
+ <span class='comment'>## Parcours ligne ou colonne à la recherche de valeur unique
1305
+ </span> <span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ligne</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1306
+
1307
+ <span class='kw'>for</span> <span class='id identifier rubyid_i'>i</span> <span class='kw'>in</span> <span class='int'>0</span><span class='op'>..</span><span class='int'>8</span>
1308
+ <span class='comment'># On exclue la case vérifiée
1309
+ </span> <span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_i'>i</span> <span class='op'>!=</span> <span class='id identifier rubyid_y'>y</span><span class='rparen'>)</span>
1310
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_valeur'>valeur</span> <span class='op'>==</span> <span class='ivar'>@grille</span><span class='lbracket'>[</span><span class='id identifier rubyid_x'>x</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>value</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
1311
+ <span class='kw'>return</span> <span class='kw'>false</span>
1312
+ <span class='kw'>end</span>
1313
+ <span class='kw'>end</span>
1314
+ <span class='kw'>end</span>
1315
+
1316
+ <span class='kw'>else</span>
1317
+
1318
+ <span class='kw'>for</span> <span class='id identifier rubyid_i'>i</span> <span class='kw'>in</span> <span class='int'>0</span><span class='op'>..</span><span class='int'>8</span>
1319
+ <span class='comment'>## On exclue la case vérifiée
1320
+ </span> <span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_i'>i</span> <span class='op'>!=</span> <span class='id identifier rubyid_x'>x</span><span class='rparen'>)</span>
1321
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_valeur'>valeur</span> <span class='op'>==</span> <span class='ivar'>@grille</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_y'>y</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>value</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
1322
+ <span class='kw'>return</span> <span class='kw'>false</span>
1323
+ <span class='kw'>end</span>
1324
+ <span class='kw'>end</span>
1325
+ <span class='kw'>end</span>
1326
+
1327
+ <span class='kw'>end</span>
1328
+
1329
+ <span class='kw'>return</span> <span class='kw'>true</span>
1330
+ <span class='kw'>end</span></pre>
1331
+ </td>
1332
+ </tr>
1333
+ </table>
1334
+ </div>
1335
+
1336
+ </div>
1337
+
1338
+ </div>
1339
+
1340
+ <div id="footer">
1341
+ Generated on Sat Apr 22 22:47:30 2017 by
1342
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1343
+ 0.9.8 (ruby-2.3.3).
1344
+ </div>
1345
+
1346
+ </div>
1347
+ </body>
1348
+ </html>