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,193 @@
1
+ require 'gtk3'
2
+
3
+ require_relative '../Core/ConnectSqlite3.rb'
4
+
5
+ require_relative "../Core/Grille.rb"
6
+ require_relative "../Core/Aide.rb"
7
+ require_relative "../Core/Sauvegarde.rb"
8
+ require_relative "../Core/Compte.rb"
9
+ #require_relative "../Core/Checkpoint.rb"
10
+ require_relative "../Core/DonnerTechnique.rb"
11
+ require_relative "../Core/VerifierGrille.rb"
12
+ require_relative "../Core/Action.rb"
13
+ require_relative "../Core/Hypothese.rb"
14
+ require_relative "../Core/Chrono.rb"
15
+ require_relative "../Core/Jeu.rb"
16
+
17
+ require_relative "../UI/Menu.rb"
18
+ require_relative "../UI/FenetreFinUI.rb"
19
+ require_relative "../UI/AideJeuUI.rb"
20
+ require_relative "../UI/ReglesUI.rb"
21
+ require_relative "../UI/AstucesUI.rb"
22
+ require_relative "../UI/GrilleJouableUI.rb"
23
+ require_relative "../CSS/Style.rb"
24
+
25
+ class FenetreJeuUI
26
+
27
+
28
+ def initialize(mode, grille ,pseudo,window,window1)
29
+ @grille=grille
30
+ @mode = mode
31
+ @pseudo = pseudo
32
+ @scoreCourant = 500 * @grille.tailleX
33
+ #puts "Pseudo : #{@pseudo}";
34
+ @compte = Compte.recuperer(@pseudo)
35
+
36
+ # puts "Mode : #{@mode}";
37
+ # puts "Taille : #{@taille}";
38
+ # puts "Difficulté : #{@difficulte}";
39
+
40
+ window.destroy()
41
+ window1.destroy()
42
+ # CREATION FENETRE
43
+ @builderJeu = Gtk::Builder.new
44
+ @builderJeu.add_from_file("lib/Hashiparmentier/glade/jeu.glade")
45
+ @window = @builderJeu.get_object("windowJeu")
46
+ @window.signal_connect('destroy') { |_widget|
47
+ @grille.sauvegarder(@compte)
48
+ Thread.kill(@threadChrono)
49
+ @window.destroy()
50
+ Gtk.main_quit }
51
+
52
+ if (@grille.tailleX == 15)
53
+ @window.style_context.add_provider(@@CSS_BG_JEU15, Gtk::StyleProvider::PRIORITY_USER)
54
+ else
55
+ @window.style_context.add_provider(@@CSS_BG_JEU, Gtk::StyleProvider::PRIORITY_USER)
56
+ end
57
+
58
+
59
+
60
+ #autre
61
+ @labelPseudo = @builderJeu.get_object("lbPseudo")
62
+ @labelPseudo.set_label("Joueur : "+ @pseudo)
63
+ @labelChrono = @builderJeu.get_object("chrono")
64
+ @labelScore = @builderJeu.get_object("lbVarScore")
65
+ @labelScore.set_label(@grille.score.to_s)
66
+
67
+ #Creation de la grille
68
+ grilleJeux = @builderJeu.get_object("grilleJeux")
69
+ grilleJeux.pack_start(@grilleJouable = GrilleJouableUI.new(grille))
70
+ #@jeu = Jeu.creer(@difficulte,@taille,@compte,self, @labelChrono, @labelScore)
71
+
72
+ @checkpoints = Pile.creer()
73
+ @verifGrille = VerifierGrille.creer(@grille)
74
+ @donnerTech = DonnerTechnique.creer(@grille)
75
+
76
+ #fonctions
77
+ @clickUndo = @builderJeu.get_object("btnUndo")
78
+ @clickUndo.signal_connect('clicked'){@grille.undo()}
79
+
80
+ @clickRedo = @builderJeu.get_object("btnRedo")
81
+ @clickRedo.signal_connect('clicked'){@grille.redo()}
82
+
83
+ @btnReinit = @builderJeu.get_object("btnReinit")
84
+ @btnReinit.signal_connect('clicked'){@grille.recommencer()}
85
+
86
+ @btnRetour = @builderJeu.get_object("btnRetour")
87
+ @btnRetour.signal_connect('clicked'){
88
+ @grille.sauvegarder(@compte)
89
+ Thread.kill(@threadChrono)
90
+ @window.destroy()
91
+ Gtk.main_quit
92
+ Menu.new()
93
+ }
94
+
95
+ @btnValid1 = @builderJeu.get_object("btnvalid1")
96
+ @btnValid1.signal_connect('clicked'){@grille.creerHypothese()}
97
+
98
+ @btnSuppr1 = @builderJeu.get_object("btnsup1")
99
+ @btnSuppr1.signal_connect('clicked'){@grille.supprimeHypothese()}
100
+
101
+ @btnValCP = @builderJeu.get_object("btnVerifCP")
102
+ @btnValCP.signal_connect('clicked'){@grille.valideHypothese()}
103
+
104
+ @btnSauvegarder = @builderJeu.get_object("btnsave")
105
+ @btnSauvegarder.signal_connect('clicked'){@grille.sauvegarder(@compte)}
106
+
107
+ @labelIndice = @builderJeu.get_object("labelIndice")
108
+
109
+ @btnDonnerTech = @builderJeu.get_object("btnIndice")
110
+ @btnDonnerTech.signal_connect('clicked'){@labelIndice.set_label(@donnerTech.aider())}
111
+
112
+ @btnVerif = @builderJeu.get_object("btnVerifGrille")
113
+ @btnVerif.signal_connect('clicked'){@verifGrille.aider()}
114
+
115
+ @btnValidGrille = @builderJeu.get_object("btnValidGrille")
116
+ @btnValidGrille.signal_connect('clicked'){
117
+ @grille.sauvegarder(@compte)
118
+ if(@grille.fini?() == true)
119
+ Thread.kill(@threadChrono)
120
+ fenetre_fin = FenetreFinUI.new(@grille,@compte,@window)
121
+ #Gtk.main_quit
122
+ else
123
+ @labelIndice.set_label("Vous n'avez pas trouvé la solution ! \n Continuez ...")
124
+ end
125
+ }
126
+
127
+ @chronoGrille = Chrono.new(self, @labelChrono)
128
+ @threadChrono = Thread.new{@chronoGrille.lancerChrono()}
129
+
130
+ @btnAide = @builderJeu.get_object("btnAide")
131
+ @btnRegles = @builderJeu.get_object("btnRegles")
132
+ @btnAstuces = @builderJeu.get_object("btnAstuces")
133
+
134
+ @grille111 = @builderJeu.get_object("grid1")
135
+ @grille111.style_context.add_provider(@@CSS_BOX_STAT, Gtk::StyleProvider::PRIORITY_USER)
136
+
137
+
138
+
139
+ @btnAide.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
140
+ @btnRegles.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
141
+ @btnAstuces.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
142
+
143
+ @btnValid1.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
144
+ @btnSuppr1.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
145
+ @btnValCP.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
146
+ @btnSauvegarder.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
147
+
148
+ @btnRetour.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
149
+ @btnDonnerTech.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
150
+ @clickRedo.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
151
+ @clickUndo.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
152
+ @btnReinit.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
153
+ @btnVerif.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
154
+ @btnValidGrille.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
155
+
156
+ @btnAide.signal_connect('clicked') { |_widget| AfficherAideJeu() }
157
+ @btnRegles.signal_connect('clicked') { |_widget| AfficherRegles() }
158
+ @btnAstuces.signal_connect('clicked') { |_widget| AfficherAstuces() }
159
+
160
+ @boxStat = @builderJeu.get_object("boxStat")
161
+ @boxStat.style_context.add_provider(@@CSS_BOX_STAT, Gtk::StyleProvider::PRIORITY_USER)
162
+ #@chronoGrille = Chrono.new(@jeu)
163
+ #@threadChrono = Thread.new{@chronoGrille.lancerChrono()}
164
+ #@threadJeu = Thread.new{@jeu.lanceToi()}
165
+ @window.show_all()
166
+ #Gtk.main()
167
+ end
168
+
169
+ def modifScore(val)
170
+ @grille.score += val
171
+ if(@grille.score<0)
172
+ @grille.score = 0
173
+ end
174
+ @labelScore.set_label(@grille.score.to_s)
175
+ end
176
+
177
+ def actualiseScore()
178
+ @labelScore.set_label(@grille.score.to_s)
179
+ end
180
+
181
+ def AfficherAideJeu()
182
+ @aide = AideJeuUI.new()
183
+ end
184
+
185
+ def AfficherRegles()
186
+ @regles = ReglesUI.new()
187
+ end
188
+
189
+ def AfficherAstuces()
190
+ @astuces = AstucesUI.new()
191
+ end
192
+
193
+ end
@@ -0,0 +1,28 @@
1
+
2
+
3
+ require_relative "../UI/ReglesUI.rb"
4
+ require 'gtk3'
5
+
6
+
7
+
8
+
9
+ ##
10
+ # PAS UTILISE DANS LE VERSION FINALE
11
+ # Auteur:: Brabant Mano
12
+ # Version:: 0.1
13
+ # Date:: 09/04/2020
14
+ class FenetreReglesUI < Gtk::Window
15
+
16
+ def initialize
17
+
18
+ super("Règles du Hashiparmentier")
19
+
20
+ signal_connect "delete_event" do
21
+ hide_on_delete()
22
+ end
23
+
24
+ add(ReglesUI.new())
25
+
26
+ end
27
+
28
+ end
@@ -0,0 +1,91 @@
1
+
2
+
3
+
4
+ require 'gtk3'
5
+
6
+
7
+
8
+ ##
9
+ # PAS UTILISE DANS LE VERSION FINALE
10
+ # Auteur:: Brabant Mano
11
+ # Version:: 0.1
12
+ # Date:: 09/04/2020
13
+ #
14
+ #Montre l'ecran de victoire
15
+ class FinUI < Gtk::Box
16
+
17
+ def initialize(racine)
18
+
19
+ super(:vertical, 10)
20
+
21
+ @racine = racine
22
+
23
+ end
24
+
25
+ def reussi(taille, difficulte)
26
+
27
+ each_all do |c|
28
+ remove(c)
29
+ end
30
+
31
+ add(Gtk::Label.new("Bravo vous avez gagné !!!"))
32
+
33
+ #puts "OSCOUR !!! : " , taille.inspect, difficulte.inspect
34
+
35
+ if(difficulte == 0)
36
+
37
+ if(taille == 7)
38
+
39
+ #puts "JEANNE !!!!!!"
40
+
41
+ add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Pont Gaulois.jpg"))
42
+
43
+ elsif(taille == 10)
44
+
45
+ add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Pont Gaulois.jpg"))
46
+
47
+ elsif(taille == 15)
48
+
49
+ add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Pont Gaulois.jpg"))
50
+
51
+ end
52
+
53
+ elsif(difficulte == 1)
54
+
55
+ if(taille == 7)
56
+
57
+ add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Zubi Zuri.jpg"))
58
+
59
+ elsif(taille == 10)
60
+
61
+ add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Zubi Zuri.jpg"))
62
+
63
+ elsif(taille == 15)
64
+
65
+ add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Zubi Zuri.jpg"))
66
+
67
+ end
68
+
69
+ elsif(difficulte == 2)
70
+
71
+ if(taille == 7)
72
+
73
+ add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Golden Bridge.jpg"))
74
+
75
+ elsif(taille == 10)
76
+
77
+ add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Golden Bridge.jpg"))
78
+
79
+ elsif(taille == 15)
80
+
81
+ add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Golden Bridge.jpg"))
82
+
83
+ end
84
+
85
+ end
86
+
87
+ show_all
88
+
89
+ end
90
+
91
+ end
@@ -0,0 +1,47 @@
1
+
2
+ require_relative "../UI/GrilleUI.rb"
3
+
4
+
5
+ ##
6
+ # Auteur:: Brabant Mano
7
+ # Version:: 0.1
8
+ # Date:: 09/04/2020
9
+ #
10
+ #Cette classe représente une GrilleUI dans laquelle on peut jouer
11
+ #
12
+ #Pour l'utiliser créez en une et ajoutez la avec "add" ou "pack_start" etc, à votre container
13
+ #
14
+ #Voir GrilleUI
15
+ class GrilleJouableUI < GrilleUI
16
+
17
+ def initialize(grille, taille = 40)
18
+
19
+ super(grille, taille)
20
+
21
+ self.signal_connect "button-press-event" do |widget, event| #Connexion à l'event "clic"
22
+ self.clickOn(widget, event)
23
+ end
24
+
25
+ self.add_events([:button_press_mask])
26
+
27
+ end
28
+
29
+
30
+ ##
31
+ #Cette méthode permet de gérer les clics sur la grille
32
+ #Elle appelle la fonction clickOn de la case sur laquelle on a cliqué
33
+ def clickOn(widget, event)
34
+
35
+ y = (event.x/@taille).to_i
36
+ x = (event.y/@taille).to_i
37
+
38
+ if(!sortLimite?(x, y))
39
+ getCase(x, y).clickOn()
40
+ end
41
+
42
+ self.queue_draw()
43
+
44
+ end
45
+
46
+
47
+ end
@@ -0,0 +1,140 @@
1
+
2
+ require_relative "../Core/Grille.rb"
3
+
4
+ require_relative "../UI/CaseUI.rb"
5
+ require_relative "../UI/IleUI.rb"
6
+ require_relative "../UI/PontUI.rb"
7
+ require "gtk3"
8
+
9
+
10
+ ##
11
+ # Auteur:: Brabant Mano
12
+ # Version:: 0.1
13
+ # Date:: 09/04/2020
14
+ #
15
+ #Cette classe permet d'afficher une grille de hashi
16
+ class GrilleUI < Gtk::DrawingArea
17
+
18
+ #@grille => La grile avec laquelle on joue
19
+ attr_reader :grille
20
+
21
+ ##
22
+ #Ce constructeur permet de créer un nouveau afficheur de grille
23
+ #param::
24
+ # * grille La grille que l'on veut afficher
25
+ # * taille La taille des cases de la grille (40 par default)
26
+ def initialize(grille, taille = 40)
27
+
28
+ super()
29
+
30
+ @grille = grille
31
+ @taille = taille
32
+
33
+ init()
34
+
35
+ signal_connect "draw" do
36
+ on_draw()
37
+ end
38
+
39
+ end
40
+
41
+ private def init()
42
+
43
+ @mat = Array.new(@grille.tailleX()) { Array.new(@grille.tailleY()) }
44
+
45
+ self.set_size_request(@grille.tailleY() * @taille, @grille.tailleX() * @taille)
46
+
47
+ for i in 0..(@grille.tailleX()-1)
48
+ for j in 0..(@grille.tailleY()-1)
49
+ c = @grille.getCase(i, j)
50
+ if(c.estIle?())
51
+ @mat[i][j] = IleUI.creer(c, @taille)
52
+ elsif(c.estPont?())
53
+ @mat[i][j] = PontUI.creer(c, @taille)
54
+ else
55
+ @mat[i][j] = CaseUI.creer(c, @taille)
56
+ end
57
+
58
+ end
59
+ end
60
+
61
+ end
62
+
63
+ ##
64
+ #Cette méthode permet de modifier la grille que l'on affiche
65
+ #Méthode utilisé par la suppression d'hypothèses
66
+ #param::
67
+ # * grille La nouvelle grille à afficher
68
+ def grille=(grille)
69
+
70
+ @grille = grille
71
+ init()
72
+
73
+ end
74
+
75
+ ##
76
+ #Cette méthode permet de retourner une case à une position donnée
77
+ #param::
78
+ # * i La position en abscisse
79
+ # * j La position en ordonnée
80
+ #return::
81
+ # * La case à la position (i, j)
82
+ def getCase(i, j)
83
+ return @mat[i][j]
84
+ end
85
+
86
+ ##
87
+ #Cette méthode permet de savoir si une position donnée est dans les limites de la grille
88
+ #param::
89
+ # * i La position en abscisse
90
+ # * j La position en ordonnée
91
+ #return::
92
+ # * true si les coordonnées sont en dehors de la grille, false sinon
93
+ def sortLimite?(i, j)
94
+ return @grille.sortLimite?(i, j)
95
+ end
96
+
97
+
98
+ ##
99
+ #Cette méthode permet de dessiner la grille
100
+ #Appelé automatique en la connectant au signal "draw"
101
+ def on_draw()
102
+
103
+ draw(self.window)
104
+
105
+ @mat.each do |l|
106
+ l.each do |c|
107
+ c.draw(self.window)
108
+ end
109
+ end
110
+
111
+ self.queue_draw()
112
+
113
+ end
114
+
115
+
116
+ private def draw(window)
117
+
118
+ cr = window.create_cairo_context
119
+
120
+ cr.set_source_rgb(239/255.0, 227/255.0, 192/255.0)
121
+ cr.rectangle(0, 0, @taille * @grille.tailleY(), @taille * @grille.tailleX())
122
+ cr.fill()
123
+
124
+ end
125
+
126
+ ##
127
+ #Cette méthode permet de sauvegarder la grille que l'on est en train d'afficher
128
+ #param::
129
+ # * compte Le compte auquel associer la sauvegarde
130
+ def sauvegarder(compte)
131
+ @grille.sauvegarder(compte)
132
+ end
133
+
134
+ ##
135
+ #Cette méthode permet de réinitialiser le grille que l'on affiche
136
+ def recommencer()
137
+ @grille.recommencer()
138
+ end
139
+
140
+ end