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,22 @@
1
+ require_relative '../CSS/Style.rb'
2
+
3
+ class AideUI
4
+
5
+ def initialize()
6
+ @builderAide = Gtk::Builder.new
7
+ @builderAide.add_from_file("lib/Hashiparmentier/glade/aide.glade")
8
+
9
+ @window = @builderAide.get_object("windowAide")
10
+
11
+ @window.signal_connect('destroy') { |_widget| Gtk.main_quit }
12
+ @window.style_context.add_provider(@@CSS_AIDE, Gtk::StyleProvider::PRIORITY_USER)
13
+
14
+ @btnQuitter = @builderAide.get_object("btnQuitter")
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,23 @@
1
+ require_relative '../CSS/Style.rb'
2
+
3
+ class AstucesUI
4
+
5
+ def initialize()
6
+ @builderAide = Gtk::Builder.new
7
+ @builderAide.add_from_file("lib/Hashiparmentier/glade/astuces.glade")
8
+
9
+ @window = @builderAide.get_object("windowAstuces")
10
+ @window.maximize
11
+
12
+ @window.signal_connect('destroy') { |_widget| Gtk.main_quit }
13
+ @window.style_context.add_provider(@@CSS_ASTUCES, Gtk::StyleProvider::PRIORITY_USER)
14
+
15
+ @btnQuitter = @builderAide.get_object("btnQuitter")
16
+ @btnQuitter.signal_connect('clicked') { |_widget| @window.destroy() }
17
+ @btnQuitter.style_context.add_provider(@@CSS_BUTTON_ROSE, Gtk::StyleProvider::PRIORITY_USER)
18
+
19
+
20
+ @window.show_all()
21
+ Gtk.main()
22
+ end
23
+ end
@@ -0,0 +1,70 @@
1
+
2
+ require_relative "../Core/Case.rb"
3
+
4
+ require "gtk3"
5
+
6
+ ##
7
+ # Auteur:: Brabant Mano
8
+ # Version:: 0.1
9
+ # Date:: 09/04/2020
10
+ #
11
+ #Cette classe permet d'afficher une case de la grille
12
+ class CaseUI < Gtk::DrawingArea
13
+
14
+ #@casee => La case que l'on va afficher
15
+ attr_reader :casee
16
+
17
+ private_class_method :new
18
+
19
+ ##
20
+ #Ce constructeur permet de créer un nouveau afficheur de case
21
+ #param::
22
+ # * casee La case à afficher
23
+ # * taille La taille d'une case (en pixels)
24
+ def CaseUI.creer(casee, taille = 40)
25
+ new(casee, taille)
26
+ end
27
+
28
+ #:nodoc:
29
+ def initialize(casee, taille = 40)
30
+
31
+ super()
32
+ @casee = casee
33
+ @taille = taille
34
+
35
+ end
36
+ #:doc:
37
+
38
+ ##
39
+ #Cette méthode permet de simuler le clic sur la case
40
+ def clickOn()
41
+ @casee.clickOn()
42
+ end
43
+
44
+ ##
45
+ #Cette méthode permet d'afficher la case
46
+ def draw(window)
47
+
48
+ cr = window.create_cairo_context
49
+
50
+ taille = @taille/20
51
+
52
+ cr.set_source_rgb(248/255.0, 236/255.0, 194/255.0)
53
+ cr.rectangle(@taille * @casee.posY() + taille, @taille * @casee.posX() + taille, @taille - taille * 2, @taille - taille * 2)
54
+ cr.fill()
55
+
56
+ end
57
+
58
+ ##
59
+ #Cette méthode permet de savoir si la case que l'on affiche est une ile
60
+ def estIle?()
61
+ return @casee.estIle?()
62
+ end
63
+
64
+ ##
65
+ #Cette méthode permet de savoir si la case que l'on affiche est un pont
66
+ def estPont?()
67
+ return @casee.estPont?()
68
+ end
69
+
70
+ end
@@ -0,0 +1,45 @@
1
+
2
+
3
+
4
+ require 'gtk3'
5
+
6
+ ##
7
+ # PAS UTILISE DANS LE VERSION FINALE
8
+ # Auteur:: Brabant Mano
9
+ # Version:: 0.1
10
+ # Date:: 09/04/2020
11
+ #
12
+ #Cette classe permet à l'utilisateur de choisir entre plusieurs difficulté
13
+ class ChoixDifficulteUI < Gtk::Box
14
+
15
+ attr_reader :menu
16
+
17
+
18
+ def initialize(menu)
19
+
20
+ super(:vertical, 0)
21
+
22
+ @menu = menu
23
+ @boutons = Gtk::Box.new(:horizontal, 0)
24
+
25
+ for i in [[0, 'Facile'], [1, 'Normal'], [2, 'Difficile']]
26
+
27
+ temp = Gtk::Button.new(:label => "#{i[1]}")
28
+ temp.name=i[0].to_s()
29
+ temp.signal_connect "clicked" do |widget, event|
30
+ @menu.difficulte=widget.name.to_i()
31
+ end
32
+ @boutons.pack_start(temp, :expand => true, :fill => true)
33
+
34
+ end
35
+
36
+ temp = Gtk::Box.new(:vertical, 0)
37
+
38
+ temp.pack_start(Gtk::Label.new("Difficulté de la grille"), :expand => true, :fill => true)
39
+ temp.pack_start(@boutons, :expand => true, :fill => true)
40
+
41
+ pack_start(temp, :expand => true, :fill => true)
42
+
43
+ end
44
+
45
+ end
@@ -0,0 +1,37 @@
1
+
2
+
3
+
4
+ require_relative "../UI/ChoixGrilleUI.rb"
5
+ require 'gtk3'
6
+
7
+ ##
8
+ # Auteur:: Brabant Mano
9
+ # Version:: 0.1
10
+ # Date:: 09/04/2020
11
+ #
12
+ #Cette classe permet de créer une barre de défilement pour un ChoixGrilleUI
13
+ class ChoixGrilleScrollUI < Gtk::ScrolledWindow
14
+
15
+ #@choixGrille => Le ChoixGrilleUI à faire défiler
16
+ attr_reader :choixGrille
17
+
18
+ ##
19
+ #Ce constructeur permet de créer une nouvelle barre de défilement
20
+ #param::
21
+ # * grille Le ChoixGrilleUI à défiler
22
+ def initialize(grille)
23
+
24
+ super()
25
+ @choixGrille = grille
26
+ self.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC)
27
+ self.add_with_viewport(@choixGrille)
28
+
29
+ end
30
+
31
+ ##
32
+ #Cette méthode permet d'appeler chargerGrille du ChoixGrilleUI
33
+ def chargerGrille(nomCompte, taille, difficulte)
34
+ @choixGrille.chargerGrille(nomCompte, taille, difficulte)
35
+ end
36
+
37
+ end
@@ -0,0 +1,80 @@
1
+
2
+ require_relative '../Core/Sauvegarde.rb'
3
+ require_relative '../Core/Compte.rb'
4
+ require_relative '../Core/ConnectSqlite3.rb'
5
+
6
+ require_relative '../UI/GrilleUI.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 à l'utilisateur de choisir entre plusieurs grilles proposées
16
+ class ChoixGrilleUI < Gtk::Box
17
+
18
+ #@racine => L'objet auquel on va envoyer la grille que l'on a choisi (il doit definir commencerPartie(grille, nomCompte))
19
+ attr_reader :racine
20
+
21
+ ##
22
+ #Ce constructeur permet de créer un nouveau ChoixGrilleUI
23
+ #param::
24
+ # * racine Un objet qui doit définir une méthode commencerPartie(grille, nomCompte) qui sera appelée quand l'utilisateur aura choisi une grille
25
+ def initialize(racine)
26
+
27
+ super(:vertical , 20)
28
+ @racine = racine
29
+
30
+ end
31
+
32
+ ##
33
+ #Cette méthode permet de charger un ensemble de grille pour les montrer à l'utilisateur
34
+ #param::
35
+ # * nomcompte Le nom du compte dont-on va récuperer les grilles
36
+ # * taille La taille des grilles à récuperer
37
+ # * difficulte La difficulte des grilles à récuperer
38
+ def chargerGrille(nomCompte, taille, difficulte)
39
+ #puts "dans charger grille choixGRilleUI"
40
+ #puts "nomCompte", nomCompte,"taille", taille,"difficulte", difficulte
41
+
42
+ tailleCase = 40
43
+
44
+ liste = Sauvegarde.liste(Compte.recuperer_ou_creer(nomCompte), taille, difficulte)
45
+
46
+ box = Gtk::Box.new(:horizontal, 30)
47
+ liste.each_with_index do |s, i|
48
+ #puts "liste.each"
49
+ bouton = Gtk::Button.new(:label => "Réinitialiser")
50
+ temp = GrilleUI.new(s.getGrille(), tailleCase)
51
+
52
+ bouton.signal_connect "clicked" do |widget, event|
53
+ temp.grille().recommencer()
54
+ temp.grille().sauvegarder(Compte.recuperer(nomCompte))
55
+ end
56
+
57
+ temp.signal_connect "button-press-event" do
58
+ grilleChoisie(temp.grille(), nomCompte)
59
+ end
60
+ temp.add_events([:button_press_mask])
61
+
62
+ box.add(temp)
63
+ # box.add(bouton)
64
+
65
+ end
66
+
67
+ add(Gtk::Label.new("Veuillez choisir une grille"))
68
+ add(box)
69
+
70
+ show_all
71
+
72
+ end
73
+
74
+
75
+ private def grilleChoisie(grille, nomCompte)
76
+ @racine.commencerPartie(grille, nomCompte)
77
+ end
78
+
79
+
80
+ end
@@ -0,0 +1,39 @@
1
+
2
+
3
+
4
+ require 'gtk3'
5
+
6
+
7
+ ##
8
+ # PAS UTILISE DANS LE VERSION FINALE
9
+ # Auteur:: Brabant Mano
10
+ # Version:: 0.1
11
+ # Date:: 09/04/2020
12
+ #
13
+ #Permet de choisir une nom
14
+ class ChoixNomUI < Gtk::Box
15
+
16
+ attr_reader :menu
17
+ attr_reader :entry
18
+
19
+ def initialize(menu)
20
+
21
+ super(:vertical, 0)
22
+
23
+ @menu = menu
24
+
25
+ @entry = Gtk::Entry.new()
26
+ @label = Gtk::Label.new("Prénom")
27
+
28
+ temp = Gtk::Box.new(:horizontal, 0)
29
+
30
+ temp.pack_start(Gtk::Alignment.new(0,0,0,0), :expand => true, :fill => true)
31
+ temp.pack_start(@label)
32
+ temp.pack_start(@entry, :fill => true)
33
+ temp.pack_start(Gtk::Alignment.new(0,0,0,0), :expand => true, :fill => true)
34
+
35
+ pack_start(temp, :expand => true, :fill => true)
36
+
37
+ end
38
+
39
+ end
@@ -0,0 +1,44 @@
1
+
2
+
3
+ require 'gtk3'
4
+
5
+ ##
6
+ # PAS UTILISE DANS LE VERSION FINALE
7
+ # Auteur:: Brabant Mano
8
+ # Version:: 0.1
9
+ # Date:: 09/04/2020
10
+ #
11
+ #Permet de choisir une taille
12
+ class ChoixTailleUI < Gtk::Box
13
+
14
+ attr_reader :menu
15
+
16
+ def initialize(menu)
17
+
18
+ super(:vertical, 0)
19
+
20
+ @menu = menu
21
+ @boutons = Gtk::Box.new(:horizontal, 0)
22
+
23
+ for i in [7, 10, 15]
24
+
25
+ temp = Gtk::Button.new(:label => "#{i}*#{i}")
26
+ temp.name=i.to_s()
27
+ temp.signal_connect "clicked" do |widget, event|
28
+ @menu.taille=widget.name.to_i()
29
+ end
30
+ @boutons.pack_start(temp, :expand => true, :fill => true)
31
+
32
+ end
33
+
34
+ temp = Gtk::Box.new(:vertical, 0)
35
+
36
+ temp.pack_start(Gtk::Label.new("Taille de la grille"), :expand => true, :fill => true)
37
+ temp.pack_start(@boutons, :expand => true, :fill => true)
38
+
39
+ pack_start(temp, :expand => true, :fill => true)
40
+
41
+
42
+ end
43
+
44
+ end
@@ -0,0 +1,32 @@
1
+
2
+ require_relative '../UI/RacineUI.rb'
3
+ require 'gtk3'
4
+
5
+ ##
6
+ # PAS UTILISE DANS LE VERSION FINALE
7
+ # Auteur:: Brabant Mano
8
+ # Version:: 0.1
9
+ # Date:: 09/04/2020
10
+ #
11
+ #Une fenetre ou va apparaitre le jeu
12
+ class Fenetre < Gtk::Window
13
+
14
+ def initialize()
15
+
16
+ super()
17
+ set_title('Hashiparmentier')
18
+
19
+ signal_connect "destroy" do
20
+ Gtk.main_quit
21
+ end
22
+
23
+ set_window_position Gtk::WindowPosition::CENTER
24
+
25
+ add(RacineUI.new())
26
+
27
+ maximize
28
+ show_all
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,71 @@
1
+ require 'gtk3'
2
+
3
+ require_relative "../UI/Menu.rb"
4
+
5
+ require_relative "../CSS/Style.rb"
6
+
7
+ class FenetreFinUI
8
+
9
+ def initialize(grille,compte,window)
10
+
11
+ @grille = grille
12
+ window.destroy()
13
+ @builderFin = Gtk::Builder.new
14
+ @builderFin.add_from_file("lib/Hashiparmentier/glade/Fin.glade")
15
+
16
+ @windowFin = @builderFin.get_object("FenetreFin")
17
+ @windowFin.style_context.add_provider(@@CSS_FIN, Gtk::StyleProvider::PRIORITY_USER)
18
+ @windowFin.signal_connect('destroy') { |_widget|
19
+ @grille.recommencer()
20
+ @grille.sauvegarder(compte)
21
+ @windowFin.destroy()
22
+ Gtk.main_quit }
23
+
24
+ @imgEtoile = @builderFin.get_object("imgScore")
25
+ if(@grille.score>(500*@grille.tailleX * 0.7))
26
+ @imgEtoile.style_context.add_provider(@@CSS_BG_SCORE3, Gtk::StyleProvider::PRIORITY_USER)
27
+ elsif(@grille.score>(500*@grille.tailleX / 0.4))
28
+ @imgEtoile.style_context.add_provider(@@CSS_BG_SCORE2, Gtk::StyleProvider::PRIORITY_USER)
29
+ else
30
+ @imgEtoile.style_context.add_provider(@@CSS_BG_SCORE1, Gtk::StyleProvider::PRIORITY_USER)
31
+ end
32
+ #fonctions
33
+ @clickRetour = @builderFin.get_object("button1")
34
+ @clickRetour.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
35
+ @clickRetour.signal_connect('clicked'){
36
+ @grille.recommencer()
37
+ @grille.sauvegarder(compte)
38
+ @windowFin.destroy()
39
+ Menu.new()
40
+ Gtk.main_quit
41
+ }
42
+
43
+ @clickQuitter = @builderFin.get_object("button3")
44
+ @clickQuitter.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
45
+ @clickQuitter.signal_connect('clicked'){
46
+ @grille.recommencer()
47
+ @grille.sauvegarder(compte)
48
+ @windowFin.destroy()
49
+ Gtk.main_quit
50
+ }
51
+
52
+
53
+ @clickMapSuivante = @builderFin.get_object("button2")
54
+ @clickMapSuivante.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
55
+ @clickMapSuivante.signal_connect('clicked'){
56
+ @grille.recommencer()
57
+ @grille.sauvegarder(compte)
58
+ puts "mode aventure MAJ"
59
+ }
60
+
61
+ @labelHsJoueur = @builderFin.get_object("valeurHS")
62
+ @labelHsJoueur.set_label(@grille.getMeilleurScore(compte).to_s)
63
+
64
+ @labelScoreJoueur = @builderFin.get_object("scoreJoueur")
65
+ @labelScoreJoueur.set_label(@grille.score.to_s)
66
+
67
+ @windowFin.show_all()
68
+ # Appel de la gestion des signaux
69
+ Gtk.main()
70
+ end
71
+ end