Hashiparmentier 0.4.0

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 (259) hide show
  1. checksums.yaml +7 -0
  2. data/bin/Hashiparmentier +3 -0
  3. data/launcher.command +3 -0
  4. data/lib/Hashiparmentier.rb +8 -0
  5. data/lib/Hashiparmentier/BDD/BDDDPQADSAHASHIPARMENTIER.db +0 -0
  6. data/lib/Hashiparmentier/BDD/Base.sqlite +0 -0
  7. data/lib/Hashiparmentier/Base.sqlite +0 -0
  8. data/lib/Hashiparmentier/CSS/Style.rb +184 -0
  9. data/lib/Hashiparmentier/Core/Action.rb +48 -0
  10. data/lib/Hashiparmentier/Core/Aide.rb +28 -0
  11. data/lib/Hashiparmentier/Core/Case.rb +92 -0
  12. data/lib/Hashiparmentier/Core/Chrono.rb +96 -0
  13. data/lib/Hashiparmentier/Core/Compte.rb +137 -0
  14. data/lib/Hashiparmentier/Core/ConnectSqlite3.rb +19 -0
  15. data/lib/Hashiparmentier/Core/Couleur.rb +94 -0
  16. data/lib/Hashiparmentier/Core/DonnerTechnique.rb +70 -0
  17. data/lib/Hashiparmentier/Core/Grille.rb +804 -0
  18. data/lib/Hashiparmentier/Core/Hypothese.rb +43 -0
  19. data/lib/Hashiparmentier/Core/Ile.rb +330 -0
  20. data/lib/Hashiparmentier/Core/Jeu.rb +177 -0
  21. data/lib/Hashiparmentier/Core/Pile.rb +85 -0
  22. data/lib/Hashiparmentier/Core/Pont.rb +300 -0
  23. data/lib/Hashiparmentier/Core/Sauvegarde.rb +176 -0
  24. data/lib/Hashiparmentier/Core/UndoRedo.rb +93 -0
  25. data/lib/Hashiparmentier/Core/VerifierGrille.rb +51 -0
  26. data/lib/Hashiparmentier/Data/Golden Bridge.jpg +0 -0
  27. data/lib/Hashiparmentier/Data/Pont Gaulois.jpg +0 -0
  28. data/lib/Hashiparmentier/Data/Zubi Zuri.jpg +0 -0
  29. data/lib/Hashiparmentier/NouvellesGrilles/map-1010-0-001.txt +12 -0
  30. data/lib/Hashiparmentier/NouvellesGrilles/map-1010-0-002.txt +12 -0
  31. data/lib/Hashiparmentier/NouvellesGrilles/map-1010-0-003.txt +12 -0
  32. data/lib/Hashiparmentier/NouvellesGrilles/map-1010-1-001.txt +12 -0
  33. data/lib/Hashiparmentier/NouvellesGrilles/map-1010-1-002.txt +12 -0
  34. data/lib/Hashiparmentier/NouvellesGrilles/map-1010-1-003.txt +12 -0
  35. data/lib/Hashiparmentier/NouvellesGrilles/map-1010-2-001.txt +12 -0
  36. data/lib/Hashiparmentier/NouvellesGrilles/map-1010-2-002.txt +12 -0
  37. data/lib/Hashiparmentier/NouvellesGrilles/map-1010-2-003.txt +12 -0
  38. data/lib/Hashiparmentier/NouvellesGrilles/map-1515-0-001.txt +17 -0
  39. data/lib/Hashiparmentier/NouvellesGrilles/map-1515-0-002.txt +17 -0
  40. data/lib/Hashiparmentier/NouvellesGrilles/map-1515-0-003.txt +17 -0
  41. data/lib/Hashiparmentier/NouvellesGrilles/map-1515-1-001.txt +17 -0
  42. data/lib/Hashiparmentier/NouvellesGrilles/map-1515-1-002.txt +17 -0
  43. data/lib/Hashiparmentier/NouvellesGrilles/map-1515-1-003.txt +17 -0
  44. data/lib/Hashiparmentier/NouvellesGrilles/map-1515-2-001.txt +17 -0
  45. data/lib/Hashiparmentier/NouvellesGrilles/map-1515-2-002.txt +17 -0
  46. data/lib/Hashiparmentier/NouvellesGrilles/map-1515-2-003.txt +17 -0
  47. data/lib/Hashiparmentier/NouvellesGrilles/map-77-0-001.txt +9 -0
  48. data/lib/Hashiparmentier/NouvellesGrilles/map-77-0-002.txt +9 -0
  49. data/lib/Hashiparmentier/NouvellesGrilles/map-77-0-003.txt +9 -0
  50. data/lib/Hashiparmentier/NouvellesGrilles/map-77-1-001.txt +9 -0
  51. data/lib/Hashiparmentier/NouvellesGrilles/map-77-1-002.txt +9 -0
  52. data/lib/Hashiparmentier/NouvellesGrilles/map-77-1-003.txt +9 -0
  53. data/lib/Hashiparmentier/NouvellesGrilles/map-77-2-001.txt +9 -0
  54. data/lib/Hashiparmentier/NouvellesGrilles/map-77-2-002.txt +9 -0
  55. data/lib/Hashiparmentier/NouvellesGrilles/map-77-2-003.txt +9 -0
  56. data/lib/Hashiparmentier/Test/Gemfile +3 -0
  57. data/lib/Hashiparmentier/Test/MajBDDGrille.rb +10 -0
  58. data/lib/Hashiparmentier/Test/NotAMalwareDefinitiveEdition +3 -0
  59. data/lib/Hashiparmentier/Test/NotAMalwareDefinitiveEdition~ +2 -0
  60. data/lib/Hashiparmentier/Test/NotAMalware~ +2 -0
  61. data/lib/Hashiparmentier/Test/TestChargerGrille.rb +7 -0
  62. data/lib/Hashiparmentier/Test/TestCompte.rb +51 -0
  63. data/lib/Hashiparmentier/Test/TestFenetre.rb +10 -0
  64. data/lib/Hashiparmentier/Test/TestGrille.rb +27 -0
  65. data/lib/Hashiparmentier/Test/TestJeu.rb +47 -0
  66. data/lib/Hashiparmentier/Test/TestPont.rb +73 -0
  67. data/lib/Hashiparmentier/Test/TestSauvegarde.rb +53 -0
  68. data/lib/Hashiparmentier/Test/execLinux.sh +8 -0
  69. data/lib/Hashiparmentier/Test/icone/Custom-Icon-Design-2014-World-Cup-Flags-Japan.ico +0 -0
  70. data/lib/Hashiparmentier/Test/test.bat +1 -0
  71. data/lib/Hashiparmentier/Test/testExec +2 -0
  72. data/lib/Hashiparmentier/Test/testTestExec.rb +3 -0
  73. data/lib/Hashiparmentier/UI/AideJeuUI.rb +22 -0
  74. data/lib/Hashiparmentier/UI/AideUI.rb +22 -0
  75. data/lib/Hashiparmentier/UI/AstucesUI.rb +23 -0
  76. data/lib/Hashiparmentier/UI/CaseUI.rb +70 -0
  77. data/lib/Hashiparmentier/UI/ChoixDifficulteUI.rb +45 -0
  78. data/lib/Hashiparmentier/UI/ChoixGrilleScrollUI.rb +37 -0
  79. data/lib/Hashiparmentier/UI/ChoixGrilleUI.rb +80 -0
  80. data/lib/Hashiparmentier/UI/ChoixNomUI.rb +39 -0
  81. data/lib/Hashiparmentier/UI/ChoixTailleUI.rb +44 -0
  82. data/lib/Hashiparmentier/UI/Fenetre.rb +32 -0
  83. data/lib/Hashiparmentier/UI/FenetreFinUI.rb +71 -0
  84. data/lib/Hashiparmentier/UI/FenetreJeuUI.rb +193 -0
  85. data/lib/Hashiparmentier/UI/FenetreReglesUI.rb +28 -0
  86. data/lib/Hashiparmentier/UI/FinUI.rb +91 -0
  87. data/lib/Hashiparmentier/UI/GrilleJouableUI.rb +47 -0
  88. data/lib/Hashiparmentier/UI/GrilleUI.rb +140 -0
  89. data/lib/Hashiparmentier/UI/IleUI.rb +87 -0
  90. data/lib/Hashiparmentier/UI/JeuUI.rb +161 -0
  91. data/lib/Hashiparmentier/UI/Menu.rb +322 -0
  92. data/lib/Hashiparmentier/UI/MenuUI.rb +107 -0
  93. data/lib/Hashiparmentier/UI/PontUI.rb +135 -0
  94. data/lib/Hashiparmentier/UI/RacineUI.rb +142 -0
  95. data/lib/Hashiparmentier/UI/ReglesUI.rb +22 -0
  96. data/lib/Hashiparmentier/doc/Action.html +259 -0
  97. data/lib/Hashiparmentier/doc/Aide.html +229 -0
  98. data/lib/Hashiparmentier/doc/AideUI.html +168 -0
  99. data/lib/Hashiparmentier/doc/Case.html +473 -0
  100. data/lib/Hashiparmentier/doc/CaseUI.html +343 -0
  101. data/lib/Hashiparmentier/doc/ChoixDifficulteUI.html +209 -0
  102. data/lib/Hashiparmentier/doc/ChoixGrilleScrollUI.html +239 -0
  103. data/lib/Hashiparmentier/doc/ChoixGrilleUI.html +276 -0
  104. data/lib/Hashiparmentier/doc/ChoixNomUI.html +215 -0
  105. data/lib/Hashiparmentier/doc/ChoixTailleUI.html +210 -0
  106. data/lib/Hashiparmentier/doc/Chrono.html +420 -0
  107. data/lib/Hashiparmentier/doc/Compte.html +514 -0
  108. data/lib/Hashiparmentier/doc/Couleur.html +422 -0
  109. data/lib/Hashiparmentier/doc/DonnerTechnique.html +245 -0
  110. data/lib/Hashiparmentier/doc/Fenetre.html +179 -0
  111. data/lib/Hashiparmentier/doc/FenetreJeuUI.html +274 -0
  112. data/lib/Hashiparmentier/doc/FenetreReglesUI.html +167 -0
  113. data/lib/Hashiparmentier/doc/FinUI.html +274 -0
  114. data/lib/Hashiparmentier/doc/Grille.html +2153 -0
  115. data/lib/Hashiparmentier/doc/GrilleJouableUI.html +229 -0
  116. data/lib/Hashiparmentier/doc/GrilleUI.html +477 -0
  117. data/lib/Hashiparmentier/doc/Hypothese.html +248 -0
  118. data/lib/Hashiparmentier/doc/Ile.html +1103 -0
  119. data/lib/Hashiparmentier/doc/IleUI.html +244 -0
  120. data/lib/Hashiparmentier/doc/Jeu.html +179 -0
  121. data/lib/Hashiparmentier/doc/JeuUI.html +471 -0
  122. data/lib/Hashiparmentier/doc/Menu.html +667 -0
  123. data/lib/Hashiparmentier/doc/MenuUI.html +416 -0
  124. data/lib/Hashiparmentier/doc/Pile.html +383 -0
  125. data/lib/Hashiparmentier/doc/Pont.html +943 -0
  126. data/lib/Hashiparmentier/doc/PontUI.html +307 -0
  127. data/lib/Hashiparmentier/doc/RacineUI.html +387 -0
  128. data/lib/Hashiparmentier/doc/ReglesUI.html +203 -0
  129. data/lib/Hashiparmentier/doc/Sauvegarde.html +672 -0
  130. data/lib/Hashiparmentier/doc/UndoRedo.html +389 -0
  131. data/lib/Hashiparmentier/doc/VerifierGrille.html +225 -0
  132. data/lib/Hashiparmentier/doc/created.rid +46 -0
  133. data/lib/Hashiparmentier/doc/css/fonts.css +167 -0
  134. data/lib/Hashiparmentier/doc/css/rdoc.css +590 -0
  135. data/lib/Hashiparmentier/doc/fonts/Lato-Light.ttf +0 -0
  136. data/lib/Hashiparmentier/doc/fonts/Lato-LightItalic.ttf +0 -0
  137. data/lib/Hashiparmentier/doc/fonts/Lato-Regular.ttf +0 -0
  138. data/lib/Hashiparmentier/doc/fonts/Lato-RegularItalic.ttf +0 -0
  139. data/lib/Hashiparmentier/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  140. data/lib/Hashiparmentier/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  141. data/lib/Hashiparmentier/doc/images/add.png +0 -0
  142. data/lib/Hashiparmentier/doc/images/arrow_up.png +0 -0
  143. data/lib/Hashiparmentier/doc/images/brick.png +0 -0
  144. data/lib/Hashiparmentier/doc/images/brick_link.png +0 -0
  145. data/lib/Hashiparmentier/doc/images/bug.png +0 -0
  146. data/lib/Hashiparmentier/doc/images/bullet_black.png +0 -0
  147. data/lib/Hashiparmentier/doc/images/bullet_toggle_minus.png +0 -0
  148. data/lib/Hashiparmentier/doc/images/bullet_toggle_plus.png +0 -0
  149. data/lib/Hashiparmentier/doc/images/date.png +0 -0
  150. data/lib/Hashiparmentier/doc/images/delete.png +0 -0
  151. data/lib/Hashiparmentier/doc/images/find.png +0 -0
  152. data/lib/Hashiparmentier/doc/images/loadingAnimation.gif +0 -0
  153. data/lib/Hashiparmentier/doc/images/macFFBgHack.png +0 -0
  154. data/lib/Hashiparmentier/doc/images/package.png +0 -0
  155. data/lib/Hashiparmentier/doc/images/page_green.png +0 -0
  156. data/lib/Hashiparmentier/doc/images/page_white_text.png +0 -0
  157. data/lib/Hashiparmentier/doc/images/page_white_width.png +0 -0
  158. data/lib/Hashiparmentier/doc/images/plugin.png +0 -0
  159. data/lib/Hashiparmentier/doc/images/ruby.png +0 -0
  160. data/lib/Hashiparmentier/doc/images/tag_blue.png +0 -0
  161. data/lib/Hashiparmentier/doc/images/tag_green.png +0 -0
  162. data/lib/Hashiparmentier/doc/images/transparent.png +0 -0
  163. data/lib/Hashiparmentier/doc/images/wrench.png +0 -0
  164. data/lib/Hashiparmentier/doc/images/wrench_orange.png +0 -0
  165. data/lib/Hashiparmentier/doc/images/zoom.png +0 -0
  166. data/lib/Hashiparmentier/doc/index.html +154 -0
  167. data/lib/Hashiparmentier/doc/js/darkfish.js +161 -0
  168. data/lib/Hashiparmentier/doc/js/jquery.js +4 -0
  169. data/lib/Hashiparmentier/doc/js/navigation.js +141 -0
  170. data/lib/Hashiparmentier/doc/js/navigation.js.gz +0 -0
  171. data/lib/Hashiparmentier/doc/js/search.js +109 -0
  172. data/lib/Hashiparmentier/doc/js/search_index.js +1 -0
  173. data/lib/Hashiparmentier/doc/js/search_index.js.gz +0 -0
  174. data/lib/Hashiparmentier/doc/js/searcher.js +229 -0
  175. data/lib/Hashiparmentier/doc/js/searcher.js.gz +0 -0
  176. data/lib/Hashiparmentier/doc/table_of_contents.html +1197 -0
  177. data/lib/Hashiparmentier/glade/Fin.glade +222 -0
  178. data/lib/Hashiparmentier/glade/aide.glade +127 -0
  179. data/lib/Hashiparmentier/glade/aideJeu.glade +143 -0
  180. data/lib/Hashiparmentier/glade/astuces.glade +1558 -0
  181. data/lib/Hashiparmentier/glade/fonts/VINERITC.TTF +0 -0
  182. data/lib/Hashiparmentier/glade/images/18790.ico +0 -0
  183. data/lib/Hashiparmentier/glade/images/1stars.png +0 -0
  184. data/lib/Hashiparmentier/glade/images/2stars.png +0 -0
  185. data/lib/Hashiparmentier/glade/images/3stars.png +0 -0
  186. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-07 11-48-54.png +0 -0
  187. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 17-54-16.png +0 -0
  188. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-00-00.png +0 -0
  189. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-01-25.png +0 -0
  190. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-17-16.png +0 -0
  191. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-17-40.png +0 -0
  192. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-18-01.png +0 -0
  193. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-18-23.png +0 -0
  194. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-19-00.png +0 -0
  195. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-19-17.png +0 -0
  196. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-19-54.png +0 -0
  197. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-24-24.png +0 -0
  198. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-24-44.png +0 -0
  199. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-24-58.png +0 -0
  200. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-25-16.png +0 -0
  201. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-25-36.png +0 -0
  202. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-25-51.png +0 -0
  203. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-26-04.png +0 -0
  204. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-26-15.png +0 -0
  205. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-01-40.png +0 -0
  206. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-02-08.png +0 -0
  207. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-02-33.png +0 -0
  208. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-02-54.png +0 -0
  209. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-03-13.png +0 -0
  210. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-03-39.png +0 -0
  211. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-03-55.png +0 -0
  212. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-04-10.png +0 -0
  213. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-33-07.png +0 -0
  214. data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-36-05.png +0 -0
  215. data/lib/Hashiparmentier/glade/images/LOGO.png +0 -0
  216. data/lib/Hashiparmentier/glade/images/LOGpR.png +0 -0
  217. data/lib/Hashiparmentier/glade/images/LOGpR2.png +0 -0
  218. data/lib/Hashiparmentier/glade/images/bg.jpg +0 -0
  219. data/lib/Hashiparmentier/glade/images/ex111.png +0 -0
  220. data/lib/Hashiparmentier/glade/images/ex112.png +0 -0
  221. data/lib/Hashiparmentier/glade/images/ex211.png +0 -0
  222. data/lib/Hashiparmentier/glade/images/ex212.png +0 -0
  223. data/lib/Hashiparmentier/glade/images/ex221.png +0 -0
  224. data/lib/Hashiparmentier/glade/images/ex222.png +0 -0
  225. data/lib/Hashiparmentier/glade/images/ex231.png +0 -0
  226. data/lib/Hashiparmentier/glade/images/ex232.png +0 -0
  227. data/lib/Hashiparmentier/glade/images/ex241.png +0 -0
  228. data/lib/Hashiparmentier/glade/images/ex242.png +0 -0
  229. data/lib/Hashiparmentier/glade/images/ex251.png +0 -0
  230. data/lib/Hashiparmentier/glade/images/ex252.png +0 -0
  231. data/lib/Hashiparmentier/glade/images/ex311.png +0 -0
  232. data/lib/Hashiparmentier/glade/images/ex312.png +0 -0
  233. data/lib/Hashiparmentier/glade/images/ex321.png +0 -0
  234. data/lib/Hashiparmentier/glade/images/ex322.png +0 -0
  235. data/lib/Hashiparmentier/glade/images/ex331.png +0 -0
  236. data/lib/Hashiparmentier/glade/images/ex332.png +0 -0
  237. data/lib/Hashiparmentier/glade/images/ex341.png +0 -0
  238. data/lib/Hashiparmentier/glade/images/ex342.png +0 -0
  239. data/lib/Hashiparmentier/glade/images/ex411.png +0 -0
  240. data/lib/Hashiparmentier/glade/images/ex412.png +0 -0
  241. data/lib/Hashiparmentier/glade/images/ex413.png +0 -0
  242. data/lib/Hashiparmentier/glade/images/ex421.png +0 -0
  243. data/lib/Hashiparmentier/glade/images/ex422.png +0 -0
  244. data/lib/Hashiparmentier/glade/images/ex423.png +0 -0
  245. data/lib/Hashiparmentier/glade/images/ex431.png +0 -0
  246. data/lib/Hashiparmentier/glade/images/ex432.png +0 -0
  247. data/lib/Hashiparmentier/glade/images/ex433.png +0 -0
  248. data/lib/Hashiparmentier/glade/images/ex441.png +0 -0
  249. data/lib/Hashiparmentier/glade/images/ex442.png +0 -0
  250. data/lib/Hashiparmentier/glade/images/ex443.png +0 -0
  251. data/lib/Hashiparmentier/glade/images/icone.png +0 -0
  252. data/lib/Hashiparmentier/glade/images/puzzle-solvation.gif +0 -0
  253. data/lib/Hashiparmentier/glade/images/wJapStylePlusNet.jpg +0 -0
  254. data/lib/Hashiparmentier/glade/images/wJapStylePlusNet15.jpg +0 -0
  255. data/lib/Hashiparmentier/glade/jeu.glade +539 -0
  256. data/lib/Hashiparmentier/glade/menu.glade +511 -0
  257. data/lib/Hashiparmentier/glade/regles.glade +856 -0
  258. data/lib/Hashiparmentier/map.txt +316 -0
  259. metadata +347 -0
