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
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