hashi-ruby 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (368) hide show
  1. checksums.yaml +7 -0
  2. data/bin/assets/FlatColor/gtk-3.20/assets/blank.png +0 -0
  3. data/bin/assets/FlatColor/gtk-3.20/assets/check-insensitive.png +0 -0
  4. data/bin/assets/FlatColor/gtk-3.20/assets/check-mixed-insensitive.png +0 -0
  5. data/bin/assets/FlatColor/gtk-3.20/assets/check-mixed.png +0 -0
  6. data/bin/assets/FlatColor/gtk-3.20/assets/check.png +0 -0
  7. data/bin/assets/FlatColor/gtk-3.20/assets/grid-selection-blank.png +0 -0
  8. data/bin/assets/FlatColor/gtk-3.20/assets/grid-selection.png +0 -0
  9. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked-hover.png +0 -0
  10. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked-insensitive.png +0 -0
  11. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked.png +0 -0
  12. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed-hover.png +0 -0
  13. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed-insensitive.png +0 -0
  14. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed.png +0 -0
  15. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked-hover.png +0 -0
  16. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked-insensitive.png +0 -0
  17. data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked.png +0 -0
  18. data/bin/assets/FlatColor/gtk-3.20/assets/pane-separator-grip-vertical.png +0 -0
  19. data/bin/assets/FlatColor/gtk-3.20/assets/pane-separator-grip.png +0 -0
  20. data/bin/assets/FlatColor/gtk-3.20/assets/radio-checked.png +0 -0
  21. data/bin/assets/FlatColor/gtk-3.20/assets/radio-insensitive.png +0 -0
  22. data/bin/assets/FlatColor/gtk-3.20/assets/radio-unchecked.png +0 -0
  23. data/bin/assets/FlatColor/gtk-3.20/assets/radio.png +0 -0
  24. data/bin/assets/FlatColor/gtk-3.20/assets/slider-dark.png +0 -0
  25. data/bin/assets/FlatColor/gtk-3.20/assets/slider-dark@2.png +0 -0
  26. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-dark.png +0 -0
  27. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-dark@2.png +0 -0
  28. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive-dark.png +0 -0
  29. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png +0 -0
  30. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive.png +0 -0
  31. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive@2.png +0 -0
  32. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above.png +0 -0
  33. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above@2.png +0 -0
  34. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-dark.png +0 -0
  35. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-dark@2.png +0 -0
  36. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive-dark.png +0 -0
  37. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png +0 -0
  38. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive.png +0 -0
  39. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive@2.png +0 -0
  40. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below.png +0 -0
  41. data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below@2.png +0 -0
  42. data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive-dark.png +0 -0
  43. data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive-dark@2.png +0 -0
  44. data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive.png +0 -0
  45. data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive@2.png +0 -0
  46. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-dark.png +0 -0
  47. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-dark@2.png +0 -0
  48. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive-dark.png +0 -0
  49. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png +0 -0
  50. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive.png +0 -0
  51. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive@2.png +0 -0
  52. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above.png +0 -0
  53. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above@2.png +0 -0
  54. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-dark.png +0 -0
  55. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-dark@2.png +0 -0
  56. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive-dark.png +0 -0
  57. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png +0 -0
  58. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive.png +0 -0
  59. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive@2.png +0 -0
  60. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below.png +0 -0
  61. data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below@2.png +0 -0
  62. data/bin/assets/FlatColor/gtk-3.20/assets/slider.png +0 -0
  63. data/bin/assets/FlatColor/gtk-3.20/assets/slider@2.png +0 -0
  64. data/bin/assets/FlatColor/gtk-3.20/gnome-applications.css +429 -0
  65. data/bin/assets/FlatColor/gtk-3.20/gtk-widgets.css +786 -0
  66. data/bin/assets/FlatColor/gtk-3.20/gtk.css +113 -0
  67. data/bin/assets/FlatColor/gtk-3.20/gtk.css.base +108 -0
  68. data/bin/assets/FlatColor/gtk-3.20/settings.ini +7 -0
  69. data/bin/assets/FlatColor/gtk-3.20/unity.css +68 -0
  70. data/bin/assets/FlatColor/gtk-3.20/widgets/button.css +58 -0
  71. data/bin/assets/FlatColor/gtk-3.20/widgets/calendar.css +32 -0
  72. data/bin/assets/FlatColor/gtk-3.20/widgets/cell-row.css +25 -0
  73. data/bin/assets/FlatColor/gtk-3.20/widgets/check-radio.css +164 -0
  74. data/bin/assets/FlatColor/gtk-3.20/widgets/chrome.css +16 -0
  75. data/bin/assets/FlatColor/gtk-3.20/widgets/color-chooser.css +114 -0
  76. data/bin/assets/FlatColor/gtk-3.20/widgets/column-header.css +52 -0
  77. data/bin/assets/FlatColor/gtk-3.20/widgets/combobox.css +26 -0
  78. data/bin/assets/FlatColor/gtk-3.20/widgets/csd.css +125 -0
  79. data/bin/assets/FlatColor/gtk-3.20/widgets/entry.css +40 -0
  80. data/bin/assets/FlatColor/gtk-3.20/widgets/header-bar.css +27 -0
  81. data/bin/assets/FlatColor/gtk-3.20/widgets/infobar.css +90 -0
  82. data/bin/assets/FlatColor/gtk-3.20/widgets/linked-buttons.css +524 -0
  83. data/bin/assets/FlatColor/gtk-3.20/widgets/menu.css +127 -0
  84. data/bin/assets/FlatColor/gtk-3.20/widgets/notebook.css +200 -0
  85. data/bin/assets/FlatColor/gtk-3.20/widgets/osd.css +203 -0
  86. data/bin/assets/FlatColor/gtk-3.20/widgets/progress-scale.css +365 -0
  87. data/bin/assets/FlatColor/gtk-3.20/widgets/scrollbar.css +116 -0
  88. data/bin/assets/FlatColor/gtk-3.20/widgets/selection-mode.css +109 -0
  89. data/bin/assets/FlatColor/gtk-3.20/widgets/separator.css +24 -0
  90. data/bin/assets/FlatColor/gtk-3.20/widgets/sidebar.css +43 -0
  91. data/bin/assets/FlatColor/gtk-3.20/widgets/spinbutton.css +102 -0
  92. data/bin/assets/FlatColor/gtk-3.20/widgets/spinner.css +120 -0
  93. data/bin/assets/FlatColor/gtk-3.20/widgets/switch.css +63 -0
  94. data/bin/assets/FlatColor/gtk-3.20/widgets/toolbar.css +39 -0
  95. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-dark.png +0 -0
  96. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-dark@2.png +0 -0
  97. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-dark.png +0 -0
  98. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-dark@2.png +0 -0
  99. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-selected.png +0 -0
  100. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-selected@2.png +0 -0
  101. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive.png +0 -0
  102. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive@2.png +0 -0
  103. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selected.png +0 -0
  104. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selected@2.png +0 -0
  105. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode-dark.png +0 -0
  106. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode-dark@2.png +0 -0
  107. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode.png +0 -0
  108. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode@2.png +0 -0
  109. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked.png +0 -0
  110. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked@2.png +0 -0
  111. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-dark.png +0 -0
  112. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-dark@2.png +0 -0
  113. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-dark.png +0 -0
  114. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-dark@2.png +0 -0
  115. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-selected.png +0 -0
  116. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-selected@2.png +0 -0
  117. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive.png +0 -0
  118. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive@2.png +0 -0
  119. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-selected.png +0 -0
  120. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-selected@2.png +0 -0
  121. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed.png +0 -0
  122. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed@2.png +0 -0
  123. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode-dark.png +0 -0
  124. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode-dark@2.png +0 -0
  125. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode.png +0 -0
  126. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode@2.png +0 -0
  127. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-dark.png +0 -0
  128. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-dark@2.png +0 -0
  129. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.png +0 -0
  130. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-dark@2.png +0 -0
  131. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-selected.png +0 -0
  132. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-selected@2.png +0 -0
  133. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive.png +0 -0
  134. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive@2.png +0 -0
  135. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-selected.png +0 -0
  136. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-selected@2.png +0 -0
  137. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked.png +0 -0
  138. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked@2.png +0 -0
  139. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-dark.png +0 -0
  140. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-dark@2.png +0 -0
  141. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-dark.png +0 -0
  142. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-dark@2.png +0 -0
  143. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-selected.png +0 -0
  144. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-selected@2.png +0 -0
  145. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive.png +0 -0
  146. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive@2.png +0 -0
  147. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-selected.png +0 -0
  148. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-selected@2.png +0 -0
  149. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked.png +0 -0
  150. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked@2.png +0 -0
  151. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-dark.png +0 -0
  152. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-dark@2.png +0 -0
  153. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-dark.png +0 -0
  154. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-dark@2.png +0 -0
  155. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-selected.png +0 -0
  156. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-selected@2.png +0 -0
  157. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive.png +0 -0
  158. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive@2.png +0 -0
  159. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-selected.png +0 -0
  160. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-selected@2.png +0 -0
  161. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed.png +0 -0
  162. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed@2.png +0 -0
  163. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-dark.png +0 -0
  164. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-dark@2.png +0 -0
  165. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-dark.png +0 -0
  166. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-dark@2.png +0 -0
  167. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-selected.png +0 -0
  168. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-selected@2.png +0 -0
  169. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive.png +0 -0
  170. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive@2.png +0 -0
  171. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-selected.png +0 -0
  172. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-selected@2.png +0 -0
  173. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked.png +0 -0
  174. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked@2.png +0 -0
  175. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-dark.png +0 -0
  176. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-dark@2.png +0 -0
  177. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header-dark.png +0 -0
  178. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header-dark@2.png +0 -0
  179. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header.png +0 -0
  180. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header@2.png +0 -0
  181. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-dark.png +0 -0
  182. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-dark@2.png +0 -0
  183. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header-dark.png +0 -0
  184. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header-dark@2.png +0 -0
  185. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header.png +0 -0
  186. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header@2.png +0 -0
  187. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-selected.png +0 -0
  188. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-selected@2.png +0 -0
  189. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover.png +0 -0
  190. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover@2.png +0 -0
  191. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-dark.png +0 -0
  192. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-dark@2.png +0 -0
  193. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header-dark.png +0 -0
  194. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header-dark@2.png +0 -0
  195. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header.png +0 -0
  196. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header@2.png +0 -0
  197. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-selected.png +0 -0
  198. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-selected@2.png +0 -0
  199. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive.png +0 -0
  200. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive@2.png +0 -0
  201. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-selected.png +0 -0
  202. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-selected@2.png +0 -0
  203. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active.png +0 -0
  204. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active@2.png +0 -0
  205. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-dark.png +0 -0
  206. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-dark@2.png +0 -0
  207. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header-dark.png +0 -0
  208. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header-dark@2.png +0 -0
  209. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header.png +0 -0
  210. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header@2.png +0 -0
  211. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-dark.png +0 -0
  212. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-dark@2.png +0 -0
  213. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header-dark.png +0 -0
  214. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header-dark@2.png +0 -0
  215. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header.png +0 -0
  216. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header@2.png +0 -0
  217. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-selected.png +0 -0
  218. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-selected@2.png +0 -0
  219. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover.png +0 -0
  220. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover@2.png +0 -0
  221. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-dark.png +0 -0
  222. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-dark@2.png +0 -0
  223. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header-dark.png +0 -0
  224. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header-dark@2.png +0 -0
  225. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header.png +0 -0
  226. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header@2.png +0 -0
  227. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-selected.png +0 -0
  228. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-selected@2.png +0 -0
  229. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive.png +0 -0
  230. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive@2.png +0 -0
  231. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-selected.png +0 -0
  232. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-selected@2.png +0 -0
  233. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch.png +0 -0
  234. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch@2.png +0 -0
  235. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active-dark.png +0 -0
  236. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active-dark@2.png +0 -0
  237. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active.png +0 -0
  238. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active@2.png +0 -0
  239. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop-dark.png +0 -0
  240. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop-dark@2.png +0 -0
  241. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop.png +0 -0
  242. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop@2.png +0 -0
  243. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-dark.png +0 -0
  244. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-dark@2.png +0 -0
  245. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover-dark.png +0 -0
  246. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover-dark@2.png +0 -0
  247. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover.png +0 -0
  248. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover@2.png +0 -0
  249. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close.png +0 -0
  250. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close@2.png +0 -0
  251. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active-dark.png +0 -0
  252. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active-dark@2.png +0 -0
  253. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active.png +0 -0
  254. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active@2.png +0 -0
  255. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop-dark.png +0 -0
  256. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop-dark@2.png +0 -0
  257. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop.png +0 -0
  258. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop@2.png +0 -0
  259. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-dark.png +0 -0
  260. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-dark@2.png +0 -0
  261. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover-dark.png +0 -0
  262. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover-dark@2.png +0 -0
  263. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover.png +0 -0
  264. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover@2.png +0 -0
  265. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize.png +0 -0
  266. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize@2.png +0 -0
  267. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active-dark.png +0 -0
  268. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active-dark@2.png +0 -0
  269. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active.png +0 -0
  270. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active@2.png +0 -0
  271. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop-dark.png +0 -0
  272. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop-dark@2.png +0 -0
  273. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop.png +0 -0
  274. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop@2.png +0 -0
  275. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-dark.png +0 -0
  276. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-dark@2.png +0 -0
  277. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover-dark.png +0 -0
  278. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover-dark@2.png +0 -0
  279. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover.png +0 -0
  280. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover@2.png +0 -0
  281. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize.png +0 -0
  282. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize@2.png +0 -0
  283. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active-dark.png +0 -0
  284. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active-dark@2.png +0 -0
  285. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active.png +0 -0
  286. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active@2.png +0 -0
  287. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop-dark.png +0 -0
  288. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop-dark@2.png +0 -0
  289. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop.png +0 -0
  290. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop@2.png +0 -0
  291. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-dark.png +0 -0
  292. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-dark@2.png +0 -0
  293. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover-dark.png +0 -0
  294. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover-dark@2.png +0 -0
  295. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover.png +0 -0
  296. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover@2.png +0 -0
  297. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore.png +0 -0
  298. data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore@2.png +0 -0
  299. data/bin/assets/Matcha-dark-aliz/gtk-3.0/gtk-dark.css +10090 -0
  300. data/bin/assets/Matcha-dark-aliz/gtk-3.0/gtk.css +10100 -0
  301. data/bin/assets/Matcha-dark-aliz/gtk-3.0/thumbnail.png +0 -0
  302. data/bin/assets/Matcha-dark-aliz/index.theme +12 -0
  303. data/bin/assets/didacticiel/1.jpg +0 -0
  304. data/bin/assets/didacticiel/2.jpg +0 -0
  305. data/bin/assets/didacticiel/3.jpg +0 -0
  306. data/bin/assets/didacticiel/4.jpg +0 -0
  307. data/bin/assets/didacticiel/5.jpg +0 -0
  308. data/bin/assets/didacticiel/6.jpg +0 -0
  309. data/bin/assets/didacticiel/7.jpg +0 -0
  310. data/bin/assets/didacticiel/8.jpg +0 -0
  311. data/bin/assets/map.png +0 -0
  312. data/bin/db/Difficulte.rb +9 -0
  313. data/bin/db/GestionBase.rb +334 -0
  314. data/bin/db/GrilleDb.rb +15 -0
  315. data/bin/db/Joue.rb +10 -0
  316. data/bin/db/Joueur.rb +9 -0
  317. data/bin/db/Migration.rb +70 -0
  318. data/bin/db/Mode.rb +9 -0
  319. data/bin/db/PhrasesAventure.rb +4 -0
  320. data/bin/db/TestBase.rb +144 -0
  321. data/bin/db/base.sqlite +0 -0
  322. data/bin/hashi +5 -0
  323. data/bin/src/Action.rb +46 -0
  324. data/bin/src/Aides.rb +41 -0
  325. data/bin/src/Case.rb +410 -0
  326. data/bin/src/Grille.rb +914 -0
  327. data/bin/src/Grilles/grilles_site.txt +30 -0
  328. data/bin/src/Grilles/grilles_site_difficile.txt +90 -0
  329. data/bin/src/Grilles/grilles_site_facile.txt +90 -0
  330. data/bin/src/Grilles/grilles_site_moyen.txt +90 -0
  331. data/bin/src/Grilles/grilles_site_ser.txt +0 -0
  332. data/bin/src/Grilles/grilles_site_ser_difficile.txt +90 -0
  333. data/bin/src/Grilles/grilles_site_ser_facile.txt +90 -0
  334. data/bin/src/Grilles/grilles_site_ser_moyen.txt +90 -0
  335. data/bin/src/Hashi.rb +214 -0
  336. data/bin/src/Lien.rb +57 -0
  337. data/bin/src/Pile.rb +41 -0
  338. data/bin/src/Rakefile.rb +6 -0
  339. data/bin/src/SerGrille.rb +430 -0
  340. data/bin/src/Test.rb +24 -0
  341. data/bin/src/Test2.rb +135 -0
  342. data/bin/src/Utilitaire.rb +12 -0
  343. data/bin/src/testSerGrille.rb +21 -0
  344. data/bin/src/ui/AfficheurGrille.rb +385 -0
  345. data/bin/src/ui/AfficheurJeu.rb +209 -0
  346. data/bin/src/ui/AfficheurSelection.rb +38 -0
  347. data/bin/src/ui/Afrique.rb +38 -0
  348. data/bin/src/ui/AmeriqueNord.rb +38 -0
  349. data/bin/src/ui/AmeriqueSud.rb +38 -0
  350. data/bin/src/ui/Antarctique.rb +32 -0
  351. data/bin/src/ui/Asie.rb +38 -0
  352. data/bin/src/ui/Aventure.rb +132 -0
  353. data/bin/src/ui/Carte.rb +282 -0
  354. data/bin/src/ui/ChargementAventure.rb +61 -0
  355. data/bin/src/ui/Classement.rb +42 -0
  356. data/bin/src/ui/Connexion.rb +60 -0
  357. data/bin/src/ui/Didacticiel.rb +169 -0
  358. data/bin/src/ui/Etiquette.rb +24 -0
  359. data/bin/src/ui/Europe.rb +38 -0
  360. data/bin/src/ui/ListeClassement.rb +44 -0
  361. data/bin/src/ui/Menu.rb +74 -0
  362. data/bin/src/ui/Monde.rb +167 -0
  363. data/bin/src/ui/Oceanie.rb +38 -0
  364. data/bin/src/ui/SelecteurGrille.rb +58 -0
  365. data/bin/src/ui/SelectionDifficulte.rb +38 -0
  366. data/bin/src/ui/SelectionUtilisateur.rb +46 -0
  367. data/bin/src/ui/Timer.rb +29 -0
  368. metadata +479 -0