@@ -0,0 +1,167 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class FenetreReglesUI - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ var index_rel_prefix = "./";
12
+ </script>
13
+
14
+ <script src="./js/jquery.js"></script>
15
+ <script src="./js/darkfish.js"></script>
16
+
17
+ <link href="./css/fonts.css" rel="stylesheet">
18
+ <link href="./css/rdoc.css" rel="stylesheet">
19
+
20
+
21
+
22
+
23
+ <body id="top" role="document" class="class">
24
+ <nav role="navigation">
25
+ <div id="project-navigation">
26
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
27
+ <h2>
28
+ <a href="./index.html" rel="home">Home</a>
29
+ </h2>
30
+
31
+ <div id="table-of-contents-navigation">
32
+ <a href="./table_of_contents.html#pages">Pages</a>
33
+ <a href="./table_of_contents.html#classes">Classes</a>
34
+ <a href="./table_of_contents.html#methods">Methods</a>
35
+ </div>
36
+ </div>
37
+
38
+ <div id="search-section" role="search" class="project-section initially-hidden">
39
+ <form action="#" method="get" accept-charset="utf-8">
40
+ <div id="search-field-wrapper">
41
+ <input id="search-field" role="combobox" aria-label="Search"
42
+ aria-autocomplete="list" aria-controls="search-results"
43
+ type="text" name="search" placeholder="Search" spellcheck="false"
44
+ title="Type to search, Up and Down to navigate, Enter to load">
45
+ </div>
46
+
47
+ <ul id="search-results" aria-label="Search Results"
48
+ aria-busy="false" aria-expanded="false"
49
+ aria-atomic="false" class="initially-hidden"></ul>
50
+ </form>
51
+ </div>
52
+
53
+ </div>
54
+
55
+
56
+
57
+ <div id="class-metadata">
58
+
59
+ <div id="parent-class-section" class="nav-section">
60
+ <h3>Parent</h3>
61
+
62
+
63
+ <p class="link">Gtk::Window
64
+
65
+ </div>
66
+
67
+
68
+
69
+ <!-- Method Quickref -->
70
+ <div id="method-list-section" class="nav-section">
71
+ <h3>Methods</h3>
72
+
73
+ <ul class="link-list" role="directory">
74
+
75
+ <li class="calls-super" ><a href="#method-c-new">::new</a>
76
+
77
+ </ul>
78
+ </div>
79
+
80
+ </div>
81
+ </nav>
82
+
83
+ <main role="main" aria-labelledby="class-FenetreReglesUI">
84
+ <h1 id="class-FenetreReglesUI" class="class">
85
+ class FenetreReglesUI
86
+ </h1>
87
+
88
+ <section class="description">
89
+
90
+ </section>
91
+
92
+
93
+ <section id="5Buntitled-5D" class="documentation-section">
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
104
+ <header>
105
+ <h3>Public Class Methods</h3>
106
+ </header>
107
+
108
+
109
+ <div id="method-c-new" class="method-detail ">
110
+
111
+ <div class="method-heading">
112
+ <span class="method-name">new</span><span
113
+ class="method-args">()</span>
114
+
115
+ <span class="method-click-advice">click to toggle source</span>
116
+
117
+ </div>
118
+
119
+
120
+ <div class="method-description">
121
+
122
+
123
+
124
+
125
+ <div class="method-calls-super">
126
+ Calls superclass method
127
+
128
+ </div>
129
+
130
+
131
+
132
+ <div class="method-source-code" id="new-source">
133
+ <pre><span class="ruby-comment"># File UI/FenetreReglesUI.rb, line 11</span>
134
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>
135
+
136
+ <span class="ruby-keyword">super</span>(<span class="ruby-string">&quot;Règles du Hashiparmentier&quot;</span>)
137
+
138
+ <span class="ruby-identifier">signal_connect</span> <span class="ruby-string">&quot;delete_event&quot;</span> <span class="ruby-keyword">do</span>
139
+ <span class="ruby-identifier">hide_on_delete</span>()
140
+ <span class="ruby-keyword">end</span>
141
+
142
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">ReglesUI</span>.<span class="ruby-identifier">new</span>())
143
+
144
+ <span class="ruby-keyword">end</span></pre>
145
+ </div>
146
+
147
+ </div>
148
+
149
+
150
+
151
+
152
+ </div>
153
+
154
+
155
+ </section>
156
+
157
+ </section>
158
+
159
+ </main>
160
+
161
+
162
+ <footer id="validator-badges" role="contentinfo">
163
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
164
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
165
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
166
+ </footer>
167
+
@@ -0,0 +1,274 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class FinUI - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ var index_rel_prefix = "./";
12
+ </script>
13
+
14
+ <script src="./js/jquery.js"></script>
15
+ <script src="./js/darkfish.js"></script>
16
+
17
+ <link href="./css/fonts.css" rel="stylesheet">
18
+ <link href="./css/rdoc.css" rel="stylesheet">
19
+
20
+
21
+
22
+
23
+ <body id="top" role="document" class="class">
24
+ <nav role="navigation">
25
+ <div id="project-navigation">
26
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
27
+ <h2>
28
+ <a href="./index.html" rel="home">Home</a>
29
+ </h2>
30
+
31
+ <div id="table-of-contents-navigation">
32
+ <a href="./table_of_contents.html#pages">Pages</a>
33
+ <a href="./table_of_contents.html#classes">Classes</a>
34
+ <a href="./table_of_contents.html#methods">Methods</a>
35
+ </div>
36
+ </div>
37
+
38
+ <div id="search-section" role="search" class="project-section initially-hidden">
39
+ <form action="#" method="get" accept-charset="utf-8">
40
+ <div id="search-field-wrapper">
41
+ <input id="search-field" role="combobox" aria-label="Search"
42
+ aria-autocomplete="list" aria-controls="search-results"
43
+ type="text" name="search" placeholder="Search" spellcheck="false"
44
+ title="Type to search, Up and Down to navigate, Enter to load">
45
+ </div>
46
+
47
+ <ul id="search-results" aria-label="Search Results"
48
+ aria-busy="false" aria-expanded="false"
49
+ aria-atomic="false" class="initially-hidden"></ul>
50
+ </form>
51
+ </div>
52
+
53
+ </div>
54
+
55
+
56
+
57
+ <div id="class-metadata">
58
+
59
+ <div id="parent-class-section" class="nav-section">
60
+ <h3>Parent</h3>
61
+
62
+
63
+ <p class="link">Gtk::Box
64
+
65
+ </div>
66
+
67
+
68
+
69
+ <!-- Method Quickref -->
70
+ <div id="method-list-section" class="nav-section">
71
+ <h3>Methods</h3>
72
+
73
+ <ul class="link-list" role="directory">
74
+
75
+ <li class="calls-super" ><a href="#method-c-new">::new</a>
76
+
77
+ <li ><a href="#method-i-reussi">#reussi</a>
78
+
79
+ </ul>
80
+ </div>
81
+
82
+ </div>
83
+ </nav>
84
+
85
+ <main role="main" aria-labelledby="class-FinUI">
86
+ <h1 id="class-FinUI" class="class">
87
+ class FinUI
88
+ </h1>
89
+
90
+ <section class="description">
91
+
92
+ <pre>Auteur:: Brabant Mano
93
+ Version:: 0.1
94
+ Date:: 09/04/2020</pre>
95
+
96
+ <p>Montre l&#39;ecran de victoire</p>
97
+
98
+ </section>
99
+
100
+
101
+ <section id="5Buntitled-5D" class="documentation-section">
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
112
+ <header>
113
+ <h3>Public Class Methods</h3>
114
+ </header>
115
+
116
+
117
+ <div id="method-c-new" class="method-detail ">
118
+
119
+ <div class="method-heading">
120
+ <span class="method-name">new</span><span
121
+ class="method-args">(racine)</span>
122
+
123
+ <span class="method-click-advice">click to toggle source</span>
124
+
125
+ </div>
126
+
127
+
128
+ <div class="method-description">
129
+
130
+
131
+
132
+
133
+ <div class="method-calls-super">
134
+ Calls superclass method
135
+
136
+ </div>
137
+
138
+
139
+
140
+ <div class="method-source-code" id="new-source">
141
+ <pre><span class="ruby-comment"># File UI/FinUI.rb, line 16</span>
142
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">racine</span>)
143
+
144
+ <span class="ruby-keyword">super</span>(<span class="ruby-value">:vertical</span>, <span class="ruby-value">10</span>)
145
+
146
+ <span class="ruby-ivar">@racine</span> = <span class="ruby-identifier">racine</span>
147
+
148
+ <span class="ruby-keyword">end</span></pre>
149
+ </div>
150
+
151
+ </div>
152
+
153
+
154
+
155
+
156
+ </div>
157
+
158
+
159
+ </section>
160
+
161
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
162
+ <header>
163
+ <h3>Public Instance Methods</h3>
164
+ </header>
165
+
166
+
167
+ <div id="method-i-reussi" class="method-detail ">
168
+
169
+ <div class="method-heading">
170
+ <span class="method-name">reussi</span><span
171
+ class="method-args">(taille, difficulte)</span>
172
+
173
+ <span class="method-click-advice">click to toggle source</span>
174
+
175
+ </div>
176
+
177
+
178
+ <div class="method-description">
179
+
180
+
181
+
182
+
183
+
184
+
185
+ <div class="method-source-code" id="reussi-source">
186
+ <pre><span class="ruby-comment"># File UI/FinUI.rb, line 24</span>
187
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">reussi</span>(<span class="ruby-identifier">taille</span>, <span class="ruby-identifier">difficulte</span>)
188
+
189
+ <span class="ruby-identifier">each_all</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
190
+ <span class="ruby-identifier">remove</span>(<span class="ruby-identifier">c</span>)
191
+ <span class="ruby-keyword">end</span>
192
+
193
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;Bravo vous avez gagné !!!&quot;</span>))
194
+
195
+ <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;OSCOUR !!! : &quot;</span> , <span class="ruby-identifier">taille</span>.<span class="ruby-identifier">inspect</span>, <span class="ruby-identifier">difficulte</span>.<span class="ruby-identifier">inspect</span>
196
+
197
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">difficulte</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>)
198
+
199
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">taille</span> <span class="ruby-operator">==</span> <span class="ruby-value">7</span>)
200
+
201
+ <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;JEANNE !!!!!!&quot;</span>
202
+
203
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;../Data/Pont Gaulois.jpg&quot;</span>))
204
+
205
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">taille</span> <span class="ruby-operator">==</span> <span class="ruby-value">10</span>)
206
+
207
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;../Data/Pont Gaulois.jpg&quot;</span>))
208
+
209
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">taille</span> <span class="ruby-operator">==</span> <span class="ruby-value">15</span>)
210
+
211
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;../Data/Pont Gaulois.jpg&quot;</span>))
212
+
213
+ <span class="ruby-keyword">end</span>
214
+
215
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">difficulte</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>)
216
+
217
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">taille</span> <span class="ruby-operator">==</span> <span class="ruby-value">7</span>)
218
+
219
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;../Data/Zubi Zuri.jpg&quot;</span>))
220
+
221
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">taille</span> <span class="ruby-operator">==</span> <span class="ruby-value">10</span>)
222
+
223
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;../Data/Zubi Zuri.jpg&quot;</span>))
224
+
225
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">taille</span> <span class="ruby-operator">==</span> <span class="ruby-value">15</span>)
226
+
227
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;../Data/Zubi Zuri.jpg&quot;</span>))
228
+
229
+ <span class="ruby-keyword">end</span>
230
+
231
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">difficulte</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span>)
232
+
233
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">taille</span> <span class="ruby-operator">==</span> <span class="ruby-value">7</span>)
234
+
235
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;../Data/Golden Bridge.jpg&quot;</span>))
236
+
237
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">taille</span> <span class="ruby-operator">==</span> <span class="ruby-value">10</span>)
238
+
239
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;../Data/Golden Bridge.jpg&quot;</span>))
240
+
241
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">taille</span> <span class="ruby-operator">==</span> <span class="ruby-value">15</span>)
242
+
243
+ <span class="ruby-identifier">add</span>(<span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;../Data/Golden Bridge.jpg&quot;</span>))
244
+
245
+ <span class="ruby-keyword">end</span>
246
+
247
+ <span class="ruby-keyword">end</span>
248
+
249
+ <span class="ruby-identifier">show_all</span>
250
+
251
+ <span class="ruby-keyword">end</span></pre>
252
+ </div>
253
+
254
+ </div>
255
+
256
+
257
+
258
+
259
+ </div>
260
+
261
+
262
+ </section>
263
+
264
+ </section>
265
+
266
+ </main>
267
+
268
+
269
+ <footer id="validator-badges" role="contentinfo">
270
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
271
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
272
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
273
+ </footer>
274
+
@@ -0,0 +1,2153 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class Grille - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ var index_rel_prefix = "./";
12
+ </script>
13
+
14
+ <script src="./js/jquery.js"></script>
15
+ <script src="./js/darkfish.js"></script>
16
+
17
+ <link href="./css/fonts.css" rel="stylesheet">
18
+ <link href="./css/rdoc.css" rel="stylesheet">
19
+
20
+
21
+
22
+
23
+ <body id="top" role="document" class="class">
24
+ <nav role="navigation">
25
+ <div id="project-navigation">
26
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
27
+ <h2>
28
+ <a href="./index.html" rel="home">Home</a>
29
+ </h2>
30
+
31
+ <div id="table-of-contents-navigation">
32
+ <a href="./table_of_contents.html#pages">Pages</a>
33
+ <a href="./table_of_contents.html#classes">Classes</a>
34
+ <a href="./table_of_contents.html#methods">Methods</a>
35
+ </div>
36
+ </div>
37
+
38
+ <div id="search-section" role="search" class="project-section initially-hidden">
39
+ <form action="#" method="get" accept-charset="utf-8">
40
+ <div id="search-field-wrapper">
41
+ <input id="search-field" role="combobox" aria-label="Search"
42
+ aria-autocomplete="list" aria-controls="search-results"
43
+ type="text" name="search" placeholder="Search" spellcheck="false"
44
+ title="Type to search, Up and Down to navigate, Enter to load">
45
+ </div>
46
+
47
+ <ul id="search-results" aria-label="Search Results"
48
+ aria-busy="false" aria-expanded="false"
49
+ aria-atomic="false" class="initially-hidden"></ul>
50
+ </form>
51
+ </div>
52
+
53
+ </div>
54
+
55
+
56
+
57
+ <div id="class-metadata">
58
+
59
+ <div id="parent-class-section" class="nav-section">
60
+ <h3>Parent</h3>
61
+
62
+
63
+ <p class="link">Object
64
+
65
+ </div>
66
+
67
+ <div id="includes-section" class="nav-section">
68
+ <h3>Included Modules</h3>
69
+
70
+ <ul class="link-list">
71
+
72
+
73
+ <li><span class="include">Comparable</span>
74
+
75
+
76
+ </ul>
77
+ </div>
78
+
79
+
80
+ <!-- Method Quickref -->
81
+ <div id="method-list-section" class="nav-section">
82
+ <h3>Methods</h3>
83
+
84
+ <ul class="link-list" role="directory">
85
+
86
+ <li ><a href="#method-c-chargerGrilles">::chargerGrilles</a>
87
+
88
+ <li ><a href="#method-c-creer">::creer</a>
89
+
90
+ <li ><a href="#method-i-addAction">#addAction</a>
91
+
92
+ <li ><a href="#method-i-afficheSolution">#afficheSolution</a>
93
+
94
+ <li ><a href="#method-i-afficheToi">#afficheToi</a>
95
+
96
+ <li ><a href="#method-i-chercherVoisins">#chercherVoisins</a>
97
+
98
+ <li ><a href="#method-i-clickOnIle">#clickOnIle</a>
99
+
100
+ <li ><a href="#method-i-clickOnPont">#clickOnPont</a>
101
+
102
+ <li ><a href="#method-i-createPont">#createPont</a>
103
+
104
+ <li ><a href="#method-i-creerHypothese">#creerHypothese</a>
105
+
106
+ <li ><a href="#method-i-effacePont">#effacePont</a>
107
+
108
+ <li ><a href="#method-i-estVoisin-3F">#estVoisin?</a>
109
+
110
+ <li ><a href="#method-i-eteintPont">#eteintPont</a>
111
+
112
+ <li ><a href="#method-i-fini-3F">#fini?</a>
113
+
114
+ <li ><a href="#method-i-getCase">#getCase</a>
115
+
116
+ <li ><a href="#method-i-getCaseSolution">#getCaseSolution</a>
117
+
118
+ <li ><a href="#method-i-getDernierIle">#getDernierIle</a>
119
+
120
+ <li ><a href="#method-i-getDifference">#getDifference</a>
121
+
122
+ <li ><a href="#method-i-getDirectionPont">#getDirectionPont</a>
123
+
124
+ <li ><a href="#method-i-getGrille">#getGrille</a>
125
+
126
+ <li ><a href="#method-i-memeSolution">#memeSolution</a>
127
+
128
+ <li ><a href="#method-i-modifScore">#modifScore</a>
129
+
130
+ <li ><a href="#method-i-montrePont">#montrePont</a>
131
+
132
+ <li ><a href="#method-i-parcoursPont">#parcoursPont</a>
133
+
134
+ <li ><a href="#method-i-recommencer">#recommencer</a>
135
+
136
+ <li ><a href="#method-i-redo">#redo</a>
137
+
138
+ <li ><a href="#method-i-redoCouleurPont">#redoCouleurPont</a>
139
+
140
+ <li ><a href="#method-i-routeDisponible-3F">#routeDisponible?</a>
141
+
142
+ <li ><a href="#method-i-sauvegarder">#sauvegarder</a>
143
+
144
+ <li ><a href="#method-i-setDernierIle">#setDernierIle</a>
145
+
146
+ <li ><a href="#method-i-setTempsFin">#setTempsFin</a>
147
+
148
+ <li ><a href="#method-i-sortLimite-3F">#sortLimite?</a>
149
+
150
+ <li ><a href="#method-i-supprimeHypothese">#supprimeHypothese</a>
151
+
152
+ <li ><a href="#method-i-supprimePont">#supprimePont</a>
153
+
154
+ <li ><a href="#method-i-surbrillancePont">#surbrillancePont</a>
155
+
156
+ <li ><a href="#method-i-undo">#undo</a>
157
+
158
+ <li ><a href="#method-i-undoCouleurPont">#undoCouleurPont</a>
159
+
160
+ <li ><a href="#method-i-valeurPont">#valeurPont</a>
161
+
162
+ <li ><a href="#method-i-valideHypothese">#valideHypothese</a>
163
+
164
+ </ul>
165
+ </div>
166
+
167
+ </div>
168
+ </nav>
169
+
170
+ <main role="main" aria-labelledby="class-Grille">
171
+ <h1 id="class-Grille" class="class">
172
+ class Grille
173
+ </h1>
174
+
175
+ <section class="description">
176
+
177
+ <pre>Auteur:: Brabant Mano, Renoult Florent
178
+ Version:: 0.1
179
+ Date:: 09/04/2020</pre>
180
+
181
+ <p>Cette classe représente une grille de jeu avec les cases, la pile d&#39;action, les hypoyhèses, etc</p>
182
+
183
+ </section>
184
+
185
+
186
+ <section id="5Buntitled-5D" class="documentation-section">
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+ <section class="attribute-method-details" class="method-section">
195
+ <header>
196
+ <h3>Attributes</h3>
197
+ </header>
198
+
199
+
200
+ <div id="attribute-i-actions" class="method-detail">
201
+ <div class="method-heading attribute-method-heading">
202
+ <span class="method-name">actions</span><span
203
+ class="attribute-access-type">[R]</span>
204
+ </div>
205
+
206
+ <div class="method-description">
207
+
208
+ <p>@actions =&gt; La pile d&#39;action</p>
209
+
210
+ </div>
211
+ </div>
212
+
213
+ <div id="attribute-i-difficulte" class="method-detail">
214
+ <div class="method-heading attribute-method-heading">
215
+ <span class="method-name">difficulte</span><span
216
+ class="attribute-access-type">[R]</span>
217
+ </div>
218
+
219
+ <div class="method-description">
220
+
221
+ <p>@difficulte =&gt; La difficulté de la grille</p>
222
+
223
+ </div>
224
+ </div>
225
+
226
+ <div id="attribute-i-mat" class="method-detail">
227
+ <div class="method-heading attribute-method-heading">
228
+ <span class="method-name">mat</span><span
229
+ class="attribute-access-type">[R]</span>
230
+ </div>
231
+
232
+ <div class="method-description">
233
+
234
+ <p>@matSolution =&gt; La matrice de cases</p>
235
+
236
+ </div>
237
+ </div>
238
+
239
+ <div id="attribute-i-matSolution" class="method-detail">
240
+ <div class="method-heading attribute-method-heading">
241
+ <span class="method-name">matSolution</span><span
242
+ class="attribute-access-type">[R]</span>
243
+ </div>
244
+
245
+ <div class="method-description">
246
+
247
+ <p>@matSolution =&gt; La matrice solution</p>
248
+
249
+ </div>
250
+ </div>
251
+
252
+ <div id="attribute-i-score" class="method-detail">
253
+ <div class="method-heading attribute-method-heading">
254
+ <span class="method-name">score</span><span
255
+ class="attribute-access-type">[RW]</span>
256
+ </div>
257
+
258
+ <div class="method-description">
259
+
260
+ <p>@matSolution =&gt; La matrice de cases</p>
261
+
262
+ </div>
263
+ </div>
264
+
265
+ <div id="attribute-i-tailleX" class="method-detail">
266
+ <div class="method-heading attribute-method-heading">
267
+ <span class="method-name">tailleX</span><span
268
+ class="attribute-access-type">[R]</span>
269
+ </div>
270
+
271
+ <div class="method-description">
272
+
273
+ <p>@tailleX =&gt; Le nombre de cases en abscisse</p>
274
+
275
+ </div>
276
+ </div>
277
+
278
+ <div id="attribute-i-tailleY" class="method-detail">
279
+ <div class="method-heading attribute-method-heading">
280
+ <span class="method-name">tailleY</span><span
281
+ class="attribute-access-type">[R]</span>
282
+ </div>
283
+
284
+ <div class="method-description">
285
+
286
+ <p>@tailleY =&gt; Le nombre de cases en ordonnée</p>
287
+
288
+ </div>
289
+ </div>
290
+
291
+ </section>
292
+
293
+
294
+
295
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
296
+ <header>
297
+ <h3>Public Class Methods</h3>
298
+ </header>
299
+
300
+
301
+ <div id="method-c-chargerGrilles" class="method-detail ">
302
+
303
+ <div class="method-heading">
304
+ <span class="method-name">chargerGrilles</span><span
305
+ class="method-args">(dossier)</span>
306
+
307
+ <span class="method-click-advice">click to toggle source</span>
308
+
309
+ </div>
310
+
311
+
312
+ <div class="method-description">
313
+
314
+ <p>Cette méthode permet de retourner toutes les grilles d&#39;un dossier</p>
315
+ <dl class="rdoc-list note-list"><dt>param
316
+ <dd><ul><li>
317
+ <p>dossier Le dossier où on va chercher les grilles</p>
318
+ </li></ul>
319
+ </dd></dl>
320
+
321
+
322
+
323
+
324
+ <div class="method-source-code" id="chargerGrilles-source">
325
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 62</span>
326
+ <span class="ruby-keyword">def</span> <span class="ruby-constant">Grille</span>.<span class="ruby-identifier ruby-title">chargerGrilles</span>(<span class="ruby-identifier">dossier</span>)
327
+
328
+ <span class="ruby-identifier">ret</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>()
329
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">each_child</span>(<span class="ruby-identifier">dossier</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">fichier</span><span class="ruby-operator">|</span>
330
+ <span class="ruby-identifier">text</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">dossier</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;/&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fichier</span>).<span class="ruby-identifier">read</span>
331
+ <span class="ruby-identifier">text</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp">/\r\n/</span>, <span class="ruby-string">&quot;\n&quot;</span>);
332
+ <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">push</span>(<span class="ruby-constant">Grille</span>.<span class="ruby-identifier">creer</span>(<span class="ruby-identifier">text</span>))
333
+ <span class="ruby-keyword">end</span>
334
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">ret</span>
335
+
336
+ <span class="ruby-keyword">end</span></pre>
337
+ </div>
338
+
339
+ </div>
340
+
341
+
342
+
343
+
344
+ </div>
345
+
346
+
347
+ <div id="method-c-creer" class="method-detail ">
348
+
349
+ <div class="method-heading">
350
+ <span class="method-name">creer</span><span
351
+ class="method-args">(chaine)</span>
352
+
353
+ <span class="method-click-advice">click to toggle source</span>
354
+
355
+ </div>
356
+
357
+
358
+ <div class="method-description">
359
+
360
+ <p>Ce constructeur permet de créer une nouvelle grille</p>
361
+ <dl class="rdoc-list note-list"><dt>param
362
+ <dd><ul><li>
363
+ <p>chaine La chaine génératrice</p>
364
+ </li></ul>
365
+ </dd><dt>Le format de la chaine est
366
+ <dd><ul><li>
367
+ <p>“#T tailleGrilleX tailleGrilleY”</p>
368
+ </li><li>
369
+ <p>“#D difficulteGrille”</p>
370
+ </li><li>
371
+ <p>Ensemble de caractères séparés par des espaces pour coder la grille complète</p>
372
+ </li></ul>
373
+ </dd><dt>Les caractères spéciaux sont
374
+ <dd><ul><li>
375
+ <p>[1-8] Correspont à une ile avec le même nombre de liens à faire</p>
376
+ </li><li>
377
+ <p>N Correspont à une case vide</p>
378
+ </li><li>
379
+ <p>- Correspont à un pont horizontal simple</p>
380
+ </li><li>
381
+ <p>= Correspont à un pont horizontal double</p>
382
+ </li><li>
383
+ <p>| Correspont à un pont vertical simple</p>
384
+ </li><li>
385
+ <p>H Correspont à un pont vertical double</p>
386
+ </li></ul>
387
+ </dd></dl>
388
+
389
+
390
+
391
+
392
+ <div class="method-source-code" id="creer-source">
393
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 92</span>
394
+ <span class="ruby-keyword">def</span> <span class="ruby-constant">Grille</span>.<span class="ruby-identifier ruby-title">creer</span>(<span class="ruby-identifier">chaine</span>)
395
+ <span class="ruby-identifier">new</span>(<span class="ruby-identifier">chaine</span>)
396
+ <span class="ruby-keyword">end</span></pre>
397
+ </div>
398
+
399
+ </div>
400
+
401
+
402
+
403
+
404
+ </div>
405
+
406
+
407
+ </section>
408
+
409
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
410
+ <header>
411
+ <h3>Public Instance Methods</h3>
412
+ </header>
413
+
414
+
415
+ <div id="method-i-addAction" class="method-detail ">
416
+
417
+ <div class="method-heading">
418
+ <span class="method-name">addAction</span><span
419
+ class="method-args">(ile1, ile2, methode)</span>
420
+
421
+ <span class="method-click-advice">click to toggle source</span>
422
+
423
+ </div>
424
+
425
+
426
+ <div class="method-description">
427
+
428
+ <p>Cette méthode permet d&#39;ajouter une action à la pile d&#39;action</p>
429
+ <dl class="rdoc-list note-list"><dt>param
430
+ <dd><ul><li>
431
+ <p>ile1 La premère ile</p>
432
+ </li><li>
433
+ <p>ile2 La deuxième ile</p>
434
+ </li><li>
435
+ <p>methode La méthode utilisé (:createPont ou :supprimePont)</p>
436
+ </li></ul>
437
+ </dd></dl>
438
+
439
+
440
+
441
+
442
+ <div class="method-source-code" id="addAction-source">
443
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 468</span>
444
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">addAction</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">methode</span>)
445
+ <span class="ruby-ivar">@actions</span>.<span class="ruby-identifier">empiler</span>(<span class="ruby-constant">Action</span>.<span class="ruby-identifier">creer</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">methode</span>))
446
+ <span class="ruby-keyword">end</span></pre>
447
+ </div>
448
+
449
+ </div>
450
+
451
+
452
+
453
+
454
+ </div>
455
+
456
+
457
+ <div id="method-i-afficheSolution" class="method-detail ">
458
+
459
+ <div class="method-heading">
460
+ <span class="method-name">afficheSolution</span><span
461
+ class="method-args">()</span>
462
+
463
+ <span class="method-click-advice">click to toggle source</span>
464
+
465
+ </div>
466
+
467
+
468
+ <div class="method-description">
469
+
470
+ <p>Cette méthode permet d&#39;afficher les case de la grille solution</p>
471
+
472
+
473
+
474
+
475
+ <div class="method-source-code" id="afficheSolution-source">
476
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 168</span>
477
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">afficheSolution</span>()
478
+ <span class="ruby-identifier">print</span> <span class="ruby-string">&quot;\t&quot;</span>
479
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">colonne</span> <span class="ruby-keyword">in</span> (<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">tailleX</span><span class="ruby-value">-1</span>)
480
+ <span class="ruby-identifier">print</span> <span class="ruby-identifier">colonne</span>.<span class="ruby-identifier">to_s</span>() <span class="ruby-operator">+</span> <span class="ruby-string">&quot; &quot;</span>
481
+ <span class="ruby-keyword">end</span>
482
+ <span class="ruby-identifier">print</span> <span class="ruby-string">&quot;\n&quot;</span>
483
+ <span class="ruby-identifier">ligne</span> = <span class="ruby-value">-1</span>
484
+ <span class="ruby-ivar">@matSolution</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
485
+ <span class="ruby-identifier">print</span> (<span class="ruby-identifier">ligne</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>).<span class="ruby-identifier">to_s</span>() <span class="ruby-operator">+</span> <span class="ruby-string">&quot; :\t&quot;</span>
486
+ <span class="ruby-identifier">i</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
487
+ <span class="ruby-identifier">print</span> <span class="ruby-identifier">j</span>.<span class="ruby-identifier">to_s</span>() <span class="ruby-operator">+</span> <span class="ruby-string">&quot; &quot;</span>
488
+ <span class="ruby-keyword">end</span>
489
+ <span class="ruby-identifier">print</span> <span class="ruby-string">&quot;\n&quot;</span>
490
+ <span class="ruby-keyword">end</span>
491
+ <span class="ruby-keyword">end</span></pre>
492
+ </div>
493
+
494
+ </div>
495
+
496
+
497
+
498
+
499
+ </div>
500
+
501
+
502
+ <div id="method-i-afficheToi" class="method-detail ">
503
+
504
+ <div class="method-heading">
505
+ <span class="method-name">afficheToi</span><span
506
+ class="method-args">()</span>
507
+
508
+ <span class="method-click-advice">click to toggle source</span>
509
+
510
+ </div>
511
+
512
+
513
+ <div class="method-description">
514
+
515
+ <p>Cette méthode permet d&#39;afficher les case de la grille</p>
516
+
517
+
518
+
519
+
520
+ <div class="method-source-code" id="afficheToi-source">
521
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 150</span>
522
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">afficheToi</span>()
523
+ <span class="ruby-identifier">print</span> <span class="ruby-string">&quot;\t&quot;</span>
524
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">colonne</span> <span class="ruby-keyword">in</span> (<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">tailleX</span><span class="ruby-value">-1</span>)
525
+ <span class="ruby-identifier">print</span> <span class="ruby-identifier">colonne</span>.<span class="ruby-identifier">to_s</span>() <span class="ruby-operator">+</span> <span class="ruby-string">&quot; &quot;</span>
526
+ <span class="ruby-keyword">end</span>
527
+ <span class="ruby-identifier">print</span> <span class="ruby-string">&quot;\n&quot;</span>
528
+ <span class="ruby-identifier">ligne</span> = <span class="ruby-value">-1</span>
529
+ <span class="ruby-ivar">@mat</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
530
+ <span class="ruby-identifier">print</span> (<span class="ruby-identifier">ligne</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>).<span class="ruby-identifier">to_s</span>() <span class="ruby-operator">+</span> <span class="ruby-string">&quot; :\t&quot;</span>
531
+ <span class="ruby-identifier">i</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
532
+ <span class="ruby-identifier">print</span> <span class="ruby-identifier">j</span>.<span class="ruby-identifier">to_s</span>() <span class="ruby-operator">+</span> <span class="ruby-string">&quot; &quot;</span>
533
+ <span class="ruby-keyword">end</span>
534
+ <span class="ruby-identifier">print</span> <span class="ruby-string">&quot;\n&quot;</span>
535
+ <span class="ruby-keyword">end</span>
536
+ <span class="ruby-keyword">end</span></pre>
537
+ </div>
538
+
539
+ </div>
540
+
541
+
542
+
543
+
544
+ </div>
545
+
546
+
547
+ <div id="method-i-chercherVoisins" class="method-detail ">
548
+
549
+ <div class="method-heading">
550
+ <span class="method-name">chercherVoisins</span><span
551
+ class="method-args">(pont, direction)</span>
552
+
553
+ <span class="method-click-advice">click to toggle source</span>
554
+
555
+ </div>
556
+
557
+
558
+ <div class="method-description">
559
+
560
+ <p>Cette méthode permet de créer un pont entre la dernière ile et une autre ile qui passe par un pont donné</p>
561
+ <dl class="rdoc-list note-list"><dt>param
562
+ <dd><ul><li>
563
+ <p>pont La case pont par lequel doit passer le pont entre les deux iles</p>
564
+ </li><li>
565
+ <p>direction La direction dans laquelle est dirigé le pont</p>
566
+ </li></ul>
567
+ </dd></dl>
568
+
569
+
570
+
571
+
572
+ <div class="method-source-code" id="chercherVoisins-source">
573
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 376</span>
574
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">chercherVoisins</span>(<span class="ruby-identifier">pont</span>, <span class="ruby-identifier">direction</span>)
575
+
576
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">HORIZONTAL</span>)
577
+
578
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">posX</span>
579
+ <span class="ruby-identifier">j</span> = <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">posY</span>
580
+ <span class="ruby-keyword">while</span>(<span class="ruby-operator">!</span>(<span class="ruby-identifier">ileDroite</span> = <span class="ruby-identifier">getCase</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)).<span class="ruby-identifier">estIle?</span>())
581
+ <span class="ruby-identifier">j</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
582
+ <span class="ruby-keyword">end</span>
583
+ <span class="ruby-identifier">j</span> = <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">posY</span>
584
+ <span class="ruby-keyword">while</span>(<span class="ruby-operator">!</span>(<span class="ruby-identifier">ileGauche</span> = <span class="ruby-identifier">getCase</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)).<span class="ruby-identifier">estIle?</span>())
585
+ <span class="ruby-identifier">j</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
586
+ <span class="ruby-keyword">end</span>
587
+
588
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">ileGauche</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@dernierIle</span>)
589
+ <span class="ruby-identifier">ile2</span> = <span class="ruby-identifier">ileDroite</span>
590
+ <span class="ruby-keyword">else</span>
591
+ <span class="ruby-identifier">ile2</span> = <span class="ruby-identifier">ileGauche</span>
592
+ <span class="ruby-keyword">end</span>
593
+ <span class="ruby-identifier">createPont</span>(<span class="ruby-identifier">ile2</span>)
594
+
595
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">VERTICAL</span>)
596
+
597
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">posX</span>
598
+ <span class="ruby-identifier">j</span> = <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">posY</span>
599
+ <span class="ruby-keyword">while</span>(<span class="ruby-operator">!</span>(<span class="ruby-identifier">ileBas</span> = <span class="ruby-identifier">getCase</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)).<span class="ruby-identifier">estIle?</span>())
600
+ <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
601
+ <span class="ruby-keyword">end</span>
602
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">posX</span>
603
+ <span class="ruby-keyword">while</span>(<span class="ruby-operator">!</span>(<span class="ruby-identifier">ileHaut</span> = <span class="ruby-identifier">getCase</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)).<span class="ruby-identifier">estIle?</span>())
604
+ <span class="ruby-identifier">i</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
605
+ <span class="ruby-keyword">end</span>
606
+
607
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">ileBas</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@dernierIle</span>)
608
+ <span class="ruby-identifier">ile2</span> = <span class="ruby-identifier">ileHaut</span>
609
+ <span class="ruby-keyword">else</span>
610
+ <span class="ruby-identifier">ile2</span> = <span class="ruby-identifier">ileBas</span>
611
+ <span class="ruby-keyword">end</span>
612
+ <span class="ruby-identifier">createPont</span>(<span class="ruby-identifier">ile2</span>)
613
+
614
+ <span class="ruby-keyword">end</span>
615
+
616
+ <span class="ruby-keyword">end</span></pre>
617
+ </div>
618
+
619
+ </div>
620
+
621
+
622
+
623
+
624
+ </div>
625
+
626
+
627
+ <div id="method-i-clickOnIle" class="method-detail ">
628
+
629
+ <div class="method-heading">
630
+ <span class="method-name">clickOnIle</span><span
631
+ class="method-args">(ile)</span>
632
+
633
+ <span class="method-click-advice">click to toggle source</span>
634
+
635
+ </div>
636
+
637
+
638
+ <div class="method-description">
639
+
640
+ <p>Méthode à appeler quand on appuie sur une ile</p>
641
+ <dl class="rdoc-list note-list"><dt>param
642
+ <dd><ul><li>
643
+ <p>ile L&#39;ile sur laquelle on a cliqué</p>
644
+ </li></ul>
645
+ </dd></dl>
646
+
647
+
648
+
649
+
650
+ <div class="method-source-code" id="clickOnIle-source">
651
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 315</span>
652
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">clickOnIle</span>(<span class="ruby-identifier">ile</span>)
653
+ <span class="ruby-identifier">setDernierIle</span>(<span class="ruby-identifier">ile</span>)
654
+ <span class="ruby-keyword">end</span></pre>
655
+ </div>
656
+
657
+ </div>
658
+
659
+
660
+
661
+
662
+ </div>
663
+
664
+
665
+ <div id="method-i-clickOnPont" class="method-detail ">
666
+
667
+ <div class="method-heading">
668
+ <span class="method-name">clickOnPont</span><span
669
+ class="method-args">(pont)</span>
670
+
671
+ <span class="method-click-advice">click to toggle source</span>
672
+
673
+ </div>
674
+
675
+
676
+ <div class="method-description">
677
+
678
+ <p>Méthode à appeler quand on appuie sur une ile</p>
679
+ <dl class="rdoc-list note-list"><dt>param
680
+ <dd><ul><li>
681
+ <p>ile L&#39;ile sur laquelle on a cliqué</p>
682
+ </li></ul>
683
+ </dd></dl>
684
+
685
+
686
+
687
+
688
+ <div class="method-source-code" id="clickOnPont-source">
689
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 324</span>
690
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">clickOnPont</span>(<span class="ruby-identifier">pont</span>)
691
+
692
+ <span class="ruby-keyword">if</span>(<span class="ruby-operator">!</span><span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">eql?</span>(<span class="ruby-keyword">nil</span>))
693
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">pont</span>.<span class="ruby-identifier">surbrillance</span>())
694
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">chercherVoisins</span>(<span class="ruby-identifier">pont</span>, <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">directionSurbrillance</span>)
695
+ <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;ALLLLLLLLOOOOOO ?????? : &quot;</span>, <span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">afficheInfo</span>()
696
+ <span class="ruby-ivar">@score</span> <span class="ruby-operator">-=</span> <span class="ruby-value">100</span>
697
+ <span class="ruby-keyword">else</span>
698
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">setDernierIle</span>(<span class="ruby-keyword">nil</span>)
699
+ <span class="ruby-keyword">end</span>
700
+ <span class="ruby-keyword">end</span>
701
+
702
+ <span class="ruby-keyword">end</span></pre>
703
+ </div>
704
+
705
+ </div>
706
+
707
+
708
+
709
+
710
+ </div>
711
+
712
+
713
+ <div id="method-i-createPont" class="method-detail ">
714
+
715
+ <div class="method-heading">
716
+ <span class="method-name">createPont</span><span
717
+ class="method-args">(ile2, action = true)</span>
718
+
719
+ <span class="method-click-advice">click to toggle source</span>
720
+
721
+ </div>
722
+
723
+
724
+ <div class="method-description">
725
+
726
+ <p>Cette méthode permet de créer un pont entre deux iles</p>
727
+ <dl class="rdoc-list note-list"><dt>param
728
+ <dd><ul><li>
729
+ <p>ile2 La deuxième ile (La première est l&#39;ile @dernierIle)</p>
730
+ </li><li>
731
+ <p>action Boolean, si true on ajoute l&#39;action à la pile d&#39;action, si false on ne l&#39;ajoute pas</p>
732
+ </li></ul>
733
+ </dd><dt>return
734
+ <dd><ul><li>
735
+ <p>true Si le pont a été crée</p>
736
+ </li><li>
737
+ <p>false Sinon</p>
738
+ </li></ul>
739
+ </dd></dl>
740
+
741
+
742
+
743
+
744
+ <div class="method-source-code" id="createPont-source">
745
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 589</span>
746
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">createPont</span>(<span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">action</span> = <span class="ruby-keyword">true</span>)
747
+ <span class="ruby-identifier">direction</span> = <span class="ruby-identifier">getDirectionPont</span>(<span class="ruby-ivar">@dernierIle</span>, <span class="ruby-identifier">ile2</span>)
748
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">NULLE</span>)
749
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">action</span>)
750
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">addAction</span>(<span class="ruby-ivar">@dernierIle</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-value">:createPont</span>)
751
+ <span class="ruby-keyword">end</span>
752
+ <span class="ruby-identifier">ile2</span>.<span class="ruby-identifier">ajouteNombrePont</span>(<span class="ruby-ivar">@dernierIle</span>)
753
+ <span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">ajouteNombrePont</span>(<span class="ruby-identifier">ile2</span>)
754
+ <span class="ruby-keyword">end</span>
755
+ <span class="ruby-identifier">proc</span> = <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pont</span><span class="ruby-operator">|</span>
756
+ <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">augmenteValeur</span>(<span class="ruby-identifier">direction</span>)
757
+ <span class="ruby-keyword">end</span>
758
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">parcoursPont</span>(<span class="ruby-ivar">@dernierIle</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">proc</span>)
759
+ <span class="ruby-keyword">end</span></pre>
760
+ </div>
761
+
762
+ </div>
763
+
764
+
765
+
766
+
767
+ </div>
768
+
769
+
770
+ <div id="method-i-creerHypothese" class="method-detail ">
771
+
772
+ <div class="method-heading">
773
+ <span class="method-name">creerHypothese</span><span
774
+ class="method-args">()</span>
775
+
776
+ <span class="method-click-advice">click to toggle source</span>
777
+
778
+ </div>
779
+
780
+
781
+ <div class="method-description">
782
+
783
+ <p>Cette méthode permet d&#39;emmetre une nouvelle hypothèse (rangé dans la pile d&#39;hypothèse)</p>
784
+
785
+
786
+
787
+
788
+ <div class="method-source-code" id="creerHypothese-source">
789
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 272</span>
790
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">creerHypothese</span>()
791
+ <span class="ruby-keyword">begin</span>
792
+ <span class="ruby-ivar">@checkpoints</span>.<span class="ruby-identifier">empiler</span>(<span class="ruby-constant">Hypothese</span>.<span class="ruby-identifier">creer</span>(<span class="ruby-keyword">self</span>))
793
+ <span class="ruby-identifier">undoCouleurPont</span>(<span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">undo</span>())
794
+ <span class="ruby-keyword">rescue</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">e</span>
795
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>
796
+ <span class="ruby-keyword">end</span>
797
+ <span class="ruby-keyword">end</span></pre>
798
+ </div>
799
+
800
+ </div>
801
+
802
+
803
+
804
+
805
+ </div>
806
+
807
+
808
+ <div id="method-i-effacePont" class="method-detail ">
809
+
810
+ <div class="method-heading">
811
+ <span class="method-name">effacePont</span><span
812
+ class="method-args">()</span>
813
+
814
+ <span class="method-click-advice">click to toggle source</span>
815
+
816
+ </div>
817
+
818
+
819
+ <div class="method-description">
820
+
821
+ <p>Cette méthode permet d&#39;enlever la surbrillance des pont disponibles de @dernierIle</p>
822
+
823
+
824
+
825
+
826
+ <div class="method-source-code" id="effacePont-source">
827
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 748</span>
828
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">effacePont</span>()
829
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">direction</span> <span class="ruby-keyword">in</span> <span class="ruby-constant">Ile</span><span class="ruby-operator">::</span><span class="ruby-constant">DIRECTIONS</span>
830
+ <span class="ruby-keyword">if</span>(<span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">aVoisinDisponible?</span>(<span class="ruby-identifier">direction</span>))
831
+ <span class="ruby-identifier">eteintPont</span>(<span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">getVoisin</span>(<span class="ruby-identifier">direction</span>))
832
+ <span class="ruby-keyword">end</span>
833
+ <span class="ruby-keyword">end</span>
834
+ <span class="ruby-keyword">end</span></pre>
835
+ </div>
836
+
837
+ </div>
838
+
839
+
840
+
841
+
842
+ </div>
843
+
844
+
845
+ <div id="method-i-estVoisin-3F" class="method-detail ">
846
+
847
+ <div class="method-heading">
848
+ <span class="method-name">estVoisin?</span><span
849
+ class="method-args">(ile1, ile2 = @dernierIle)</span>
850
+
851
+ <span class="method-click-advice">click to toggle source</span>
852
+
853
+ </div>
854
+
855
+
856
+ <div class="method-description">
857
+
858
+ <p>Cette méthode permet de savoir si deux iles sont voisines</p>
859
+ <dl class="rdoc-list note-list"><dt>param
860
+ <dd><ul><li>
861
+ <p>ile1 La première ile</p>
862
+ </li><li>
863
+ <p>ile2 La deuxième ile</p>
864
+ </li></ul>
865
+ </dd><dt>return
866
+ <dd><ul><li>
867
+ <p>true Si les iles sont voisines</p>
868
+ </li><li>
869
+ <p>false Sinon</p>
870
+ </li></ul>
871
+ </dd></dl>
872
+
873
+
874
+
875
+
876
+ <div class="method-source-code" id="estVoisin-3F-source">
877
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 572</span>
878
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">estVoisin?</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span> = <span class="ruby-ivar">@dernierIle</span>)
879
+ <span class="ruby-identifier">proc</span> = <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pont</span><span class="ruby-operator">|</span>
880
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">pont</span>.<span class="ruby-identifier">estIle?</span>())
881
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
882
+ <span class="ruby-keyword">end</span>
883
+ <span class="ruby-keyword">end</span>
884
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">parcoursPont</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">proc</span>)
885
+ <span class="ruby-keyword">end</span></pre>
886
+ </div>
887
+
888
+ </div>
889
+
890
+
891
+
892
+
893
+ </div>
894
+
895
+
896
+ <div id="method-i-eteintPont" class="method-detail ">
897
+
898
+ <div class="method-heading">
899
+ <span class="method-name">eteintPont</span><span
900
+ class="method-args">(ile2)</span>
901
+
902
+ <span class="method-click-advice">click to toggle source</span>
903
+
904
+ </div>
905
+
906
+
907
+ <div class="method-description">
908
+
909
+ <p>Cette méthode permet de retirer la surbrillance d&#39;un pont entre deux iles</p>
910
+ <dl class="rdoc-list note-list"><dt>param
911
+ <dd><ul><li>
912
+ <p>ile2 La deuxième ile (La première est l&#39;ile @dernierIle)</p>
913
+ </li></ul>
914
+ </dd><dt>return
915
+ <dd><ul><li>
916
+ <p>true Si le pont n&#39;est plus en surbrillance</p>
917
+ </li><li>
918
+ <p>false Sinon</p>
919
+ </li></ul>
920
+ </dd></dl>
921
+
922
+
923
+
924
+
925
+ <div class="method-source-code" id="eteintPont-source">
926
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 650</span>
927
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">eteintPont</span>(<span class="ruby-identifier">ile2</span>)
928
+ <span class="ruby-identifier">direction</span> = <span class="ruby-identifier">getDirectionPont</span>(<span class="ruby-ivar">@dernierIle</span>, <span class="ruby-identifier">ile2</span>)
929
+ <span class="ruby-identifier">proc</span> = <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pont</span><span class="ruby-operator">|</span>
930
+ <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">supprSurbrillance</span>(<span class="ruby-identifier">direction</span>)
931
+ <span class="ruby-keyword">end</span>
932
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">parcoursPont</span>(<span class="ruby-ivar">@dernierIle</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">proc</span>)
933
+ <span class="ruby-keyword">end</span></pre>
934
+ </div>
935
+
936
+ </div>
937
+
938
+
939
+
940
+
941
+ </div>
942
+
943
+
944
+ <div id="method-i-fini-3F" class="method-detail ">
945
+
946
+ <div class="method-heading">
947
+ <span class="method-name">fini?</span><span
948
+ class="method-args">()</span>
949
+
950
+ <span class="method-click-advice">click to toggle source</span>
951
+
952
+ </div>
953
+
954
+
955
+ <div class="method-description">
956
+
957
+ <p>Cette méthode permet de savoir si la grille est fini (si tous les ponts on été placé comme dans la solution)</p>
958
+ <dl class="rdoc-list note-list"><dt>return
959
+ <dd><ul><li>
960
+ <p>true Si la grille est fini</p>
961
+ </li><li>
962
+ <p>false Sinon</p>
963
+ </li></ul>
964
+ </dd></dl>
965
+
966
+
967
+
968
+
969
+ <div class="method-source-code" id="fini-3F-source">
970
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 189</span>
971
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">fini?</span>()
972
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword">in</span> (<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-ivar">@tailleX</span><span class="ruby-value">-1</span>))
973
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">j</span> <span class="ruby-keyword">in</span> (<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-ivar">@tailleY</span><span class="ruby-value">-1</span>))
974
+ <span class="ruby-keyword">if</span>(<span class="ruby-ivar">@mat</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">j</span>] <span class="ruby-operator">!=</span> <span class="ruby-ivar">@matSolution</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">j</span>])
975
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
976
+ <span class="ruby-keyword">end</span>
977
+ <span class="ruby-keyword">end</span>
978
+ <span class="ruby-keyword">end</span>
979
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
980
+ <span class="ruby-keyword">end</span></pre>
981
+ </div>
982
+
983
+ </div>
984
+
985
+
986
+
987
+
988
+ </div>
989
+
990
+
991
+ <div id="method-i-getCase" class="method-detail ">
992
+
993
+ <div class="method-heading">
994
+ <span class="method-name">getCase</span><span
995
+ class="method-args">(i, j)</span>
996
+
997
+ <span class="method-click-advice">click to toggle source</span>
998
+
999
+ </div>
1000
+
1001
+
1002
+ <div class="method-description">
1003
+
1004
+ <p>Cette méthode permet de recuperer une case de la grille</p>
1005
+ <dl class="rdoc-list note-list"><dt>param
1006
+ <dd><ul><li>
1007
+ <p>i La position en abscisse</p>
1008
+ </li><li>
1009
+ <p>j La position en ordonnée</p>
1010
+ </li></ul>
1011
+ </dd><dt>return
1012
+ <dd><ul><li>
1013
+ <p>La case à la position [<a href="j">i]</a></p>
1014
+ </li></ul>
1015
+ </dd></dl>
1016
+
1017
+
1018
+
1019
+
1020
+ <div class="method-source-code" id="getCase-source">
1021
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 249</span>
1022
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">getCase</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)
1023
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@mat</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">j</span>]
1024
+ <span class="ruby-keyword">end</span></pre>
1025
+ </div>
1026
+
1027
+ </div>
1028
+
1029
+
1030
+
1031
+
1032
+ </div>
1033
+
1034
+
1035
+ <div id="method-i-getCaseSolution" class="method-detail ">
1036
+
1037
+ <div class="method-heading">
1038
+ <span class="method-name">getCaseSolution</span><span
1039
+ class="method-args">(i, j)</span>
1040
+
1041
+ <span class="method-click-advice">click to toggle source</span>
1042
+
1043
+ </div>
1044
+
1045
+
1046
+ <div class="method-description">
1047
+
1048
+ <p>Cette méthode permet de recuperer une case de la grille solution</p>
1049
+ <dl class="rdoc-list note-list"><dt>param
1050
+ <dd><ul><li>
1051
+ <p>i La position en abscisse</p>
1052
+ </li><li>
1053
+ <p>j La position en ordonnée</p>
1054
+ </li></ul>
1055
+ </dd><dt>return
1056
+ <dd><ul><li>
1057
+ <p>La case à la position (i, j)</p>
1058
+ </li></ul>
1059
+ </dd></dl>
1060
+
1061
+
1062
+
1063
+
1064
+ <div class="method-source-code" id="getCaseSolution-source">
1065
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 266</span>
1066
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">getCaseSolution</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>)
1067
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@matSolution</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">j</span>]
1068
+ <span class="ruby-keyword">end</span></pre>
1069
+ </div>
1070
+
1071
+ </div>
1072
+
1073
+
1074
+
1075
+
1076
+ </div>
1077
+
1078
+
1079
+ <div id="method-i-getDernierIle" class="method-detail ">
1080
+
1081
+ <div class="method-heading">
1082
+ <span class="method-name">getDernierIle</span><span
1083
+ class="method-args">()</span>
1084
+
1085
+ <span class="method-click-advice">click to toggle source</span>
1086
+
1087
+ </div>
1088
+
1089
+
1090
+ <div class="method-description">
1091
+
1092
+ <p>Cette méthode permet de recuperer la dernière ile séléctionnée</p>
1093
+ <dl class="rdoc-list note-list"><dt>return
1094
+ <dd><ul><li>
1095
+ <p>La dernière ile séléctionnée</p>
1096
+ </li></ul>
1097
+ </dd></dl>
1098
+
1099
+
1100
+
1101
+
1102
+ <div class="method-source-code" id="getDernierIle-source">
1103
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 732</span>
1104
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">getDernierIle</span>()
1105
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@dernierIle</span>
1106
+ <span class="ruby-keyword">end</span></pre>
1107
+ </div>
1108
+
1109
+ </div>
1110
+
1111
+
1112
+
1113
+
1114
+ </div>
1115
+
1116
+
1117
+ <div id="method-i-getDifference" class="method-detail ">
1118
+
1119
+ <div class="method-heading">
1120
+ <span class="method-name">getDifference</span><span
1121
+ class="method-args">(ile1, ile2)</span>
1122
+
1123
+ <span class="method-click-advice">click to toggle source</span>
1124
+
1125
+ </div>
1126
+
1127
+
1128
+ <div class="method-description">
1129
+
1130
+ <p>Cette méthode permet de connaitre la direction et les positions des ponts qui pourrait relier deux iles</p>
1131
+ <dl class="rdoc-list note-list"><dt>param
1132
+ <dd><ul><li>
1133
+ <p>ile1 La première ile</p>
1134
+ </li><li>
1135
+ <p>ile2 La deuxième ile</p>
1136
+ </li></ul>
1137
+ </dd><dt>return
1138
+ <dd><ul><li>
1139
+ <p>direction : La direction du pont, retourne Pont::NULLE si les iles ne sont pas voisines</p>
1140
+ </li><li>
1141
+ <p>petitPos : La plus petit coordonnée du pont (en abscisse ou en ordonnée en fontion de la direction)</p>
1142
+ </li><li>
1143
+ <p>grandPos : La plus grande coordonnée du pont (en abscisse ou en ordonnée en fontion de la direction)</p>
1144
+ </li></ul>
1145
+ </dd></dl>
1146
+
1147
+
1148
+
1149
+
1150
+ <div class="method-source-code" id="getDifference-source">
1151
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 547</span>
1152
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">getDifference</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>)
1153
+
1154
+ <span class="ruby-identifier">direction</span> = <span class="ruby-identifier">getDirectionPont</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>)
1155
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">HORIZONTAL</span>)
1156
+ <span class="ruby-identifier">petitPos</span> = [<span class="ruby-identifier">ile2</span>.<span class="ruby-identifier">posY</span>(), <span class="ruby-identifier">ile1</span>.<span class="ruby-identifier">posY</span>()].<span class="ruby-identifier">min</span>() <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1157
+ <span class="ruby-identifier">grandPos</span> = [<span class="ruby-identifier">ile2</span>.<span class="ruby-identifier">posY</span>(), <span class="ruby-identifier">ile1</span>.<span class="ruby-identifier">posY</span>()].<span class="ruby-identifier">max</span>() <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
1158
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">VERTICAL</span>) <span class="ruby-comment">#alors pont vertical</span>
1159
+ <span class="ruby-identifier">petitPos</span> = [<span class="ruby-identifier">ile2</span>.<span class="ruby-identifier">posX</span>(), <span class="ruby-identifier">ile1</span>.<span class="ruby-identifier">posX</span>()].<span class="ruby-identifier">min</span>() <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1160
+ <span class="ruby-identifier">grandPos</span> = [<span class="ruby-identifier">ile2</span>.<span class="ruby-identifier">posX</span>(), <span class="ruby-identifier">ile1</span>.<span class="ruby-identifier">posX</span>()].<span class="ruby-identifier">max</span>() <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
1161
+ <span class="ruby-keyword">else</span>
1162
+ <span class="ruby-identifier">petitPos</span> = <span class="ruby-value">0</span>
1163
+ <span class="ruby-identifier">grandPos</span> = <span class="ruby-value">0</span>
1164
+ <span class="ruby-keyword">end</span>
1165
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">direction</span>, <span class="ruby-identifier">petitPos</span>, <span class="ruby-identifier">grandPos</span>
1166
+
1167
+ <span class="ruby-keyword">end</span></pre>
1168
+ </div>
1169
+
1170
+ </div>
1171
+
1172
+
1173
+
1174
+
1175
+ </div>
1176
+
1177
+
1178
+ <div id="method-i-getDirectionPont" class="method-detail ">
1179
+
1180
+ <div class="method-heading">
1181
+ <span class="method-name">getDirectionPont</span><span
1182
+ class="method-args">(ile1, ile2)</span>
1183
+
1184
+ <span class="method-click-advice">click to toggle source</span>
1185
+
1186
+ </div>
1187
+
1188
+
1189
+ <div class="method-description">
1190
+
1191
+ <p>Cette méthode permet de connaitre la direction du pont qui pourrait relier deux iles</p>
1192
+ <dl class="rdoc-list note-list"><dt>param
1193
+ <dd><ul><li>
1194
+ <p>ile1 La première ile</p>
1195
+ </li><li>
1196
+ <p>ile2 La deuxième ile</p>
1197
+ </li></ul>
1198
+ </dd><dt>return
1199
+ <dd><ul><li>
1200
+ <p>La direction du pont Si les deux iles sont voisines</p>
1201
+ </li><li>
1202
+ <p>Pont::NULLE Sinon</p>
1203
+ </li></ul>
1204
+ </dd></dl>
1205
+
1206
+
1207
+
1208
+
1209
+ <div class="method-source-code" id="getDirectionPont-source">
1210
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 528</span>
1211
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">getDirectionPont</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>)
1212
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">ile1</span>.<span class="ruby-identifier">posX</span>() <span class="ruby-operator">==</span> <span class="ruby-identifier">ile2</span>.<span class="ruby-identifier">posX</span>()) <span class="ruby-comment">#alors pont horizontal</span>
1213
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">HORIZONTAL</span>
1214
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">ile1</span>.<span class="ruby-identifier">posY</span>() <span class="ruby-operator">==</span> <span class="ruby-identifier">ile2</span>.<span class="ruby-identifier">posY</span>()) <span class="ruby-comment">#alors pont vertical</span>
1215
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">VERTICAL</span>
1216
+ <span class="ruby-keyword">else</span>
1217
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">NULLE</span>
1218
+ <span class="ruby-keyword">end</span>
1219
+ <span class="ruby-keyword">end</span></pre>
1220
+ </div>
1221
+
1222
+ </div>
1223
+
1224
+
1225
+
1226
+
1227
+ </div>
1228
+
1229
+
1230
+ <div id="method-i-getGrille" class="method-detail ">
1231
+
1232
+ <div class="method-heading">
1233
+ <span class="method-name">getGrille</span><span
1234
+ class="method-args">()</span>
1235
+
1236
+ <span class="method-click-advice">click to toggle source</span>
1237
+
1238
+ </div>
1239
+
1240
+
1241
+ <div class="method-description">
1242
+
1243
+ <p>Cette méthode permet de recuperer la matrice de cases</p>
1244
+
1245
+
1246
+
1247
+
1248
+ <div class="method-source-code" id="getGrille-source">
1249
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 217</span>
1250
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">getGrille</span>()
1251
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@mat</span>
1252
+ <span class="ruby-keyword">end</span></pre>
1253
+ </div>
1254
+
1255
+ </div>
1256
+
1257
+
1258
+
1259
+
1260
+ </div>
1261
+
1262
+
1263
+ <div id="method-i-memeSolution" class="method-detail ">
1264
+
1265
+ <div class="method-heading">
1266
+ <span class="method-name">memeSolution</span><span
1267
+ class="method-args">(grille)</span>
1268
+
1269
+ <span class="method-click-advice">click to toggle source</span>
1270
+
1271
+ </div>
1272
+
1273
+
1274
+ <div class="method-description">
1275
+
1276
+ <p>Cette méthode permet de savoir si la grille à une solution identique à une autre grille</p>
1277
+ <dl class="rdoc-list note-list"><dt>param
1278
+ <dd><ul><li>
1279
+ <p>grille L&#39;autre grille</p>
1280
+ </li></ul>
1281
+ </dd><dt>return
1282
+ <dd><ul><li>
1283
+ <p>true Si les grilles ont la même solution</p>
1284
+ </li><li>
1285
+ <p>false Sinon</p>
1286
+ </li></ul>
1287
+ </dd></dl>
1288
+
1289
+
1290
+
1291
+
1292
+ <div class="method-source-code" id="memeSolution-source">
1293
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 228</span>
1294
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">memeSolution</span>(<span class="ruby-identifier">grille</span>)
1295
+
1296
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span>(<span class="ruby-ivar">@tailleX</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">grille</span>.<span class="ruby-identifier">tailleX</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@tailleY</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">grille</span>.<span class="ruby-identifier">tailleY</span>)
1297
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword">in</span> (<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-ivar">@tailleX</span><span class="ruby-value">-1</span>))
1298
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">j</span> <span class="ruby-keyword">in</span> (<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-ivar">@tailleY</span><span class="ruby-value">-1</span>))
1299
+ <span class="ruby-keyword">if</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">getCaseSolution</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>) <span class="ruby-operator">!=</span> <span class="ruby-identifier">grille</span>.<span class="ruby-identifier">getCaseSolution</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">j</span>))
1300
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
1301
+ <span class="ruby-keyword">end</span>
1302
+ <span class="ruby-keyword">end</span>
1303
+ <span class="ruby-keyword">end</span>
1304
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
1305
+
1306
+ <span class="ruby-keyword">end</span></pre>
1307
+ </div>
1308
+
1309
+ </div>
1310
+
1311
+
1312
+
1313
+
1314
+ </div>
1315
+
1316
+
1317
+ <div id="method-i-modifScore" class="method-detail ">
1318
+
1319
+ <div class="method-heading">
1320
+ <span class="method-name">modifScore</span><span
1321
+ class="method-args">(val,labelScore)</span>
1322
+
1323
+ <span class="method-click-advice">click to toggle source</span>
1324
+
1325
+ </div>
1326
+
1327
+
1328
+ <div class="method-description">
1329
+
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+ <div class="method-source-code" id="modifScore-source">
1336
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 454</span>
1337
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">modifScore</span>(<span class="ruby-identifier">val</span>,<span class="ruby-identifier">labelScore</span>)
1338
+ <span class="ruby-ivar">@score</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">val</span>
1339
+ <span class="ruby-keyword">if</span>(<span class="ruby-ivar">@score</span><span class="ruby-operator">&lt;</span><span class="ruby-value">0</span>)
1340
+ <span class="ruby-ivar">@score</span> = <span class="ruby-value">0</span>
1341
+ <span class="ruby-keyword">end</span>
1342
+ <span class="ruby-identifier">labelScore</span>.<span class="ruby-identifier">set_label</span>(<span class="ruby-ivar">@score</span>.<span class="ruby-identifier">to_s</span>)
1343
+ <span class="ruby-keyword">end</span></pre>
1344
+ </div>
1345
+
1346
+ </div>
1347
+
1348
+
1349
+
1350
+
1351
+ </div>
1352
+
1353
+
1354
+ <div id="method-i-montrePont" class="method-detail ">
1355
+
1356
+ <div class="method-heading">
1357
+ <span class="method-name">montrePont</span><span
1358
+ class="method-args">()</span>
1359
+
1360
+ <span class="method-click-advice">click to toggle source</span>
1361
+
1362
+ </div>
1363
+
1364
+
1365
+ <div class="method-description">
1366
+
1367
+ <p>Cette méthode permet de mettre en surbrillance les pont disponibles de @dernierIle</p>
1368
+
1369
+
1370
+
1371
+
1372
+ <div class="method-source-code" id="montrePont-source">
1373
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 738</span>
1374
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">montrePont</span>()
1375
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">direction</span> <span class="ruby-keyword">in</span> <span class="ruby-constant">Ile</span><span class="ruby-operator">::</span><span class="ruby-constant">DIRECTIONS</span>
1376
+ <span class="ruby-keyword">if</span>(<span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">aVoisinDisponible?</span>(<span class="ruby-identifier">direction</span>))
1377
+ <span class="ruby-identifier">surbrillancePont</span>(<span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">getVoisin</span>(<span class="ruby-identifier">direction</span>))
1378
+ <span class="ruby-keyword">end</span>
1379
+ <span class="ruby-keyword">end</span>
1380
+ <span class="ruby-keyword">end</span></pre>
1381
+ </div>
1382
+
1383
+ </div>
1384
+
1385
+
1386
+
1387
+
1388
+ </div>
1389
+
1390
+
1391
+ <div id="method-i-parcoursPont" class="method-detail ">
1392
+
1393
+ <div class="method-heading">
1394
+ <span class="method-name">parcoursPont</span><span
1395
+ class="method-args">(ile1, ile2, proc)</span>
1396
+
1397
+ <span class="method-click-advice">click to toggle source</span>
1398
+
1399
+ </div>
1400
+
1401
+
1402
+ <div class="method-description">
1403
+
1404
+ <p>Cette méthode permet de parcourir les ponts entre deux ile avec un bloc</p>
1405
+ <dl class="rdoc-list note-list"><dt>param
1406
+ <dd><ul><li>
1407
+ <p>ile1 La première ile</p>
1408
+ </li><li>
1409
+ <p>ile2 La deuxième ile</p>
1410
+ </li><li>
1411
+ <p>proc Le bloc</p>
1412
+ </li></ul>
1413
+ </dd><dt>return
1414
+ <dd><ul><li>
1415
+ <p>false Si les deux iles ne sont pas voisines</p>
1416
+ </li><li>
1417
+ <p>La valeur de retour du bloc sinon</p>
1418
+ </li></ul>
1419
+ </dd></dl>
1420
+
1421
+
1422
+
1423
+
1424
+ <div class="method-source-code" id="parcoursPont-source">
1425
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 682</span>
1426
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">parcoursPont</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">proc</span>)
1427
+ <span class="ruby-identifier">direction</span>, <span class="ruby-identifier">petitPos</span>, <span class="ruby-identifier">grandPos</span> = <span class="ruby-identifier">getDifference</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>)
1428
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">HORIZONTAL</span>)
1429
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">parcoursPontHorizontal</span>(<span class="ruby-identifier">petitPos</span>, <span class="ruby-identifier">grandPos</span>, <span class="ruby-identifier">proc</span>, <span class="ruby-identifier">ile1</span>.<span class="ruby-identifier">posX</span>())
1430
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">VERTICAL</span>)
1431
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">parcoursPontVertical</span>(<span class="ruby-identifier">petitPos</span>, <span class="ruby-identifier">grandPos</span>, <span class="ruby-identifier">proc</span>, <span class="ruby-identifier">ile1</span>.<span class="ruby-identifier">posY</span>())
1432
+ <span class="ruby-keyword">else</span>
1433
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
1434
+ <span class="ruby-keyword">end</span>
1435
+ <span class="ruby-keyword">end</span></pre>
1436
+ </div>
1437
+
1438
+ </div>
1439
+
1440
+
1441
+
1442
+
1443
+ </div>
1444
+
1445
+
1446
+ <div id="method-i-recommencer" class="method-detail ">
1447
+
1448
+ <div class="method-heading">
1449
+ <span class="method-name">recommencer</span><span
1450
+ class="method-args">()</span>
1451
+
1452
+ <span class="method-click-advice">click to toggle source</span>
1453
+
1454
+ </div>
1455
+
1456
+
1457
+ <div class="method-description">
1458
+
1459
+ <p>Cette méthode permet de remmetre à zéro la grille</p>
1460
+
1461
+
1462
+
1463
+
1464
+ <div class="method-source-code" id="recommencer-source">
1465
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 340</span>
1466
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">recommencer</span>()
1467
+
1468
+ <span class="ruby-keyword">while</span>(<span class="ruby-operator">!</span><span class="ruby-ivar">@checkpoints</span>.<span class="ruby-identifier">empty?</span>) <span class="ruby-keyword">do</span>
1469
+ <span class="ruby-identifier">valideHypothese</span>()
1470
+ <span class="ruby-keyword">end</span>
1471
+
1472
+ <span class="ruby-identifier">setDernierIle</span>(<span class="ruby-keyword">nil</span>)
1473
+ <span class="ruby-ivar">@score</span> = <span class="ruby-value">500</span> <span class="ruby-operator">*</span> <span class="ruby-ivar">@tailleX</span>
1474
+
1475
+
1476
+ <span class="ruby-ivar">@couleurs</span> = <span class="ruby-constant">UndoRedo</span>.<span class="ruby-identifier">creer</span>()
1477
+
1478
+ <span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">empiler</span>(<span class="ruby-constant">Couleur</span><span class="ruby-operator">::</span><span class="ruby-constant">JAUNE</span>)
1479
+ <span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">empiler</span>(<span class="ruby-constant">Couleur</span><span class="ruby-operator">::</span><span class="ruby-constant">CYAN</span>)
1480
+ <span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">empiler</span>(<span class="ruby-constant">Couleur</span><span class="ruby-operator">::</span><span class="ruby-constant">MAGENTA</span>)
1481
+ <span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">empiler</span>(<span class="ruby-constant">Couleur</span><span class="ruby-operator">::</span><span class="ruby-constant">VERT</span>)
1482
+ <span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">empiler</span>(<span class="ruby-constant">Couleur</span><span class="ruby-operator">::</span><span class="ruby-constant">BLEU</span>)
1483
+ <span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">empiler</span>(<span class="ruby-constant">Couleur</span><span class="ruby-operator">::</span><span class="ruby-constant">NOIR</span>)
1484
+
1485
+
1486
+ <span class="ruby-identifier">undoCouleurPont</span>(<span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">undo</span>())
1487
+
1488
+ <span class="ruby-ivar">@mat</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ligne</span><span class="ruby-operator">|</span>
1489
+ <span class="ruby-identifier">ligne</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
1490
+ <span class="ruby-identifier">c</span>.<span class="ruby-identifier">raz</span>()
1491
+ <span class="ruby-keyword">end</span>
1492
+ <span class="ruby-keyword">end</span>
1493
+
1494
+ <span class="ruby-keyword">end</span></pre>
1495
+ </div>
1496
+
1497
+ </div>
1498
+
1499
+
1500
+
1501
+
1502
+ </div>
1503
+
1504
+
1505
+ <div id="method-i-redo" class="method-detail ">
1506
+
1507
+ <div class="method-heading">
1508
+ <span class="method-name">redo</span><span
1509
+ class="method-args">()</span>
1510
+
1511
+ <span class="method-click-advice">click to toggle source</span>
1512
+
1513
+ </div>
1514
+
1515
+
1516
+ <div class="method-description">
1517
+
1518
+ <p>Cette méthode permet de refaire la dernière action annulé par le undo</p>
1519
+
1520
+
1521
+
1522
+
1523
+ <div class="method-source-code" id="redo-source">
1524
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 491</span>
1525
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">redo</span>()
1526
+ <span class="ruby-keyword">if</span>(<span class="ruby-operator">!</span><span class="ruby-ivar">@actions</span>.<span class="ruby-identifier ruby-title">empty?</span>())
1527
+ <span class="ruby-keyword">begin</span>
1528
+ <span class="ruby-identifier">action</span> = <span class="ruby-ivar">@actions</span>.<span class="ruby-identifier">redo</span>()
1529
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">setDernierIle</span>(<span class="ruby-identifier">action</span>.<span class="ruby-identifier">ile1</span>())
1530
+ <span class="ruby-comment">#Invoque la méthode utilisé sans l&#39;ajouter à la undoRedo d&#39;action</span>
1531
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">action</span>.<span class="ruby-identifier">methode</span>(), <span class="ruby-identifier">action</span>.<span class="ruby-identifier">ile2</span>(), <span class="ruby-keyword">false</span>)
1532
+ <span class="ruby-keyword">rescue</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">e</span>
1533
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>()
1534
+ <span class="ruby-keyword">end</span>
1535
+ <span class="ruby-keyword">end</span>
1536
+ <span class="ruby-keyword">end</span></pre>
1537
+ </div>
1538
+
1539
+ </div>
1540
+
1541
+
1542
+
1543
+
1544
+ </div>
1545
+
1546
+
1547
+ <div id="method-i-redoCouleurPont" class="method-detail ">
1548
+
1549
+ <div class="method-heading">
1550
+ <span class="method-name">redoCouleurPont</span><span
1551
+ class="method-args">(couleur)</span>
1552
+
1553
+ <span class="method-click-advice">click to toggle source</span>
1554
+
1555
+ </div>
1556
+
1557
+
1558
+ <div class="method-description">
1559
+
1560
+ <p>Cette méthode permet d&#39;appeler la méthode Case#redoCouleurPont de chaque case de la grille</p>
1561
+ <dl class="rdoc-list note-list"><dt>param
1562
+ <dd><ul><li>
1563
+ <p>couleur La couleur à passer au la méthode Case#redoCouleurPont</p>
1564
+ </li></ul>
1565
+ </dd></dl>
1566
+
1567
+
1568
+
1569
+
1570
+ <div class="method-source-code" id="redoCouleurPont-source">
1571
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 424</span>
1572
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">redoCouleurPont</span>(<span class="ruby-identifier">couleur</span>)
1573
+
1574
+ <span class="ruby-ivar">@mat</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ligne</span><span class="ruby-operator">|</span>
1575
+ <span class="ruby-identifier">ligne</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
1576
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">c</span>.<span class="ruby-identifier">estPont?</span>())
1577
+ <span class="ruby-identifier">c</span>.<span class="ruby-identifier">redoCouleurPont</span>(<span class="ruby-identifier">couleur</span>)
1578
+ <span class="ruby-keyword">end</span>
1579
+ <span class="ruby-keyword">end</span>
1580
+ <span class="ruby-keyword">end</span>
1581
+
1582
+ <span class="ruby-keyword">end</span></pre>
1583
+ </div>
1584
+
1585
+ </div>
1586
+
1587
+
1588
+
1589
+
1590
+ </div>
1591
+
1592
+
1593
+ <div id="method-i-routeDisponible-3F" class="method-detail ">
1594
+
1595
+ <div class="method-heading">
1596
+ <span class="method-name">routeDisponible?</span><span
1597
+ class="method-args">(ile1, ile2)</span>
1598
+
1599
+ <span class="method-click-advice">click to toggle source</span>
1600
+
1601
+ </div>
1602
+
1603
+
1604
+ <div class="method-description">
1605
+
1606
+ <p>Cette méthode permet de savoir si la route entre deux pont est disponible (iles voisines et pas séparées par un pont)</p>
1607
+ <dl class="rdoc-list note-list"><dt>param
1608
+ <dd><ul><li>
1609
+ <p>ile1 La première ile</p>
1610
+ </li><li>
1611
+ <p>ile2 La deuxième ile</p>
1612
+ </li></ul>
1613
+ </dd></dl>
1614
+
1615
+
1616
+
1617
+
1618
+ <div class="method-source-code" id="routeDisponible-3F-source">
1619
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 663</span>
1620
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">routeDisponible?</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>)
1621
+ <span class="ruby-identifier">direction</span> = <span class="ruby-identifier">getDirectionPont</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>)
1622
+ <span class="ruby-identifier">proc</span> = <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pont</span><span class="ruby-operator">|</span>
1623
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">pont</span>.<span class="ruby-identifier">direction</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">NULLE</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">direction</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">direction</span>)
1624
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
1625
+ <span class="ruby-keyword">end</span>
1626
+ <span class="ruby-keyword">end</span>
1627
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">parcoursPont</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">proc</span>)
1628
+ <span class="ruby-keyword">end</span></pre>
1629
+ </div>
1630
+
1631
+ </div>
1632
+
1633
+
1634
+
1635
+
1636
+ </div>
1637
+
1638
+
1639
+ <div id="method-i-sauvegarder" class="method-detail ">
1640
+
1641
+ <div class="method-heading">
1642
+ <span class="method-name">sauvegarder</span><span
1643
+ class="method-args">(compte)</span>
1644
+
1645
+ <span class="method-click-advice">click to toggle source</span>
1646
+
1647
+ </div>
1648
+
1649
+
1650
+ <div class="method-description">
1651
+
1652
+ <p>Cette méthode permet de sauvegarder la grille dans la base de donnée</p>
1653
+
1654
+
1655
+
1656
+
1657
+ <div class="method-source-code" id="sauvegarder-source">
1658
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 781</span>
1659
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">sauvegarder</span>(<span class="ruby-identifier">compte</span>)
1660
+
1661
+ <span class="ruby-identifier">save</span> = <span class="ruby-constant">Sauvegarde</span>.<span class="ruby-identifier">recuperer</span>(<span class="ruby-identifier">compte</span>, <span class="ruby-keyword">self</span>)
1662
+ <span class="ruby-identifier">save</span>.<span class="ruby-identifier">setGrille</span>(<span class="ruby-keyword">self</span>)
1663
+ <span class="ruby-identifier">save</span>.<span class="ruby-identifier">setScore</span>([<span class="ruby-identifier">save</span>.<span class="ruby-identifier">getScore</span>(), <span class="ruby-ivar">@score</span>].<span class="ruby-identifier">max</span>) <span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">fini?</span>()
1664
+ <span class="ruby-identifier">save</span>.<span class="ruby-identifier">sauvegarder</span>()
1665
+
1666
+ <span class="ruby-keyword">end</span></pre>
1667
+ </div>
1668
+
1669
+ </div>
1670
+
1671
+
1672
+
1673
+
1674
+ </div>
1675
+
1676
+
1677
+ <div id="method-i-setDernierIle" class="method-detail ">
1678
+
1679
+ <div class="method-heading">
1680
+ <span class="method-name">setDernierIle</span><span
1681
+ class="method-args">(ile1)</span>
1682
+
1683
+ <span class="method-click-advice">click to toggle source</span>
1684
+
1685
+ </div>
1686
+
1687
+
1688
+ <div class="method-description">
1689
+
1690
+ <p>Cette méthode permet de modifier la dernière ile séléctionnée</p>
1691
+ <dl class="rdoc-list note-list"><dt>param
1692
+ <dd><ul><li>
1693
+ <p>ile1 La nouvelle ile</p>
1694
+ </li></ul>
1695
+ </dd></dl>
1696
+
1697
+
1698
+
1699
+
1700
+ <div class="method-source-code" id="setDernierIle-source">
1701
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 715</span>
1702
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">setDernierIle</span>(<span class="ruby-identifier">ile1</span>)
1703
+ <span class="ruby-keyword">if</span>(<span class="ruby-operator">!</span><span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">eql?</span>(<span class="ruby-keyword">nil</span>))
1704
+ <span class="ruby-identifier">effacePont</span>()
1705
+ <span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">dernier</span> = <span class="ruby-keyword">false</span>
1706
+ <span class="ruby-keyword">end</span>
1707
+ <span class="ruby-ivar">@dernierIle</span> = <span class="ruby-identifier">ile1</span>
1708
+ <span class="ruby-keyword">if</span>(<span class="ruby-operator">!</span><span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">eql?</span>(<span class="ruby-keyword">nil</span>))
1709
+ <span class="ruby-identifier">montrePont</span>()
1710
+ <span class="ruby-identifier">afficheToi</span>()
1711
+ <span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">dernier</span> = <span class="ruby-keyword">true</span>
1712
+ <span class="ruby-keyword">end</span>
1713
+ <span class="ruby-keyword">end</span></pre>
1714
+ </div>
1715
+
1716
+ </div>
1717
+
1718
+
1719
+
1720
+
1721
+ </div>
1722
+
1723
+
1724
+ <div id="method-i-setTempsFin" class="method-detail ">
1725
+
1726
+ <div class="method-heading">
1727
+ <span class="method-name">setTempsFin</span><span
1728
+ class="method-args">(minutes,secondes)</span>
1729
+
1730
+ <span class="method-click-advice">click to toggle source</span>
1731
+
1732
+ </div>
1733
+
1734
+
1735
+ <div class="method-description">
1736
+
1737
+ <p>met a jour le temps que l&#39;utilisateur à mis à finir la map</p>
1738
+
1739
+
1740
+
1741
+
1742
+ <div class="method-source-code" id="setTempsFin-source">
1743
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 254</span>
1744
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">setTempsFin</span>(<span class="ruby-identifier">minutes</span>,<span class="ruby-identifier">secondes</span>)
1745
+ <span class="ruby-ivar">@minutesFin</span> = <span class="ruby-identifier">minutes</span>
1746
+ <span class="ruby-ivar">@secondesFin</span> =<span class="ruby-identifier">secondes</span>
1747
+ <span class="ruby-keyword">end</span></pre>
1748
+ </div>
1749
+
1750
+ </div>
1751
+
1752
+
1753
+
1754
+
1755
+ </div>
1756
+
1757
+
1758
+ <div id="method-i-sortLimite-3F" class="method-detail ">
1759
+
1760
+ <div class="method-heading">
1761
+ <span class="method-name">sortLimite?</span><span
1762
+ class="method-args">(posX, posY)</span>
1763
+
1764
+ <span class="method-click-advice">click to toggle source</span>
1765
+
1766
+ </div>
1767
+
1768
+
1769
+ <div class="method-description">
1770
+
1771
+ <p>Cette méthode permet de savoir si les coordonnées passés sont comprises dans la grille</p>
1772
+ <dl class="rdoc-list note-list"><dt>param
1773
+ <dd><ul><li>
1774
+ <p>posX La position en abscisse</p>
1775
+ </li><li>
1776
+ <p>posY La position en ordonnée</p>
1777
+ </li></ul>
1778
+ </dd><dt>return
1779
+ <dd><ul><li>
1780
+ <p>true Si les coordonnées sont valides</p>
1781
+ </li><li>
1782
+ <p>false Sinon</p>
1783
+ </li></ul>
1784
+ </dd></dl>
1785
+
1786
+
1787
+
1788
+
1789
+ <div class="method-source-code" id="sortLimite-3F-source">
1790
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 208</span>
1791
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">sortLimite?</span>(<span class="ruby-identifier">posX</span>, <span class="ruby-identifier">posY</span>)
1792
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">posX</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">posY</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">posX</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@tailleX</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">posY</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@tailleY</span>)
1793
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
1794
+ <span class="ruby-keyword">end</span>
1795
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
1796
+ <span class="ruby-keyword">end</span></pre>
1797
+ </div>
1798
+
1799
+ </div>
1800
+
1801
+
1802
+
1803
+
1804
+ </div>
1805
+
1806
+
1807
+ <div id="method-i-supprimeHypothese" class="method-detail ">
1808
+
1809
+ <div class="method-heading">
1810
+ <span class="method-name">supprimeHypothese</span><span
1811
+ class="method-args">(jeu)</span>
1812
+
1813
+ <span class="method-click-advice">click to toggle source</span>
1814
+
1815
+ </div>
1816
+
1817
+
1818
+ <div class="method-description">
1819
+
1820
+ <p>Cette méthode permet de supprimer la dernière hypothèse et de revenir à l&#39;état correspondant</p>
1821
+ <dl class="rdoc-list note-list"><dt>param
1822
+ <dd><ul><li>
1823
+ <p>jeu Le jeu dont-on va modifier la grille</p>
1824
+ </li></ul>
1825
+ </dd></dl>
1826
+
1827
+
1828
+
1829
+
1830
+ <div class="method-source-code" id="supprimeHypothese-source">
1831
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 298</span>
1832
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">supprimeHypothese</span>(<span class="ruby-identifier">jeu</span>)
1833
+ <span class="ruby-keyword">begin</span>
1834
+ <span class="ruby-identifier">jeu</span>.<span class="ruby-identifier">grille</span> = <span class="ruby-ivar">@checkpoints</span>.<span class="ruby-identifier">depiler</span>().<span class="ruby-identifier">getGrille</span>
1835
+ <span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">redo</span>()
1836
+ <span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">redo</span>()
1837
+ <span class="ruby-identifier">redoCouleurPont</span>(<span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">undo</span>())
1838
+ <span class="ruby-keyword">rescue</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">e</span>
1839
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>()
1840
+ <span class="ruby-keyword">end</span>
1841
+ <span class="ruby-keyword">end</span></pre>
1842
+ </div>
1843
+
1844
+ </div>
1845
+
1846
+
1847
+
1848
+
1849
+ </div>
1850
+
1851
+
1852
+ <div id="method-i-supprimePont" class="method-detail ">
1853
+
1854
+ <div class="method-heading">
1855
+ <span class="method-name">supprimePont</span><span
1856
+ class="method-args">(ile2, action = true)</span>
1857
+
1858
+ <span class="method-click-advice">click to toggle source</span>
1859
+
1860
+ </div>
1861
+
1862
+
1863
+ <div class="method-description">
1864
+
1865
+ <p>Cette méthode permet de supprimer un pont entre deux iles</p>
1866
+ <dl class="rdoc-list note-list"><dt>param
1867
+ <dd><ul><li>
1868
+ <p>ile2 La deuxième ile (La première est l&#39;ile @dernierIle)</p>
1869
+ </li><li>
1870
+ <p>action Boolean, si true on ajoute l&#39;action à la pile d&#39;action, si false on ne l&#39;ajoute pas</p>
1871
+ </li></ul>
1872
+ </dd><dt>return
1873
+ <dd><ul><li>
1874
+ <p>true Si le pont a été supprimer</p>
1875
+ </li><li>
1876
+ <p>false Sinon</p>
1877
+ </li></ul>
1878
+ </dd></dl>
1879
+
1880
+
1881
+
1882
+
1883
+ <div class="method-source-code" id="supprimePont-source">
1884
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 612</span>
1885
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">supprimePont</span>(<span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">action</span> = <span class="ruby-keyword">true</span>)
1886
+ <span class="ruby-identifier">direction</span> = <span class="ruby-identifier">getDirectionPont</span>(<span class="ruby-ivar">@dernierIle</span>, <span class="ruby-identifier">ile2</span>)
1887
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">NULLE</span>)
1888
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">action</span>)
1889
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">addAction</span>(<span class="ruby-ivar">@dernierIle</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-value">:supprimePont</span>)
1890
+ <span class="ruby-keyword">end</span>
1891
+ <span class="ruby-identifier">ile2</span>.<span class="ruby-identifier">retireNombrePont</span>(<span class="ruby-ivar">@dernierIle</span>)
1892
+ <span class="ruby-ivar">@dernierIle</span>.<span class="ruby-identifier">retireNombrePont</span>(<span class="ruby-identifier">ile2</span>)
1893
+ <span class="ruby-keyword">end</span>
1894
+ <span class="ruby-identifier">proc</span> = <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pont</span><span class="ruby-operator">|</span>
1895
+ <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">diminueValeur</span>(<span class="ruby-identifier">direction</span>)
1896
+ <span class="ruby-keyword">end</span>
1897
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">parcoursPont</span>(<span class="ruby-ivar">@dernierIle</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">proc</span>)
1898
+ <span class="ruby-keyword">end</span></pre>
1899
+ </div>
1900
+
1901
+ </div>
1902
+
1903
+
1904
+
1905
+
1906
+ </div>
1907
+
1908
+
1909
+ <div id="method-i-surbrillancePont" class="method-detail ">
1910
+
1911
+ <div class="method-heading">
1912
+ <span class="method-name">surbrillancePont</span><span
1913
+ class="method-args">(ile2)</span>
1914
+
1915
+ <span class="method-click-advice">click to toggle source</span>
1916
+
1917
+ </div>
1918
+
1919
+
1920
+ <div class="method-description">
1921
+
1922
+ <p>Cette méthode permet de mettre en surbrillance un pont entre deux iles</p>
1923
+ <dl class="rdoc-list note-list"><dt>param
1924
+ <dd><ul><li>
1925
+ <p>ile2 La deuxième ile (La première est l&#39;ile @dernierIle)</p>
1926
+ </li></ul>
1927
+ </dd><dt>return
1928
+ <dd><ul><li>
1929
+ <p>true Si le pont a été mis en surbrillance</p>
1930
+ </li><li>
1931
+ <p>false Sinon</p>
1932
+ </li></ul>
1933
+ </dd></dl>
1934
+
1935
+
1936
+
1937
+
1938
+ <div class="method-source-code" id="surbrillancePont-source">
1939
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 635</span>
1940
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">surbrillancePont</span>(<span class="ruby-identifier">ile2</span>)
1941
+ <span class="ruby-identifier">direction</span> = <span class="ruby-identifier">getDirectionPont</span>(<span class="ruby-ivar">@dernierIle</span>, <span class="ruby-identifier">ile2</span>)
1942
+ <span class="ruby-identifier">proc</span> = <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pont</span><span class="ruby-operator">|</span>
1943
+ <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">metSurbrillance</span>(<span class="ruby-identifier">direction</span>)
1944
+ <span class="ruby-keyword">end</span>
1945
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">parcoursPont</span>(<span class="ruby-ivar">@dernierIle</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">proc</span>)
1946
+ <span class="ruby-keyword">end</span></pre>
1947
+ </div>
1948
+
1949
+ </div>
1950
+
1951
+
1952
+
1953
+
1954
+ </div>
1955
+
1956
+
1957
+ <div id="method-i-undo" class="method-detail ">
1958
+
1959
+ <div class="method-heading">
1960
+ <span class="method-name">undo</span><span
1961
+ class="method-args">()</span>
1962
+
1963
+ <span class="method-click-advice">click to toggle source</span>
1964
+
1965
+ </div>
1966
+
1967
+
1968
+ <div class="method-description">
1969
+
1970
+ <p>Cette méthode permet d&#39;annuler la dernière action éfféctué par l&#39;utilisateur</p>
1971
+
1972
+
1973
+
1974
+
1975
+ <div class="method-source-code" id="undo-source">
1976
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 474</span>
1977
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">undo</span>()
1978
+ <span class="ruby-keyword">if</span>(<span class="ruby-operator">!</span><span class="ruby-ivar">@actions</span>.<span class="ruby-identifier">empty?</span>())
1979
+ <span class="ruby-keyword">begin</span>
1980
+ <span class="ruby-identifier">tempIle</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">getDernierIle</span>()
1981
+ <span class="ruby-identifier">action</span> = <span class="ruby-ivar">@actions</span>.<span class="ruby-identifier">undo</span>()
1982
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">setDernierIle</span>(<span class="ruby-identifier">action</span>.<span class="ruby-identifier">ile1</span>())
1983
+ <span class="ruby-comment">#Invoque l&#39;inverse de la méthode utilisé sans l&#39;ajouter à la undoRedo d&#39;action</span>
1984
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">homologue</span>(<span class="ruby-identifier">action</span>.<span class="ruby-identifier">methode</span>()), <span class="ruby-identifier">action</span>.<span class="ruby-identifier">ile2</span>(), <span class="ruby-keyword">false</span>)
1985
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">setDernierIle</span>(<span class="ruby-identifier">tempIle</span>)
1986
+ <span class="ruby-keyword">rescue</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">e</span>
1987
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>()
1988
+ <span class="ruby-keyword">end</span>
1989
+ <span class="ruby-keyword">end</span>
1990
+ <span class="ruby-keyword">end</span></pre>
1991
+ </div>
1992
+
1993
+ </div>
1994
+
1995
+
1996
+
1997
+
1998
+ </div>
1999
+
2000
+
2001
+ <div id="method-i-undoCouleurPont" class="method-detail ">
2002
+
2003
+ <div class="method-heading">
2004
+ <span class="method-name">undoCouleurPont</span><span
2005
+ class="method-args">(couleur)</span>
2006
+
2007
+ <span class="method-click-advice">click to toggle source</span>
2008
+
2009
+ </div>
2010
+
2011
+
2012
+ <div class="method-description">
2013
+
2014
+ <p>Cette méthode permet d&#39;appeler la méthode Case#undoCouleurPont de chaque case de la grille</p>
2015
+ <dl class="rdoc-list note-list"><dt>param
2016
+ <dd><ul><li>
2017
+ <p>couleur La couleur à passer au la méthode Case#undoCouleurPont</p>
2018
+ </li></ul>
2019
+ </dd></dl>
2020
+
2021
+
2022
+
2023
+
2024
+ <div class="method-source-code" id="undoCouleurPont-source">
2025
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 441</span>
2026
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">undoCouleurPont</span>(<span class="ruby-identifier">couleur</span>)
2027
+
2028
+ <span class="ruby-ivar">@mat</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ligne</span><span class="ruby-operator">|</span>
2029
+ <span class="ruby-identifier">ligne</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
2030
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">c</span>.<span class="ruby-identifier">estPont?</span>())
2031
+ <span class="ruby-identifier">c</span>.<span class="ruby-identifier">undoCouleurPont</span>(<span class="ruby-identifier">couleur</span>)
2032
+ <span class="ruby-keyword">end</span>
2033
+ <span class="ruby-keyword">end</span>
2034
+ <span class="ruby-keyword">end</span>
2035
+
2036
+ <span class="ruby-keyword">end</span></pre>
2037
+ </div>
2038
+
2039
+ </div>
2040
+
2041
+
2042
+
2043
+
2044
+ </div>
2045
+
2046
+
2047
+ <div id="method-i-valeurPont" class="method-detail ">
2048
+
2049
+ <div class="method-heading">
2050
+ <span class="method-name">valeurPont</span><span
2051
+ class="method-args">(ile1, ile2)</span>
2052
+
2053
+ <span class="method-click-advice">click to toggle source</span>
2054
+
2055
+ </div>
2056
+
2057
+
2058
+ <div class="method-description">
2059
+
2060
+ <p>Cette méthode permet de retourner la valeur du pont entre deux ile</p>
2061
+ <dl class="rdoc-list note-list"><dt>return
2062
+ <dd><ul><li>
2063
+ <p>La valeur du pont entre deux iles Si elles sont rélié</p>
2064
+ </li><li>
2065
+ <p>0 Sinon</p>
2066
+ </li></ul>
2067
+ </dd></dl>
2068
+
2069
+
2070
+
2071
+
2072
+ <div class="method-source-code" id="valeurPont-source">
2073
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 761</span>
2074
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">valeurPont</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>)
2075
+ <span class="ruby-identifier">direction</span>, <span class="ruby-identifier">petitPos</span>, <span class="ruby-identifier">grandPos</span> = <span class="ruby-identifier">getDifference</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>)
2076
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">HORIZONTAL</span>)
2077
+ <span class="ruby-identifier">pont</span> = <span class="ruby-ivar">@mat</span>[<span class="ruby-identifier">ile1</span>.<span class="ruby-identifier">posX</span>()][<span class="ruby-identifier">petitPos</span>]
2078
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">VERTICAL</span>)
2079
+ <span class="ruby-identifier">pont</span> = <span class="ruby-ivar">@mat</span>[<span class="ruby-identifier">petitPos</span>][<span class="ruby-identifier">ile1</span>.<span class="ruby-identifier">posY</span>()]
2080
+ <span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">direction</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Pont</span><span class="ruby-operator">::</span><span class="ruby-constant">NULLE</span>)
2081
+ <span class="ruby-keyword">return</span> <span class="ruby-value">0</span>
2082
+ <span class="ruby-keyword">end</span>
2083
+
2084
+ <span class="ruby-keyword">if</span>(<span class="ruby-identifier">pont</span>.<span class="ruby-identifier">direction</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">direction</span>)
2085
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">pont</span>.<span class="ruby-identifier">valeur</span>
2086
+ <span class="ruby-keyword">end</span>
2087
+
2088
+ <span class="ruby-keyword">return</span> <span class="ruby-value">0</span>
2089
+
2090
+ <span class="ruby-keyword">end</span></pre>
2091
+ </div>
2092
+
2093
+ </div>
2094
+
2095
+
2096
+
2097
+
2098
+ </div>
2099
+
2100
+
2101
+ <div id="method-i-valideHypothese" class="method-detail ">
2102
+
2103
+ <div class="method-heading">
2104
+ <span class="method-name">valideHypothese</span><span
2105
+ class="method-args">()</span>
2106
+
2107
+ <span class="method-click-advice">click to toggle source</span>
2108
+
2109
+ </div>
2110
+
2111
+
2112
+ <div class="method-description">
2113
+
2114
+ <p>Cette méthode permet de valider la dernière hypothèse</p>
2115
+
2116
+
2117
+
2118
+
2119
+ <div class="method-source-code" id="valideHypothese-source">
2120
+ <pre><span class="ruby-comment"># File Core/Grille.rb, line 283</span>
2121
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">valideHypothese</span>()
2122
+ <span class="ruby-keyword">begin</span>
2123
+ <span class="ruby-ivar">@checkpoints</span>.<span class="ruby-identifier">depiler</span>()
2124
+ <span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">redo</span>()
2125
+ <span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">redo</span>()
2126
+ <span class="ruby-identifier">redoCouleurPont</span>(<span class="ruby-ivar">@couleurs</span>.<span class="ruby-identifier">undo</span>())
2127
+ <span class="ruby-keyword">rescue</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">e</span>
2128
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>()
2129
+ <span class="ruby-keyword">end</span>
2130
+ <span class="ruby-keyword">end</span></pre>
2131
+ </div>
2132
+
2133
+ </div>
2134
+
2135
+
2136
+
2137
+
2138
+ </div>
2139
+
2140
+
2141
+ </section>
2142
+
2143
+ </section>
2144
+
2145
+ </main>
2146
+
2147
+
2148
+ <footer id="validator-badges" role="contentinfo">
2149
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
2150
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
2151
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
2152
+ </footer>
2153
+