hashi-ruby 1.0.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 (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
data/bin/src/Action.rb ADDED
@@ -0,0 +1,46 @@
1
+ #Classe représentant une Action
2
+ # Une action :
3
+ #le nom de l'action (ajout,suppression,début ou fin d'hypothèse)
4
+ # le lien en question sur lequel l'action est appliquée
5
+
6
+ class Action
7
+
8
+ # @action => String, représente le type d'action
9
+ # @lien => Lien, le lien sur lequel a été appliqué l'action
10
+
11
+
12
+ # Méthode d'acces en lecture / ecriture de @action
13
+ attr_accessor :action
14
+ # Méthode d'acces en lecture / ecriture de @lien
15
+ attr_accessor :lien
16
+
17
+ # On rend privé la méthode de classe new pour forcer l'utilisation de Action.creer
18
+ private_class_method :new
19
+
20
+ # Constructeur
21
+ #
22
+ # === Parametres
23
+ #
24
+ # * +action+ => Action à faire
25
+ # * +lien+ => Lien sur lequel faire l'action
26
+ def initialize(action,lien)
27
+ @action = action
28
+ @lien = lien
29
+ end
30
+
31
+ # Redéfinition du constructeur
32
+ #
33
+ # === Parametres
34
+ #
35
+ # * +action+ => Action à faire
36
+ # * +lien+ => Lien sur lequel faire l'action
37
+ def Action.creer(action,lien)
38
+ new(action,lien)
39
+ end
40
+
41
+ # Redéfinition de l'affichage d'une Action
42
+ def to_s()
43
+ return "#{@action}"
44
+ end
45
+
46
+ end
data/bin/src/Aides.rb ADDED
@@ -0,0 +1,41 @@
1
+ #Classe représentant les aides
2
+ # Une aide :
3
+
4
+
5
+ class Aides
6
+
7
+ # @casejeu => Case, représente la case sur laquelle s'applique l'aide
8
+ # @description => String, représente une courte phrase proposant une technique à appliquer
9
+ # @niveau => entier(1 à 3), représente le niveau de l'aide, 3 étant le niveau d'aide le plus complexe.
10
+
11
+ # Méthodes d'acces en lecture / ecriture de @caseJeu
12
+ attr_accessor :caseJeu
13
+ # Méthodes d'acces en lecture / ecriture de @description
14
+ attr_accessor :description
15
+ # Méthodes d'acces en lecture / ecriture de @niveau
16
+ attr_accessor :niveau #1,2 ou 3 de facile a difficile
17
+ # On rend privé la méthode de classe new pour forcer l'utilisation de Aides.creer
18
+ private_class_method :new
19
+
20
+ # Constructeur
21
+ #
22
+ def initialize(niveau,caseJeu,description)
23
+ @niveau=niveau
24
+ @caseJeu = caseJeu
25
+ @description = description
26
+
27
+ end
28
+
29
+ # Redéfinition du constructeur
30
+ #
31
+ def Aides.creer(niveau,caseJeu,description)
32
+ new(niveau,caseJeu,description)
33
+ end
34
+
35
+ # Redéfinition de l'affichage d'une Aides
36
+ def to_s()
37
+ return "#{@niveau} : #{@caseJeu}, #{@description}"
38
+ end
39
+
40
+
41
+ end
data/bin/src/Case.rb ADDED
@@ -0,0 +1,410 @@
1
+ require_relative "Lien"
2
+
3
+
4
+ # Une case du jeu avec des position ligne et colonne contenant une etiquette
5
+ # correspondant au nombre de lien possible sur cette case
6
+ class Case
7
+
8
+ # @ligne => entier correspondnant à la ligne de la case dans la grille
9
+ # @colonne => entier correspondnant à la colonne de la case dans la grille
10
+ # @etiquetteCase => entier correspondnant au nombre de lien total possible sur cette case
11
+ # @tabVoisins => tableau(0 a 3) des cases voisines
12
+ # @tabTriangle => tableau(0 a 3) contenant des booleans correspondant a la possibilitée ou non de créer un lien dans une direction
13
+
14
+ # Méthode d'acces en lecture de @ligne
15
+ attr_reader :ligne
16
+ # Méthode d'acces en lecture de @colonne
17
+ attr_reader :colonne
18
+ # Méthode d'acces en lecture de @etiquetteCase
19
+ attr_reader :etiquetteCase
20
+ # Méthodes d'acces en lecture / ecriture de @tabVoisins
21
+ attr_accessor :tabVoisins
22
+ # Méthodes d'acces en lecture / ecriture de @tabTriangle
23
+ attr_accessor :tabTriangle
24
+
25
+ # On rend privé la méthode de classe new pour forcer l'utilisation de Case.creer
26
+ private_class_method :new
27
+
28
+ # Initialisation d'une case
29
+ #
30
+ # === Parametres
31
+ #
32
+ # * + ligne + = > la ligne de la case dans la grille
33
+ # * + colonne + = > la colonne de la case dans la grille
34
+ # * + etiquetteCase + = > le nombre de liens total pouvant être relié à cette case
35
+ #
36
+ def initialize(ligne,colonne,etiquetteCase)
37
+ @ligne=ligne
38
+ @colonne=colonne
39
+ @etiquetteCase=etiquetteCase
40
+ @tabTriangle=Array.new(4,false)
41
+ @tabVoisins=Array.new(4,false)
42
+
43
+ end
44
+
45
+
46
+ # Création d'une case
47
+ #
48
+ # === Parametres
49
+ #
50
+ # * + ligne + = > la ligne de la case dans la grille
51
+ # * + colonne + = > la colonne de la case dans la grille
52
+ # * + etiquetteCase + = > le nombre de liens total pouvant être reliés à cette case
53
+ #
54
+ # === Retour
55
+ #
56
+ # La case créée
57
+ #
58
+ def Case.creer(ligne,colonne,etiquetteCase)
59
+ new(ligne,colonne,etiquetteCase)
60
+ end
61
+
62
+
63
+ # compte le nombre de voisins disponible
64
+ #
65
+ # === Retour
66
+ #
67
+ # entier correspondant au nombre de voisins dispo(donc la ou il y a un triangle)
68
+ #
69
+ def nbVoisinsDispo()
70
+ compteur=0
71
+ @tabTriangle.each do |t|
72
+ if(t!=false)
73
+ compteur+=1
74
+ end
75
+ end
76
+ return compteur
77
+ end
78
+
79
+
80
+
81
+
82
+
83
+ # compte le nombre de voisins
84
+ #
85
+ # === Retour
86
+ #
87
+ # entier correspondant au nombre de voisins(triangle ou pas)
88
+ #
89
+ def nbVoisins()
90
+ compteur=0
91
+ @tabVoisins.each do |v|
92
+ if(v!=false)
93
+ compteur+=1
94
+ end
95
+ end
96
+ return compteur
97
+ end
98
+
99
+
100
+ # compte le nombre de voisins dispo ayant comme etiquette la valeur passé en paramètre
101
+ #
102
+ # === Parametres
103
+ #
104
+ # * + etiquette + = > l'etiquette à test
105
+ #
106
+ # === Retour
107
+ #
108
+ # entier sur le nombre de voisins possédant cette etiquette
109
+ #
110
+ def nbVoisinsDispoEtiDe(etiquette)
111
+ compteur=0
112
+ for i in 0..3 do
113
+ if(@tabTriangle[i]==true && @tabVoisins[i].etiquetteCase.to_i==etiquette)
114
+ compteur+=1
115
+ end
116
+ end
117
+ return compteur
118
+ end
119
+
120
+ # compte le nombre de voisins dispo ayant comme valeur leur etiquette- le nombre de liens déja fait équivalent à la valeur passé en paramètre
121
+ #
122
+ # === Parametres
123
+ #
124
+ # * + etiquette + = > l'etiquette à test
125
+ # * + tabLien + = > le tableau des liens
126
+ #
127
+ # === Retour
128
+ #
129
+ # entier sur le nombre de voisins possédant cette etiquette
130
+ #
131
+ def nbVoisinsDispoEtiRestanteDe(etiquette,tabLien)
132
+ compteur=0
133
+ for i in 0..3 do
134
+ if(@tabTriangle[i]==true && ( @tabVoisins[i].etiquetteCase.to_i - @tabVoisins[i].nbLienCase(tabLien) )==etiquette)
135
+ compteur+=1
136
+ end
137
+ end
138
+ return compteur
139
+ end
140
+
141
+
142
+ # compte le nombre de voisins dispo non relié vers cette case ayant comme valeur leur etiquette- le nombre de liens déja fait équivalent à la valeur passé en paramètre
143
+ #
144
+ # === Parametres
145
+ #
146
+ # * + etiquette + = > l'etiquette à test
147
+ # * + tabLien + = > le tableau des liens
148
+ #
149
+ # === Retour
150
+ #
151
+ # entier sur le nombre de voisins possédant cette etiquette
152
+ #
153
+ def nbVoisinsDispoPasRelieEtiRestanteDe(etiquette,tabLien)
154
+ compteur=0
155
+ for i in 0..3 do
156
+ if(@tabTriangle[i]==true && ( @tabVoisins[i].etiquetteCase.to_i - @tabVoisins[i].nbLienCase(tabLien) )==etiquette && nbLienEntreDeuxCases(tabLien,i)==0 )
157
+ compteur+=1
158
+ end
159
+ end
160
+ return compteur
161
+ end
162
+
163
+
164
+ # test si un lien est présent vers une case voisine dont l'etiquette est différente du parametre OU si le nombre max de voisins avec
165
+ # l'etiquette est dépassé et qu'il y en a un autre avec cette meme etiquette et qu'il y a un lien
166
+ #
167
+ # === Parametres
168
+ #
169
+ # * + etiquette + = > l'etiquette du test
170
+ # * + nombre + = > le nombre du test
171
+ # * + tabLien + = > le tableau des liens
172
+ #
173
+ # === Retour
174
+ #
175
+ # boolean, vrai si il a un lien qui correspond au test
176
+ #
177
+ def lienDifDeFois(etiquette,nombre,tabLien)
178
+ compteurDeEtiqu=0
179
+ compteurDeAutre=0
180
+
181
+ for i in 0..3 do
182
+ if(@tabTriangle[i]==true && @tabVoisins[i].etiquetteCase.to_i==etiquette)
183
+ if(compteurDeEtiqu<nombre)
184
+ compteurDeEtiqu+=1
185
+ elsif( self.nbLienEntreDeuxCases(tabLien,i)!=0 )
186
+ compteurDeAutre+=1
187
+ end
188
+ elsif(@tabTriangle[i]==true && self.nbLienEntreDeuxCases(tabLien,i)!=0 )
189
+ compteurDeAutre+=1
190
+ end
191
+ end
192
+
193
+ if(compteurDeAutre!=0)
194
+ return true
195
+ end
196
+ return false
197
+ end
198
+
199
+
200
+
201
+ # compte le nb de voisins déja relié par un moins un lien
202
+ #
203
+ # === Parametres
204
+ #
205
+ # * + tabLien + = > le tableau des liens
206
+ #
207
+ # === Retour
208
+ #
209
+ # entier sur le nombre de voisins déja relié
210
+ #
211
+ def nbCaseDejaRelie(tabLien)
212
+ compteur=0
213
+ for i in 0..3 do
214
+ if(@tabVoinsins[i]!=false && self.nbLienEntreDeuxCases(tabLien,i)!=0 )
215
+ compteur+=1
216
+ end
217
+ end
218
+ return compteur
219
+ end
220
+
221
+
222
+ # compte le nb de cases voisines pas encore reliées par au moins un lien sur cette case
223
+ #
224
+ # === Parametres
225
+ #
226
+ # * + tabLien + = > le tableau des liens
227
+ #
228
+ # === Retour
229
+ #
230
+ # entier sur le nombre de voisins non relié
231
+ #
232
+ def nbCasePasDejaRelie(tabLien)
233
+ compteur=0
234
+ for i in 0..3 do
235
+ if(@tabTriangle[i]==true && self.nbLienEntreDeuxCases(tabLien,i)==0 )
236
+ compteur+=1
237
+ end
238
+ end
239
+ return compteur
240
+ end
241
+
242
+
243
+
244
+
245
+
246
+ # test si au moins un de ses voisins dispo ne peux creer plus qu'un lien
247
+ #
248
+ # === Parametres
249
+ #
250
+ # * + tabLien + = > le tableau des liens
251
+ #
252
+ # === Retour
253
+ #
254
+ # boolean sur ce test
255
+ #
256
+ def auMoinsUnVoisinDispoUnLienRestant(tabLien)
257
+ for i in 0..3 do
258
+ if(@tabTriangle[i]==true && @tabVoisins[i].etiquetteCase.to_i - 1 ==@tabVoisins[i].nbLienCase(tabLien) && @tabVoisins[i].nbVoisinsDispo()==1 )
259
+ return true
260
+ end
261
+ end
262
+ return false
263
+ end
264
+
265
+
266
+
267
+ # Compte le nombre de lien encore possible vers cette case
268
+ #
269
+ # === Parametres
270
+ #
271
+ # * + tabLien + = > le tableau des liens
272
+ #
273
+ # === Retour
274
+ #
275
+ # Le nombre de liens possible
276
+ #
277
+ def nbLienCasePossible(tabLien)
278
+ compteur=0
279
+ for i in 0..3 do
280
+ if(@tabTriangle[i]==true )
281
+ val=( 2 - self.nbLienEntreDeuxCases(tabLien,i) )
282
+ if(val > (@tabVoisins[i].etiquetteCase.to_i-@tabVoisins[i].nbLienCase(tabLien)) )
283
+ val=(@tabVoisins[i].etiquetteCase.to_i-@tabVoisins[i].nbLienCase(tabLien))
284
+ end
285
+ compteur+= val
286
+ end
287
+ end
288
+ return compteur
289
+ end
290
+
291
+
292
+ # Compte le nombre de liens attachés à une case
293
+ #
294
+ # === Parametres
295
+ #
296
+ # * + tabLien + = > le tableau des liens
297
+ #
298
+ # === Retour
299
+ #
300
+ # Le nombre de liens
301
+ #
302
+ def nbLienCase(tabLien)
303
+ compteur=0
304
+ tabLien.each do |lien|
305
+ if( self==lien.case1 || self==lien.case2 )
306
+ compteur+=1
307
+ end
308
+ end
309
+ return compteur
310
+ end
311
+
312
+ # Calcule le nombre de liens entre une case et une direction, les tests sont à faire avant l'appel de la méthode
313
+ #
314
+ # === Parametres
315
+ #
316
+ # * + posTabTriangle + = > entier correspondant à la direction de création du lien (0==nord,1==est,2==sud,3==ouest)
317
+ # * + tabLien + = > le tableau de liens de la grille
318
+ #
319
+ # === Retour
320
+ #
321
+ # Nombre entre 0 et 2 compris
322
+ #
323
+ def nbLienEntreDeuxCases(tabLien,posTabTriangle)
324
+ c=0
325
+ tabLien.each do |lien|
326
+ # puts('recherche si le lien existe')
327
+ if((lien.case1.ligne == self.ligne && lien.case1.colonne == self.colonne) && (lien.case2.ligne == self.tabVoisins[posTabTriangle].ligne && lien.case2.colonne == self.tabVoisins[posTabTriangle].colonne ) )
328
+ c +=1
329
+ #puts('il existe un lien de self vers la direction')
330
+ elsif ((lien.case2.ligne == self.ligne && lien.case2.colonne == self.colonne) && (lien.case1.ligne == self.tabVoisins[posTabTriangle].ligne && lien.case1.colonne == self.tabVoisins[posTabTriangle].colonne ))
331
+ c +=1
332
+ #puts('il existe un lien de ladirection vers self')
333
+ end
334
+ end
335
+ return c
336
+ end
337
+
338
+
339
+ # test si il y a au moins un lien passant entre cette case et un voisin dans une certaine direction
340
+ #
341
+ # === Parametres
342
+ #
343
+ # * + tabLien + = > le tableau des liens
344
+ # * + posTabTriangle + = > entier correspondant à la direction de création du lien (0==nord,1==est,2==sud,3==ouest)
345
+ #
346
+ # === Retour
347
+ #
348
+ # boolean, retourne vrai si un lien passe, faux sinon
349
+ #
350
+ def lienPasseEntreDeuxCases(tabLien,posTabTriangle)
351
+ if(@tabTriangle[posTabTriangle]!=false)
352
+ tabLien.each do |lien|
353
+ if( (@ligne>lien.case1.ligne && @ligne<lien.case2.ligne) || (@ligne<lien.case1.ligne && @ligne>lien.case2.ligne) )
354
+ if(posTabTriangle==1 && lien.case1.colonne-lien.case2.colonne==0 && lien.case1.colonne>@colonne && lien.case1.colonne< @tabVoisins[posTabTriangle].colonne)
355
+ return true
356
+ end
357
+ if(posTabTriangle==3 && lien.case1.colonne-lien.case2.colonne==0 && lien.case1.colonne<@colonne && lien.case1.colonne> @tabVoisins[posTabTriangle].colonne)
358
+ return true
359
+ end
360
+ end
361
+ if( (@colonne>lien.case1.colonne && @colonne<lien.case2.colonne) || (@colonne<lien.case1.colonne && @colonne>lien.case2.colonne) )
362
+ if(posTabTriangle==0 && lien.case1.ligne-lien.case2.ligne==0 && lien.case1.ligne<@ligne && lien.case1.ligne> @tabVoisins[posTabTriangle].ligne)
363
+ return true
364
+ end
365
+ if(posTabTriangle==2 && lien.case1.ligne-lien.case2.ligne==0 && lien.case1.ligne>@ligne && lien.case1.ligne< @tabVoisins[posTabTriangle].ligne)
366
+ return true
367
+ end
368
+ end
369
+ end
370
+ end
371
+ return false
372
+ end
373
+
374
+
375
+ # Création d'un lien à partir de cette case dans une certaine direction
376
+ #
377
+ # === Paramètres
378
+ #
379
+ # * + posTabTriangle + = > entier qui correspond à la direction de création du lien (0==nord,1==est,2==sud,3==ouest)
380
+ # * + hypothese + = > boolean qui correspond à l'état du lien, si il est créé ou non lors d'une hypothèse
381
+ # * + tabLien + = > le tableau de liens de la grille
382
+ #
383
+ def creerLien(posTabTriangle,hypothese,tabLien)
384
+ if(@tabTriangle[posTabTriangle]!=false)
385
+ l=Lien.creer(self,@tabVoisins[posTabTriangle],hypothese)
386
+
387
+ c=self.nbLienEntreDeuxCases(tabLien,posTabTriangle)
388
+
389
+ if(c==1)
390
+ @tabTriangle[posTabTriangle] = false
391
+ @tabVoisins[posTabTriangle].tabTriangle[(posTabTriangle + 2)%4] = false
392
+ end
393
+ tabLien.push(l)
394
+
395
+ return l
396
+ else
397
+ puts("impossible de creer un lien entre #{@etiquetteCase} et son voisin #{posTabTriangle}")
398
+ end
399
+
400
+ end
401
+
402
+
403
+ # Redéfinition de l'affichage d'une Case
404
+ def to_s()
405
+ return "Case en [#{@ligne},#{@colonne}] : etiq[#{@etiquetteCase}]"
406
+ end
407
+
408
+
409
+
410
+ end