@@ -0,0 +1,430 @@
1
+ # Permet d'interagir avec les fichiers texte
2
+ class SerGrille
3
+ # Transformation des grilles sous format texte en format Grille
4
+ # === Parametres
5
+ # * +id+ => identifiant de la grille à charger
6
+ # * +difficulte+ => caractère en fonction de la difficulté : m-> moyen / f-> facile / d-> difficile
7
+ # === Retour
8
+ # retourne une grille qui a été créée
9
+ def SerGrille.deserialise(id, difficulte)
10
+
11
+ # Choix des fichiers à ouvrir
12
+
13
+ if(difficulte=="Facile")
14
+ fichierSource="../src/Grilles/grilles_site_ser_facile.txt"
15
+ elsif(difficulte=="Moyen")
16
+ fichierSource="../src/Grilles/grilles_site_ser_moyen.txt"
17
+ elsif (difficulte=="Difficile")
18
+ fichierSource="../src/Grilles/grilles_site_ser_difficile.txt"
19
+ else
20
+ fichierSource="../src/Grilles/grilles_site_ser.txt"
21
+ end
22
+
23
+ tabCase=[]
24
+ fichier=File.open(fichierSource, "r")
25
+ #compteur pour savoir les coordonées de chaque case
26
+ comptligne=0
27
+ comptcolonne=-1
28
+ verifId=1
29
+ #Verification de la presence de l'Id en début de fichier
30
+ if(!(fichier.eof)) then
31
+ s=fichier.readchar()
32
+ g=s
33
+ while(s!=":")do
34
+ s=fichier.readchar()
35
+ if(s!=":")then
36
+ g+=s
37
+ end
38
+ end
39
+ if(g==id.to_s) then
40
+ verifId= 0
41
+ end
42
+ end
43
+ #Verification de la présence de l'Id dans le reste du fichier
44
+ while(!(fichier.eof))do
45
+ s=fichier.readchar()
46
+ if(!(fichier.eof)) then
47
+ if(s=="$")then
48
+ s=fichier.readchar()
49
+ g=s
50
+ while(s!=":")do
51
+ s=fichier.readchar()
52
+ if(s!=":")then
53
+ g+=s
54
+ end
55
+ end
56
+ if(g==id.to_s) then
57
+ verifId= 0
58
+ end
59
+ end
60
+ end
61
+ end
62
+ fichier.close
63
+ placementLecture=0
64
+ #Placement de la lecture à la grille choisie
65
+ fichier=File.open(fichierSource, "r")
66
+ if(verifId==0) then
67
+ s=fichier.readchar()
68
+ g=s
69
+ while(s!=":")do
70
+ s=fichier.readchar()
71
+ if(s!=":")then
72
+ g+=s
73
+ end
74
+ end
75
+ if(g==id.to_s)then
76
+ placementLecture=1
77
+ end
78
+ while(placementLecture==0)do
79
+ s=fichier.readchar()
80
+ if(s=="$")then
81
+ s=fichier.readchar()
82
+ g=s
83
+ while(s!=":")do
84
+ s=fichier.readchar()
85
+ if(s!=":")then
86
+ g+=s
87
+ end
88
+ end
89
+ if(g==id.to_s)then
90
+ placementLecture=1
91
+ end
92
+ end
93
+ end
94
+
95
+ #affichage primaire de la grille après désériaisation + création du tableau de case
96
+ sortie=0
97
+ while sortie==0 do
98
+ s=fichier.readchar()
99
+ comptcolonne+=1
100
+ if(s==";")
101
+ #puts(" ")
102
+ comptligne+=1
103
+ comptcolonne=-1
104
+ elsif(s=="D")
105
+ #print("==")
106
+ elsif(s=="H")
107
+ #print("--")
108
+ elsif(s=="V")
109
+ #print("| ")
110
+ elsif (s=="E")
111
+ #print("||")
112
+ elsif (s=="_")
113
+ #print(" ")
114
+ elsif(s=="$")
115
+ sortie=1
116
+ else
117
+ #print(s)
118
+ c=Case.creer(comptligne,comptcolonne,s)
119
+ tabCase.push(c)
120
+ #print(" ")
121
+ end
122
+ end
123
+ #print("\n\n\n")
124
+ g = Grille.creer(tabCase, comptligne, comptligne, nil) #La grille étant carrée, comptligne représente la hauteur et la largeur
125
+ fichier.close
126
+
127
+ return g
128
+ else
129
+ puts("Id non trouvé")
130
+ end
131
+ end
132
+
133
+ # Transformation des grilles sous format texte en format Grille
134
+ # === Parametres
135
+ # * +id+ => identifiant de la grille à charger
136
+ # * +difficulte+ => caractère en fonction de la difficulté : m-> moyen / f-> facile / d-> difficile
137
+ # === Retour
138
+ # retourne une grille qui a été créée
139
+ def SerGrille.deserialiseVide(difficulte)
140
+
141
+ # Choix des fichiers à ouvrir
142
+
143
+ if(difficulte=="Facile")
144
+ fichierSource="../src/Grilles/grilles_site_ser_facile.txt"
145
+ elsif(difficulte=="Moyen")
146
+ fichierSource="../src/Grilles/grilles_site_ser_moyen.txt"
147
+ elsif (difficulte=="Difficile")
148
+ fichierSource="../src/Grilles/grilles_site_ser_difficile.txt"
149
+ else
150
+ fichierSource="../src/Grilles/grilles_site_ser.txt"
151
+ end
152
+
153
+ fichier=File.open(fichierSource, "r")
154
+ tabGrille=[]
155
+ comptligne = 0
156
+ comptcolonne = 0
157
+ # Parcours n°1 pour créer les cases et la grille
158
+ fichier.each_line do | ligne2 |
159
+ tabCase=[]
160
+ ligne=ligne2.split("")
161
+ ligne.pop
162
+ #compteur pour savoir les coordonées de chaque case
163
+ comptligne = 0
164
+ comptcolonne = 0
165
+
166
+ ligne.each do | s |
167
+ if(s==";")
168
+ comptligne += 1
169
+ comptcolonne = -1
170
+ elsif (s =~ /[[:digit:]]/)
171
+ tabCase.push(Case.creer(comptligne,comptcolonne,s))
172
+ end
173
+ comptcolonne+=1
174
+ end
175
+ if( comptligne != 0)
176
+ tabGrille.push( Grille.creer(tabCase, comptligne, comptligne, nil) ) #La grille étant carrée, comptligne représente la hauteur et la largeur
177
+ end
178
+ #puts "ligne: #{ligne2}"
179
+ # tabCase.select { |c10| puts "#{c10.etiquetteCase} : #{c10.ligne} / #{c10.colonne}" }
180
+
181
+ end
182
+ indice = 0
183
+
184
+ tabLienHTmp = Array.new(comptligne)
185
+ # Parcours n°2 pour créer les liens
186
+ fichier.rewind
187
+
188
+ fichier.each_line do | ligne |
189
+ grille = tabGrille[indice]
190
+ comptligne = 0
191
+ comptcolonne = 0
192
+
193
+ tabLienVTmp = Array.new(comptligne)
194
+
195
+ if grille != nil
196
+ #puts "ligne: #{ligne}"
197
+
198
+ ligne.each_char do | s |
199
+
200
+ if(s==";")
201
+ caseTmp = nil
202
+ lien = nil
203
+ # Création des liens horizontaux si nécessaire
204
+ tabLienHTmp.each do | l |
205
+ # puts "l class: #{l.class}"
206
+ if (l.instance_of? Case)
207
+ # puts "l est une case: #{l}"
208
+ if (caseTmp == nil || lien == nil)
209
+ caseTmp = l
210
+ #puts "nouvelle caseTmp: #{caseTmp}"
211
+ else
212
+ # puts "création lien horizontal: #{caseTmp.etiquetteCase}"
213
+ grille.clicTriangle(caseTmp, 1)
214
+
215
+ if (lien == false)
216
+ grille.clicTriangle(caseTmp, 1)
217
+ end
218
+
219
+ caseTmp = l
220
+ lien = nil
221
+ end
222
+ else
223
+ lien = l
224
+ end
225
+ end
226
+
227
+
228
+ comptligne += 1
229
+ comptcolonne = -1
230
+
231
+ # Si numéro ==> enregistre le chiffre dans la table horizontale tabLienHTmp, et crée un lien vertical si nécessaire
232
+ elsif(s =~ /[[:digit:]]/)
233
+ c = grille.tabCase.select { |c1| c1.ligne == comptligne && c1.colonne == comptcolonne }
234
+ # puts "c dans grille: #{c1.ligne}/#{c1.colonne}; #{comptligne}/#{comptcolonne}"
235
+ # end
236
+ # c = c.first
237
+
238
+ tabLienHTmp[comptcolonne] = c.first
239
+ # puts "c: #{c.first}"
240
+ #p c
241
+
242
+ # Création du lien vertical (vers le nord) si besoin
243
+ if (tabLienVTmp[comptcolonne] != nil)
244
+ begin
245
+ grille.clicTriangle(tabLienHTmp[comptcolonne], 0)
246
+
247
+ if (tabLienVTmp[comptcolonne] == false)
248
+ grille.clicTriangle(tabLienHTmp[comptcolonne], 0)
249
+ end
250
+
251
+ rescue
252
+ puts "Problème: lien vide en #{comptligne}/#{comptcolonne}" # #{c.first.etiquetteCase}"
253
+ puts "V = #{tabLienVTmp[comptcolonne]}"
254
+ puts "H = #{tabLienHTmp[comptcolonne]}, est un #{s}"
255
+ puts "pour #{ligne}"
256
+ # grille.tabCase.select { |c10| puts "#{c10.etiquetteCase} : #{c10.ligne} / #{c10.colonne}" }
257
+ end
258
+
259
+ tabLienVTmp[comptcolonne] = nil
260
+ end
261
+
262
+ else
263
+ if(s == "H")
264
+ tabLienHTmp[comptcolonne] = true
265
+ elsif(s == "D")
266
+ tabLienHTmp[comptcolonne] = false
267
+ elsif(s == "V")
268
+ tabLienVTmp[comptcolonne] = true
269
+ elsif(s == "E")
270
+ tabLienVTmp[comptcolonne] = false
271
+ elsif(s == "_")
272
+ tabLienHTmp[comptcolonne] = nil
273
+ end
274
+ end
275
+
276
+ comptcolonne+=1
277
+ end
278
+
279
+ # Mise à jour de la grille
280
+ tabGrille[indice] = grille
281
+ indice += 1
282
+ # puts "<SerGrille> Grille: #{indice}"
283
+ end
284
+
285
+ end
286
+ #puts "Fin SerGrille"
287
+ fichier.close
288
+
289
+ return tabGrille
290
+ end
291
+ # Transformation des grilles sous format texte prise sur internet en format texte avec notre convention d'écriture
292
+ # === Parametres
293
+ # * +difficulte+ => caractère en fonction de la difficulté pour savoir dans quel fichier aller: m-> moyen / f-> facile / d-> difficile
294
+ # === Retour
295
+ # Aucun retour : création d'un fichier texte sous notre convention d'écriture.
296
+ def SerGrille.transformeSerial(difficulte)
297
+
298
+ # Choix des fichiers à ouvrir et supression des anciens fichiers
299
+ if(difficulte=="Facile")then
300
+ if (File.exist?("../src/Grilles/grilles_site_ser_facile.txt"))
301
+ File.delete "../src/Grilles/grilles_site_ser_facile.txt"
302
+ end
303
+ fichierSource="../src/Grilles/grilles_site_facile.txt"
304
+ fichierRecept="../src/Grilles/grilles_site_ser_facile.txt"
305
+ elsif(difficulte=="Moyen")
306
+ if (File.exist?("../src/Grilles/grilles_site_ser_moyen.txt"))
307
+ File.delete "../src/Grilles/grilles_site_ser_moyen.txt"
308
+ end
309
+ fichierSource="../src/Grilles/grilles_site_moyen.txt"
310
+ fichierRecept="../src/Grilles/grilles_site_ser_moyen.txt"
311
+ elsif (difficulte=="Difficile")then
312
+ if (File.exist?("../src/Grilles/grilles_site_ser_difficile.txt"))
313
+ File.delete "../src/Grilles/grilles_site_ser_difficile.txt"
314
+ end
315
+ fichierSource="../src/Grilles/grilles_site_difficile.txt"
316
+ fichierRecept="../src/Grilles/grilles_site_ser_difficile.txt"
317
+ else
318
+ if (File.exist?("../src/Grilles/grilles_site_ser.txt"))
319
+ File.delete "../src/Grilles/grilles_site_ser.txt"
320
+ end
321
+ fichierSource="../src/Grilles/grilles_site.txt"
322
+ fichierRecept="../src/Grilles/grilles_site_ser.txt"
323
+ end
324
+ fichierLec=File.open(fichierSource, "r")
325
+ fichierEcr=File.open(fichierRecept, "a+")
326
+ id=1
327
+ fichierLec.each_line do | ligne |
328
+ fichierEcr.write(id)
329
+ fichierEcr.write(":")
330
+ taille=ligne.length - 1
331
+ tailleLigne=Math.sqrt(taille)
332
+ comptLigne=0
333
+ ligne=ligne.split("")
334
+ ligne.pop
335
+ ligne.each do | car |
336
+ comptLigne+=1
337
+ if(car==" ")
338
+ fichierEcr.write("_")
339
+ elsif(car=="a")
340
+ fichierEcr.write("H")
341
+ elsif(car=="b")
342
+ fichierEcr.write("D")
343
+ elsif(car=="c")
344
+ fichierEcr.write("V")
345
+ elsif(car=="d")
346
+ fichierEcr.write("E")
347
+ else
348
+ fichierEcr.write(car)
349
+ end
350
+
351
+ if((comptLigne % tailleLigne) == 0)
352
+ fichierEcr.write(";")
353
+ end
354
+ end
355
+ fichierEcr.write("$")
356
+ id+=1
357
+ end
358
+ end
359
+ end
360
+
361
+ # Transformation des grilles sous format texte prise sur internet en format texte avec notre convention d'écriture
362
+ # === Parametres
363
+ # * +difficulte+ => caractère en fonction de la difficulté pour savoir dans quel fichier aller: m-> moyen / f-> facile / d-> difficile
364
+ # === Retour
365
+ # Aucun retour : création d'un fichier texte sous notre convention d'écriture.
366
+ def SerGrille.transformeSerial2(difficulte)
367
+
368
+ # Choix des fichiers à ouvrir et supression des anciens fichiers
369
+ if(difficulte=="Facile")then
370
+ if (File.exist?("../src/Grilles/grilles_site_ser_facile.txt"))
371
+ File.delete "../src/Grilles/grilles_site_ser_facile.txt"
372
+ end
373
+ fichierSource="../src/Grilles/grilles_site_facile.txt"
374
+ fichierRecept="../src/Grilles/grilles_site_ser_facile.txt"
375
+ elsif(difficulte=="Moyen")
376
+ if (File.exist?("../src/Grilles/grilles_site_ser_moyen.txt"))
377
+ File.delete "../src/Grilles/grilles_site_ser_moyen.txt"
378
+ end
379
+ fichierSource="../src/Grilles/grilles_site_moyen.txt"
380
+ fichierRecept="../src/Grilles/grilles_site_ser_moyen.txt"
381
+ elsif (difficulte=="Difficile")then
382
+ if (File.exist?("../src/Grilles/grilles_site_ser_difficile.txt"))
383
+ File.delete "../src/Grilles/grilles_site_ser_difficile.txt"
384
+ end
385
+ fichierSource="../src/Grilles/grilles_site_difficile.txt"
386
+ fichierRecept="../src/Grilles/grilles_site_ser_difficile.txt"
387
+ else
388
+ if (File.exist?("../src/Grilles/grilles_site_ser.txt"))
389
+ File.delete "../src/Grilles/grilles_site_ser.txt"
390
+ end
391
+ fichierSource="../src/Grilles/grilles_site.txt"
392
+ fichierRecept="../src/Grilles/grilles_site_ser.txt"
393
+ end
394
+ fichierLec=File.open(fichierSource, "r")
395
+ fichierEcr=File.open(fichierRecept, "a+")
396
+ fichierLec.each_line do | ligne |
397
+ #puts "dernier car: #{ligne[ligne.length - 1] == "\n"}"
398
+ taille= ligne[ligne.length - 1] == "\n" ? ligne.length - 1 : ligne.length
399
+ tailleLigne=Math.sqrt(taille)
400
+
401
+ #puts "taille: #{taille}, tailleLigne: #{tailleLigne}"
402
+ comptLigne=0
403
+ ligne=ligne.split("")
404
+ # ligne.pop
405
+ ligne.each do | car |
406
+ comptLigne+=1
407
+ if(car==" ")
408
+ fichierEcr.write("_")
409
+ elsif(car=="a")
410
+ fichierEcr.write("H")
411
+ elsif(car=="b")
412
+ fichierEcr.write("D")
413
+ elsif(car=="c")
414
+ fichierEcr.write("V")
415
+ elsif(car=="d")
416
+ fichierEcr.write("E")
417
+ elsif(car != "\n")
418
+ fichierEcr.write(car)
419
+ #else
420
+ #puts "\\n ? #{car}"
421
+ end
422
+
423
+ if((comptLigne % tailleLigne) == 0)
424
+ fichierEcr.write(";")
425
+ end
426
+ end
427
+ fichierEcr.write("\n")
428
+ end
429
+ end
430
+
data/bin/src/Test.rb ADDED
@@ -0,0 +1,24 @@
1
+ load "Case.rb"
2
+ load "Lien.rb"
3
+
4
+ #Test
5
+ puts('a')
6
+ c1= Case.creer(0,0,1)
7
+ c2= Case.creer(0,2,3)
8
+ c3= Case.creer(3,3,2)
9
+
10
+ c1.tabVoisins[1] = c2
11
+ c2.tabVoisins[2]=c3
12
+ c2.tabVoisins[3]=c1
13
+ c3.tabVoisins[0]=c2
14
+
15
+ c1.tabTriangle[1]=true
16
+ c2.tabTriangle[2]=true
17
+ c2.tabTriangle[3]=true
18
+ c3.tabTriangle[0]=true
19
+
20
+ tabLien=[]
21
+ tabLien.push(c1.creer_lien(1,false,tabLien))
22
+ tabLien.push(c2.creer_lien(3,false,tabLien))
23
+ tabLien.push(c2.creer_lien(2,false,tabLien))
24
+ tabLien.push(c1.creer_lien(1,true,tabLien))
data/bin/src/Test2.rb ADDED
@@ -0,0 +1,135 @@
1
+ load "SerGrille.rb"
2
+ load'Grille.rb'
3
+ #Test
4
+ puts("Début Test")
5
+ nbligne=6
6
+ nbcolonne=7
7
+ tabGrille = Array.new(nbligne) { Array.new(nbcolonne) { "_" } }
8
+ tabGrille[0][0]=2
9
+ tabGrille[0][1]="H"
10
+ tabGrille[0][2]="H"
11
+ tabGrille[0][3]="H"
12
+ tabGrille[0][4]=3
13
+ tabGrille[0][5]="D"
14
+ tabGrille[0][6]=3
15
+ tabGrille[1][0]="V"
16
+ tabGrille[1][1]=1
17
+ tabGrille[1][2]="H"
18
+ tabGrille[1][3]=4
19
+ tabGrille[1][4]="D"
20
+ tabGrille[1][5]=4
21
+ tabGrille[1][6]="V"
22
+ tabGrille[2][0]="V"
23
+ tabGrille[2][3]="V"
24
+ tabGrille[2][5]="E"
25
+ tabGrille[2][6]="V"
26
+ tabGrille[3][0]=3
27
+ tabGrille[3][1]="H"
28
+ tabGrille[3][2]="H"
29
+ tabGrille[3][3]=3
30
+ tabGrille[3][5]=2
31
+ tabGrille[3][6]="V"
32
+ tabGrille[4][0]="V"
33
+ tabGrille[4][3]="V"
34
+ tabGrille[4][4]=1
35
+ tabGrille[4][5]="H"
36
+ tabGrille[4][6]=2
37
+ tabGrille[5][0]=2
38
+ tabGrille[5][1]="H"
39
+ tabGrille[5][2]="H"
40
+ tabGrille[5][3]=4
41
+ tabGrille[5][4]="D"
42
+ tabGrille[5][5]=2
43
+ puts("Fin de complétion du tableau 1")
44
+ SerGrille.serialise(tabGrille,nbligne,nbcolonne,5)
45
+
46
+ nbligne=10
47
+ nbcolonne=7
48
+ tabGrille = Array.new(nbligne) { Array.new(nbcolonne) { "_" } }
49
+ tabGrille[0][0]=1
50
+ tabGrille[0][2]=3
51
+ tabGrille[0][3]="H"
52
+ tabGrille[0][4]="H"
53
+ tabGrille[0][5]=3
54
+ tabGrille[1][0]="V"
55
+ tabGrille[1][2]="E"
56
+ tabGrille[1][5]="E"
57
+ tabGrille[2][0]=4
58
+ tabGrille[2][1]="D"
59
+ tabGrille[2][2]=8
60
+ tabGrille[2][3]="D"
61
+ tabGrille[2][4]=4
62
+ tabGrille[2][5]="E"
63
+ tabGrille[2][6]=1
64
+ tabGrille[3][0]="V"
65
+ tabGrille[3][1]=1
66
+ tabGrille[3][2]="E"
67
+ tabGrille[3][4]="E"
68
+ tabGrille[3][5]=2
69
+ tabGrille[3][6]="V"
70
+ tabGrille[4][0]=3
71
+ tabGrille[4][1]="V"
72
+ tabGrille[4][2]=2
73
+ tabGrille[4][4]=5
74
+ tabGrille[4][5]="H"
75
+ tabGrille[4][6]=2
76
+ tabGrille[5][0]="E"
77
+ tabGrille[5][1]="V"
78
+ tabGrille[5][4]="E"
79
+ tabGrille[6][0]="E"
80
+ tabGrille[6][1]=2
81
+ tabGrille[6][2]="H"
82
+ tabGrille[6][3]="H"
83
+ tabGrille[6][4]=4
84
+ tabGrille[6][5]="H"
85
+ tabGrille[6][6]=3
86
+ tabGrille[7][0]=6
87
+ tabGrille[7][1]="D"
88
+ tabGrille[7][2]=5
89
+ tabGrille[7][3]="D"
90
+ tabGrille[7][4]="D"
91
+ tabGrille[7][5]=2
92
+ tabGrille[7][6]="E"
93
+ tabGrille[8][0]="E"
94
+ tabGrille[8][2]="V"
95
+ tabGrille[8][3]=1
96
+ tabGrille[8][4]="H"
97
+ tabGrille[8][5]="H"
98
+ tabGrille[8][6]=3
99
+ tabGrille[9][0]=2
100
+ tabGrille[9][2]=2
101
+ tabGrille[9][3]="H"
102
+ tabGrille[9][4]=1
103
+ puts("Fin de complétion du tableau 2")
104
+ SerGrille.serialise(tabGrille,nbligne,nbcolonne,7)
105
+
106
+ nbligne=10
107
+ nbcolonne=7
108
+ tabGrille2=[[3,"H",1,"_",2,"H",2],["E","_","_","_","V","_","V"],[5,"D",3,"H",4,"_",1],["V",3,"H",1,"E","_","_"],[2,"E",4,"D",8,"D",2],["V",4,"E",2,"E","_","_"],["V","E",3,"E",4,"H",2],[1,"E","V",3,"V","_","V"],["_","E",1,"V",1,"_","V"],["_",4,"D",4,"H","H",2],]
109
+ puts("Fin de complétion du tableau 2")
110
+ SerGrille.serialise(tabGrille2,nbligne,nbcolonne,9)
111
+
112
+ puts("Affichage simple de la grille 2")
113
+ g2=SerGrille.deserialise(7)
114
+
115
+ puts("Affichage simple de la grille 3")
116
+ g3=SerGrille.deserialise(9)
117
+
118
+ puts("Affichage simple de la grille 1")
119
+ g1=SerGrille.deserialise(12)
120
+
121
+
122
+ ligne=10
123
+ colonne=7
124
+ for i in 0..ligne-1 do
125
+ print ""
126
+ for j in 0..colonne-1 do
127
+ val=g3.contientCaseAvecEtiquette(i,j)
128
+ if(val!=false)
129
+ print ("|#{val.etiquetteCase}")
130
+ else
131
+ print "| "
132
+ end
133
+ end
134
+ puts "|"
135
+ end
@@ -0,0 +1,12 @@
1
+ class Utilitaire
2
+ def Utilitaire.index(tab,element)
3
+ c=-1
4
+ for i in 0.. tab.length-1 do
5
+ if (tab[i]==element)
6
+ c=i
7
+ break
8
+ end
9
+ end
10
+ return c
11
+ end
12
+ end
@@ -0,0 +1,21 @@
1
+ require "gtk3"
2
+
3
+ require_relative "GrilleDb"
4
+ require_relative "Case"
5
+ require_relative "Lien"
6
+ require_relative "Grille"
7
+
8
+ SerGrille.transformeSerial("m")
9
+
10
+ res=SerGrille.deserialise(2,"m")
11
+ g = Grille.creer(res.tabCase,res.hauteur,res.largeur,res)
12
+ puts(g.hauteur, g.largeur)
13
+
14
+
15
+ fenetre = Gtk::Window.new()
16
+ fenetre.set_default_size(700, 700)
17
+ a = AfficheurJeu.new(g,fenetre)
18
+ fenetre.add(a)
19
+ fenetre.signal_connect('destroy') { Gtk.main_quit }
20
+ fenetre.show_all()
21
+ Gtk.main()