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,107 @@
1
+
2
+
3
+
4
+ require_relative "../UI/ChoixNomUI.rb"
5
+ require_relative "../UI/ChoixTailleUI.rb"
6
+ require_relative "../UI/ChoixDifficulteUI.rb"
7
+ require_relative "../UI/FenetreReglesUI.rb"
8
+ require 'gtk3'
9
+
10
+ ##
11
+ # PAS UTILISE DANS LE VERSION FINALE
12
+ # Auteur:: Brabant Mano
13
+ # Version:: 0.1
14
+ # Date:: 09/04/2020
15
+ class MenuUI < Gtk::Box
16
+
17
+ attr_reader :choixNom
18
+
19
+ attr_reader :choixTaille
20
+ attr_accessor :taille
21
+
22
+ attr_reader :choixDifficulte
23
+ attr_accessor :difficulte
24
+
25
+ attr_reader :racine
26
+
27
+ def initialize(racine)
28
+
29
+ super(:vertical, 0)
30
+
31
+ @racine = racine
32
+
33
+ @titre = Gtk::Label.new("Bienvenue dans le Hashiparmentier")
34
+
35
+ @choixNom = ChoixNomUI.new(self)
36
+
37
+ @choixTaille = ChoixTailleUI.new(self)
38
+ @taille = 7
39
+
40
+ @choixDifficulte = ChoixDifficulteUI.new(self)
41
+ @difficulte = 0
42
+
43
+ @regles = Gtk::Button.new(:label => "Règles")
44
+ @regles.signal_connect "clicked" do
45
+ afficheRegles()
46
+ end
47
+
48
+ @valide = Gtk::Button.new(:label => "Valider")
49
+ @valide.signal_connect "clicked" do
50
+ valide(@choixNom.entry.text(), @taille, @difficulte)
51
+ end
52
+ @fenetreRegles = FenetreReglesUI.new()
53
+ @boxValide = Gtk::Box.new(:horizontal)
54
+ @surBoxValide = Gtk::Box.new(:vertical)
55
+
56
+ @boxValide.pack_start(@regles, :expand => true, :fill => true)
57
+ @boxValide.pack_start(@valide)
58
+ @boxValide.pack_start(Gtk::Alignment.new(0,0,0,0), :expand => true, :fill => true)
59
+ @surBoxValide.pack_start(@boxValide, :expand => true)
60
+
61
+ end
62
+
63
+ def retourMenu()
64
+
65
+ each_all do |c|
66
+ remove(c)
67
+ end
68
+
69
+ pack_start(@titre, :expand => true, :fill => true)
70
+ pack_start(@choixNom, :expand => true, :fill => true)
71
+ pack_start(@choixTaille, :expand => true, :fill => true)
72
+ pack_start(@choixDifficulte, :expand => true, :fill => true)
73
+ pack_start(@surBoxValide, :expand => true, :fill => true)
74
+
75
+ end
76
+
77
+
78
+ private def valide(nomCompte, taille, difficulte)
79
+
80
+
81
+ #puts "Paramètres menu"
82
+ #print "Nom Compte : ", nomCompte, "\n"
83
+ #print "Taille grille : ", taille, "\n"
84
+ #print "Difficulte grille : ", difficulte, "\n"
85
+
86
+ afficheLabel("Creation du compte en cours")
87
+
88
+
89
+ Thread.new{@racine.choisirGrille(nomCompte, taille, difficulte)}
90
+
91
+ end
92
+
93
+ def afficheLabel(label)
94
+
95
+ pack_start(@label = Gtk::Label.new(label), :expand => true, :fill => true)
96
+
97
+ show_all
98
+
99
+ end
100
+
101
+ def afficheRegles
102
+
103
+ @fenetreRegles.show_all
104
+
105
+ end
106
+
107
+ end
@@ -0,0 +1,135 @@
1
+
2
+ require_relative "../Core/Pont.rb"
3
+
4
+ require_relative "../UI/CaseUI.rb"
5
+ require "gtk3"
6
+
7
+
8
+ ##
9
+ # Auteur:: Brabant Mano
10
+ # Version:: 0.1
11
+ # Date:: 09/04/2020
12
+ #
13
+ #Cette classe permet d'afficher un pont de la grille
14
+ class PontUI < CaseUI
15
+
16
+ private_class_method :new
17
+
18
+ ##
19
+ #Ce constructeur permet de créer un nouveau afficheur de pont
20
+ #param::
21
+ # * casee La pont à afficher
22
+ # * taille La taille d'une case (40 par defaut)
23
+ def PontUI.creer(pont, taille = 40)
24
+
25
+ new(pont, taille)
26
+
27
+ end
28
+
29
+ #:nodoc:
30
+ def initialize(pont, taille)
31
+
32
+ super(pont, taille)
33
+
34
+ end
35
+ #:doc:
36
+
37
+
38
+ private def afficheSurbrillance(cr)
39
+
40
+ cr.set_source_rgba(1, 0, 0, 0.4)
41
+
42
+ calculPosition(@taille/2, 0)
43
+ cr.rectangle(@departY, @departX, @tailleY, @tailleX)
44
+ cr.fill()
45
+
46
+ end
47
+
48
+
49
+ private def calculPosition(largeur = 4, tailleDecalage = 4)
50
+
51
+ @departX = @taille * @casee.posX()
52
+ @departY = @taille * @casee.posY()
53
+
54
+ if(@casee.direction == Pont::HORIZONTAL || @casee.directionSurbrillance == Pont::HORIZONTAL)
55
+
56
+ @tailleX = largeur
57
+ @tailleY = @taille
58
+ @departX += @tailleY/2 - @tailleX/2
59
+ @decalageY = 0
60
+ @decalageX = tailleDecalage
61
+
62
+ elsif(@casee.direction == Pont::VERTICAL || @casee.directionSurbrillance == Pont::VERTICAL)
63
+
64
+ @tailleX = @taille
65
+ @tailleY = largeur
66
+ @departY += @tailleX/2 - @tailleY/2
67
+ @decalageY = tailleDecalage
68
+ @decalageX = 0
69
+
70
+ else
71
+
72
+ @tailleX = 0
73
+ @tailleY = 0
74
+
75
+ end
76
+
77
+
78
+ end
79
+
80
+
81
+ private def affichePontSimple(cr, largeur = 4, tailleDecalage = 4)
82
+
83
+ calculPosition(4, 4)
84
+ cr.rectangle(@departY, @departX, @tailleY, @tailleX)
85
+ cr.fill()
86
+
87
+ end
88
+
89
+ private def affichePontDouble(cr, largeur = 4, tailleDecalage = 4)
90
+
91
+ calculPosition(4, 4)
92
+ cr.rectangle(@departY - @decalageY, @departX - @decalageX, @tailleY, @tailleX)
93
+ cr.rectangle(@departY + @decalageY, @departX + @decalageX, @tailleY, @tailleX)
94
+ cr.fill()
95
+
96
+ end
97
+
98
+ ##
99
+ #Cette méthode permet de dessiner le pont
100
+ #param::
101
+ # * window La fenetre sur laquelle l'ile va etre afficher
102
+ def draw(window)
103
+
104
+ super(window)
105
+
106
+ cr = window.create_cairo_context
107
+
108
+ afficheSurbrillance(cr) if @casee.surbrillance
109
+
110
+ if(@casee.marque)
111
+ cr.set_source_rgb(1, 0, 0)
112
+ else
113
+ cr.set_source_rgb(@casee.couleurPontCourante.rouge, @casee.couleurPontCourante.vert, @casee.couleurPontCourante.bleu)
114
+ end
115
+
116
+ affichePontSimple(cr) if @casee.valeur == 1
117
+ affichePontDouble(cr) if @casee.valeur == 2
118
+
119
+ end
120
+
121
+ ##
122
+ #Cette méthode permet de retourner la valeu du pont
123
+ def valeur
124
+ return @casee.valeur
125
+ end
126
+
127
+ ##
128
+ #Cette méthode permet de simuler le clic sur la case
129
+ def clickOn()
130
+
131
+ super()
132
+
133
+ end
134
+
135
+ end
@@ -0,0 +1,142 @@
1
+
2
+
3
+ require_relative '../UI/GrilleUI.rb'
4
+ require_relative '../UI/MenuUI.rb'
5
+ require_relative '../UI/Menu.rb'
6
+ require_relative '../UI/ChoixGrilleUI.rb'
7
+ require_relative '../UI/ChoixGrilleScrollUI.rb'
8
+ require_relative '../UI/JeuUI.rb'
9
+ require_relative '../UI/FinUI.rb'
10
+ require 'gtk3'
11
+
12
+
13
+ ##
14
+ # PAS UTILISE DANS LE VERSION FINALE
15
+ # Auteur:: Brabant Mano
16
+ # Version:: 0.1
17
+ # Date:: 09/04/2020
18
+ #
19
+ #Cette classe permet de gérer le déroulement (et l'affichage) du jeu
20
+ #C'est le widget à ajjouter à la fenetre principale
21
+ #Elle possède une ensemble de méthode qui permette de passer d'une page à une autre
22
+ class RacineUI < Gtk::Box
23
+
24
+ attr_reader :grilles
25
+
26
+ #:nodoc:
27
+ def initialize()
28
+
29
+ super(:vertical, 10)
30
+
31
+ @retourMenu = Gtk::Button.new(:label => "Retour menu") #Bouton temporaire de test
32
+ @retourMenu.signal_connect "clicked" do
33
+ retourMenu()
34
+ end
35
+
36
+ @quitter = Gtk::Button.new(:label => "Quitter") #Bouton temporaire de test
37
+ @quitter.signal_connect "clicked" do
38
+ if(!@jeu.eql?(nil))
39
+ @jeu.sauvegardeGrille() #On sauvegarde la grille si on était en pleine partie
40
+ end
41
+ Gtk.main_quit
42
+ end
43
+
44
+ @boutons = Gtk::Box.new(:horizontal)
45
+ @boutons.pack_start(@quitter)
46
+ @boutons.pack_start(@retourMenu)
47
+
48
+ retourMenu()
49
+
50
+ show_all
51
+
52
+ end
53
+ #:doc:
54
+
55
+ ##
56
+ #Cette méthode permet d'afficher un ChoixGrilleScrollUI
57
+ #Elle supprime tous les child de la RacineUI et ajoute le ChoixGrilleScrollUI
58
+ #param::
59
+ # * nomCompte Le nom du compte pour lequel on va chercher les grilles
60
+ # * taille La taille des grilles à aller chercher
61
+ # * difficulte La difficulté des grilles à aller chercher
62
+ def choisirGrille(nomCompte, taille, difficulte)
63
+ #puts "dans choisirGrille"
64
+ @choix = ChoixGrilleScrollUI.new(ChoixGrilleUI.new(self))
65
+ @choix.chargerGrille(nomCompte, taille, difficulte)
66
+
67
+ removeChild()
68
+
69
+ pack_start(@choix, :expand => true, :fill => true)
70
+ pack_start(@boutons)
71
+ show_all
72
+
73
+ end
74
+
75
+
76
+ ##
77
+ #Cette méthode permet d'afficher un JeuUI
78
+ #Elle supprime tous les child de la RacineUI et ajoute le JeuUI
79
+ #param::
80
+ # * grille La grille avec laquelle on va jouer
81
+ # * nomCompte Le nom du compte qui va jouer
82
+ def commencerPartie(grille, nomCompte)
83
+
84
+ @jeu = JeuUI.new(self)
85
+ @jeu.chargerGrille(grille, nomCompte)
86
+
87
+ removeChild()
88
+
89
+ pack_start(@jeu, :expand => true, :fill => true)
90
+ pack_start(@boutons)
91
+ show_all
92
+
93
+ end
94
+
95
+ ##
96
+ #Cette méthode permet d'afficher un FinUI
97
+ #Elle supprime tous les child de la RacineUI et ajoute la FinUI
98
+ #param::
99
+ # * taille La taille de la grille que l'on vient de finir
100
+ # * difficulte La difficulte de la grille que l'on vient de finir
101
+ # Les paramètres taille et difficulte ne sont pas obligatoires
102
+ def finirPartie(taille = 7, difficulte = 0)
103
+
104
+ @fin = FinUI.new(self)
105
+ @fin.reussi(taille, difficulte)
106
+
107
+ removeChild()
108
+
109
+ pack_start(@fin, :expand => true, :fill => true)
110
+ pack_start(@boutons)
111
+ show_all
112
+
113
+ end
114
+
115
+ ##
116
+ #Cette méthode permet d'afficher un MenuUI
117
+ #Elle supprime tous les child de la RacineUI et ajoute la MenuUI
118
+ def retourMenu()
119
+
120
+ @menu = Menu.new(self)
121
+
122
+ if(!@jeu.eql?(nil))
123
+ @jeu.sauvegardeGrille() #On sauvegarde la grille si on était en pleine partie
124
+ end
125
+ @menu.retourMenu()
126
+
127
+ removeChild()
128
+
129
+ pack_start(@menu, :expand => true, :fill => true)
130
+ show_all
131
+
132
+ end
133
+
134
+ ##
135
+ #Cette méthode permet de supprimer tous les child de la RacineUI
136
+ def removeChild
137
+ each_all do |c|
138
+ remove(c)
139
+ end
140
+ end
141
+
142
+ end
@@ -0,0 +1,22 @@
1
+ require_relative "../CSS/Style.rb"
2
+
3
+ class ReglesUI
4
+
5
+ def initialize()
6
+ @builderRegles = Gtk::Builder.new
7
+ @builderRegles.add_from_file("lib/Hashiparmentier/glade/regles.glade")
8
+
9
+ @window = @builderRegles.get_object("REGLES1")
10
+
11
+ @window.signal_connect('destroy') { |_widget| Gtk.main_quit }
12
+ # @window.style_context.add_provider(@@CSS_Regles, Gtk::StyleProvider::PRIORITY_USER)
13
+
14
+ @btnQuitter = @builderRegles.get_object("Terminer")
15
+ @btnQuitter.signal_connect('clicked') { |_widget| @window.destroy() }
16
+ # @btnQuitter.style_context.add_provider(@@CSS_BUTTON_ROSE, Gtk::StyleProvider::PRIORITY_USER)
17
+
18
+
19
+ @window.show_all()
20
+ Gtk.main()
21
+ end
22
+ end
@@ -0,0 +1,259 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class Action - 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
+
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 ><a href="#method-c-creer">::creer</a>
76
+
77
+ <li ><a href="#method-i-to_s">#to_s</a>
78
+
79
+ </ul>
80
+ </div>
81
+
82
+ </div>
83
+ </nav>
84
+
85
+ <main role="main" aria-labelledby="class-Action">
86
+ <h1 id="class-Action" class="class">
87
+ class Action
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>Cette classe représente les actions réalisées par le joueur (placer, retirer des ponts)</p>
97
+
98
+ </section>
99
+
100
+
101
+ <section id="5Buntitled-5D" class="documentation-section">
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+ <section class="attribute-method-details" class="method-section">
110
+ <header>
111
+ <h3>Attributes</h3>
112
+ </header>
113
+
114
+
115
+ <div id="attribute-i-ile1" class="method-detail">
116
+ <div class="method-heading attribute-method-heading">
117
+ <span class="method-name">ile1</span><span
118
+ class="attribute-access-type">[R]</span>
119
+ </div>
120
+
121
+ <div class="method-description">
122
+
123
+ <p>@ile1 =&gt; La première ile</p>
124
+
125
+ </div>
126
+ </div>
127
+
128
+ <div id="attribute-i-ile2" class="method-detail">
129
+ <div class="method-heading attribute-method-heading">
130
+ <span class="method-name">ile2</span><span
131
+ class="attribute-access-type">[R]</span>
132
+ </div>
133
+
134
+ <div class="method-description">
135
+
136
+ <p>@ile2 =&gt; La deuxième ile</p>
137
+
138
+ </div>
139
+ </div>
140
+
141
+ <div id="attribute-i-methode" class="method-detail">
142
+ <div class="method-heading attribute-method-heading">
143
+ <span class="method-name">methode</span><span
144
+ class="attribute-access-type">[R]</span>
145
+ </div>
146
+
147
+ <div class="method-description">
148
+
149
+ <p>@ile1 =&gt; La méthode utilisé (createPont ou supprimePont)</p>
150
+
151
+ </div>
152
+ </div>
153
+
154
+ </section>
155
+
156
+
157
+
158
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
159
+ <header>
160
+ <h3>Public Class Methods</h3>
161
+ </header>
162
+
163
+
164
+ <div id="method-c-creer" class="method-detail ">
165
+
166
+ <div class="method-heading">
167
+ <span class="method-name">creer</span><span
168
+ class="method-args">(ile1, ile2, methode)</span>
169
+
170
+ <span class="method-click-advice">click to toggle source</span>
171
+
172
+ </div>
173
+
174
+
175
+ <div class="method-description">
176
+
177
+ <p>Ce constructeur permet de creer une nouvelle action</p>
178
+ <dl class="rdoc-list note-list"><dt>param
179
+ <dd><ul><li>
180
+ <p>ile1 La premiere ile</p>
181
+ </li><li>
182
+ <p>ile2 La deuxieme ile</p>
183
+ </li><li>
184
+ <p>methode La methode utilisé (createPont ou supprimePont)</p>
185
+ </li></ul>
186
+ </dd></dl>
187
+
188
+
189
+
190
+
191
+ <div class="method-source-code" id="creer-source">
192
+ <pre><span class="ruby-comment"># File Core/Action.rb, line 28</span>
193
+ <span class="ruby-keyword">def</span> <span class="ruby-constant">Action</span>.<span class="ruby-identifier ruby-title">creer</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">methode</span>)
194
+ <span class="ruby-identifier">new</span>(<span class="ruby-identifier">ile1</span>, <span class="ruby-identifier">ile2</span>, <span class="ruby-identifier">methode</span>)
195
+ <span class="ruby-keyword">end</span></pre>
196
+ </div>
197
+
198
+ </div>
199
+
200
+
201
+
202
+
203
+ </div>
204
+
205
+
206
+ </section>
207
+
208
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
209
+ <header>
210
+ <h3>Public Instance Methods</h3>
211
+ </header>
212
+
213
+
214
+ <div id="method-i-to_s" class="method-detail ">
215
+
216
+ <div class="method-heading">
217
+ <span class="method-name">to_s</span><span
218
+ class="method-args">()</span>
219
+
220
+ <span class="method-click-advice">click to toggle source</span>
221
+
222
+ </div>
223
+
224
+
225
+ <div class="method-description">
226
+
227
+ <p>Cette méthode permet d&#39;afficher l&#39;action</p>
228
+
229
+
230
+
231
+
232
+ <div class="method-source-code" id="to_s-source">
233
+ <pre><span class="ruby-comment"># File Core/Action.rb, line 42</span>
234
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_s</span>
235
+ <span class="ruby-ivar">@ile1</span>.<span class="ruby-identifier">to_s</span>() <span class="ruby-operator">+</span> <span class="ruby-string">&quot;:&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@ile2</span>.<span class="ruby-identifier">to_s</span>() <span class="ruby-operator">+</span> <span class="ruby-string">&quot;:&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@methode</span>.<span class="ruby-identifier">to_s</span>()
236
+ <span class="ruby-keyword">end</span></pre>
237
+ </div>
238
+
239
+ </div>
240
+
241
+
242
+
243
+
244
+ </div>
245
+
246
+
247
+ </section>
248
+
249
+ </section>
250
+
251
+ </main>
252
+
253
+
254
+ <footer id="validator-badges" role="contentinfo">
255
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
256
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
257
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
258
+ </footer>
259
+