bioshogi 0.0.17 → 0.0.18

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 (1045) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +59 -0
  3. data/A/342/206/222B/342/206/222C/345/233/262/343/201/204.txt +145 -5
  4. data/A/342/206/222B/342/206/222C/346/210/246/346/263/225.txt +347 -52
  5. data/Gemfile.lock +77 -33
  6. data/bioshogi.gemspec +2 -1
  7. data/lib/bioshogi/ai/evaluator/attack_weight_table.rb +0 -1
  8. data/lib/bioshogi/ai/evaluator/base.rb +1 -1
  9. data/lib/bioshogi/ai/evaluator/level3.rb +2 -3
  10. data/lib/bioshogi/ai/evaluator/level4.rb +1 -1
  11. data/lib/bioshogi/alias_mod.rb +35 -0
  12. data/lib/bioshogi/analysis/abbrev_expander.rb +48 -0
  13. data/lib/bioshogi/analysis/analyzer_mod.rb +26 -41
  14. data/lib/bioshogi/analysis/atsumeruyo.rb +19 -0
  15. data/lib/bioshogi/analysis/attack_info.rb +441 -305
  16. data/lib/bioshogi/analysis/basic_accessor.rb +37 -94
  17. data/lib/bioshogi/analysis/board_piece_counts_methods.rb +12 -17
  18. data/lib/bioshogi/analysis/capture_analyzer.rb +27 -0
  19. data/lib/bioshogi/analysis/capture_detector.rb +107 -0
  20. data/lib/bioshogi/analysis/cluster_score_info.rb +48 -0
  21. data/lib/bioshogi/analysis/{board_piller_methods.rb → column_soldier_counter_methods.rb} +7 -6
  22. data/lib/bioshogi/analysis/custom_analyzer.rb +22 -0
  23. data/lib/bioshogi/analysis/custom_detector_info.rb +24 -0
  24. data/lib/bioshogi/analysis/custom_detectors/anaguma_detector.rb +129 -0
  25. data/lib/bioshogi/analysis/custom_detectors/gyokutousen_detector.rb +88 -0
  26. data/lib/bioshogi/analysis/custom_detectors/hikakukoukan_detector.rb +84 -0
  27. data/lib/bioshogi/analysis/custom_detectors/hisyakaku_kiru_detector.rb +53 -0
  28. data/lib/bioshogi/analysis/custom_detectors/kakukoukan_detector.rb +63 -0
  29. data/lib/bioshogi/analysis/custom_detectors/kakunihakaku_detector.rb +72 -0
  30. data/lib/bioshogi/analysis/custom_detectors/magic_square_detector.rb +41 -0
  31. data/lib/bioshogi/analysis/custom_detectors/nyuugyoku_anaguma_detector.rb +67 -0
  32. data/lib/bioshogi/analysis/custom_detectors/outbreak_detector.rb +20 -0
  33. data/lib/bioshogi/analysis/custom_trigger_info.rb +16 -0
  34. data/lib/bioshogi/analysis/defense_info.rb +157 -152
  35. data/lib/bioshogi/analysis/every_analyzer.rb +27 -0
  36. data/lib/bioshogi/analysis/every_detector.rb +18 -0
  37. data/lib/bioshogi/analysis/executer_dsl.rb +248 -0
  38. data/lib/bioshogi/analysis/file_list.rb +13 -0
  39. data/lib/bioshogi/analysis/file_normalizer.rb +6 -3
  40. data/lib/bioshogi/analysis/finalize_tag_detector.rb +97 -0
  41. data/lib/bioshogi/analysis/finalize_tag_func_info.rb +321 -0
  42. data/lib/bioshogi/analysis/finalize_tag_info.rb +55 -0
  43. data/lib/bioshogi/analysis/frequency.rb +3 -375
  44. data/lib/bioshogi/analysis/group_info.rb +45 -2
  45. data/lib/bioshogi/analysis/kakukiri_canceler.rb +44 -0
  46. data/lib/bioshogi/analysis/motion_analyzer.rb +40 -0
  47. data/lib/bioshogi/analysis/motion_detector.rb +2022 -0
  48. data/lib/bioshogi/analysis/normalize_check.rb +22 -0
  49. data/lib/bioshogi/analysis/note_info.rb +25 -83
  50. data/lib/bioshogi/analysis/performance_benchmark.rb +29 -0
  51. data/lib/bioshogi/analysis/player_methods.rb +30 -2
  52. data/lib/bioshogi/analysis/report/all.org +517 -0
  53. data/lib/bioshogi/analysis/report/capture.org +9 -0
  54. data/lib/bioshogi/analysis/report/every.org +5 -0
  55. data/lib/bioshogi/analysis/report/motion.org +83 -0
  56. data/lib/bioshogi/analysis/report/shape.org +6 -0
  57. data/lib/bioshogi/analysis/report/shape_info.org +364 -0
  58. data/lib/bioshogi/analysis/shape_analyzer.rb +254 -0
  59. data/lib/bioshogi/analysis/shape_analyzer_methods.rb +55 -0
  60. data/lib/bioshogi/analysis/shape_detector.rb +23 -0
  61. data/lib/bioshogi/analysis/shape_info.rb +500 -203
  62. data/lib/bioshogi/analysis/shape_info_accessor.rb +15 -0
  63. data/lib/bioshogi/analysis/soldier_lookup_table_methods.rb +50 -0
  64. data/lib/bioshogi/analysis/soldier_place_methods.rb +51 -0
  65. data/lib/bioshogi/analysis/static_kif_mod.rb +25 -0
  66. data/lib/bioshogi/{formatter/sugatayaki_validator.rb → analysis/sugatayaki_detector.rb} +18 -33
  67. data/lib/bioshogi/analysis/{tactic_validator.rb → tactic_detector.rb} +3 -3
  68. data/lib/bioshogi/analysis/tactic_hit_turn_table.rb +521 -422
  69. data/lib/bioshogi/analysis/tactic_hit_turn_table_generator.rb +4 -3
  70. data/lib/bioshogi/analysis/tactic_info.rb +17 -141
  71. data/lib/bioshogi/analysis/tag_bundle.rb +117 -0
  72. data/lib/bioshogi/analysis/tag_column_names.rb +31 -0
  73. data/lib/bioshogi/analysis/tag_index.rb +102 -0
  74. data/lib/bioshogi/analysis/tag_methods.rb +12 -0
  75. data/lib/bioshogi/analysis/tag_reporter.rb +40 -0
  76. data/lib/bioshogi/analysis/technique_info.rb +176 -62
  77. data/lib/bioshogi/analysis/tree_mod.rb +40 -0
  78. data/lib/bioshogi/analysis/trigger_expander.rb +62 -0
  79. data/lib/bioshogi/analysis/used_soldier_counter.rb +33 -0
  80. data/lib/bioshogi/analysis/xmotion_analyzer.rb +24 -0
  81. data/lib/bioshogi/analysis/xmotion_detector_info.rb +52 -0
  82. data/lib/bioshogi/analysis/xmotion_detectors/horse_detector.rb +60 -0
  83. data/lib/bioshogi/analysis/xmotion_detectors/outebisha0_detector.rb +74 -0
  84. data/lib/bioshogi/analysis/xmotion_detectors/outebisha_detector.rb +124 -0
  85. data/lib/bioshogi/analysis/xmotion_detectors/outekaku_detector.rb +33 -0
  86. data/lib/bioshogi/analysis/xmotion_detectors/rocket_detector.rb +116 -0
  87. data/lib/bioshogi/analysis/xmotion_detectors/wazaarinokei_detector.rb +80 -0
  88. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/217/263/345/233/233/351/226/223/351/243/233/350/273/212/347/263/273.kif +9 -0
  89. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/345/217/263/345/233/233/351/226/223/351/243/233/350/273/212/347/263/273.kif +9 -0
  90. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/346/212/227/345/275/242.kif +10 -1
  91. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/261/205/351/243/233/350/273/212.kif +44 -4
  92. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/200/245/346/210/246.kif +47 -47
  93. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/211/213/345/276/227/350/247/222/344/272/244/346/217/233/345/236/213.kif +12 -2
  94. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/211/213/346/220/215/350/247/222/344/272/244/346/217/233/345/236/213.kif +13 -3
  95. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/214/201/344/271/205/346/210/246.kif +38 -11
  96. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/214/257/343/202/212/351/243/233/350/273/212.kif +26 -7
  97. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/345/205/245/347/216/211.kif +15 -4
  98. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/345/261/205/347/216/211.kif +79 -23
  99. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/345/261/205/351/243/233/350/273/212.kif +19 -5
  100. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/346/214/257/343/202/212/351/243/233/350/273/212.kif +12 -3
  101. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/347/251/264/347/206/212.kif +27 -8
  102. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/237/255/346/211/213/346/225/260.kif +18 -7
  103. data/lib/bioshogi/analysis//345/202/231/350/200/203//350/247/222/344/272/244/346/217/233/345/236/213.kif +12 -2
  104. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/225/267/346/211/213/346/225/260.kif +64 -11
  105. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/202/343/201/232/343/201/276/343/202/204/345/233/262/343/201/204.kif +15 -6
  106. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/204/343/201/213/343/201/240/345/233/262/343/201/204.kif +18 -3
  107. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/204/343/201/241/343/201/224/345/233/262/343/201/204.kif +30 -7
  108. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/213/343/202/223/343/201/264/343/202/207/343/201/206/345/233/262/343/201/204.kif +39 -12
  109. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/232/343/202/214/347/276/216/346/277/203.kif +14 -5
  110. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/241/343/202/207/343/202/223/343/201/276/343/201/222/347/276/216/346/277/203.kif +12 -3
  111. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/270/343/201/223/343/201/277/347/237/242/345/200/211.kif +24 -6
  112. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/242/343/203/222/343/203/253/345/233/262/343/201/204.kif +31 -8
  113. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/250/343/203/253/343/203/242/345/233/262/343/201/204.kif +12 -3
  114. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/252/343/203/252/343/202/252/343/203/263/345/233/262/343/201/204.kif +32 -0
  115. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/252/343/203/252/343/202/270/343/203/212/343/203/253/351/233/201/346/234/250.kif +30 -11
  116. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/252/343/203/274/343/203/253/343/203/211/351/233/201/346/234/250.kif +34 -9
  117. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/202/256/345/233/262/343/201/204.kif +44 -11
  118. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/202/277/345/233/262/343/201/204.kif +35 -11
  119. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/203/213/345/233/262/343/201/204.kif +21 -5
  120. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/203/213/347/274/266/345/233/262/343/201/204.kif +10 -2
  121. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/203/226/343/203/210/345/233/262/343/201/204.kif +19 -5
  122. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/203/226/343/203/210/347/276/216/346/277/203.kif +20 -6
  123. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/273/343/203/241/343/203/263/343/203/210/345/233/262/343/201/204.kif +33 -8
  124. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/200/343/202/244/343/203/244/343/203/242/343/203/263/343/203/211/347/276/216/346/277/203.kif +19 -5
  125. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/201/343/203/247/343/202/263/343/203/254/343/203/274/343/203/210/345/233/262/343/201/204.kif +13 -8
  126. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/204/343/203/216/351/212/200/345/233/262/343/201/204.kif +17 -5
  127. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/204/343/203/216/351/212/200/351/233/201/346/234/250.kif +31 -9
  128. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/223/343/203/203/343/202/2604.kif +31 -11
  129. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/234/343/203/212/343/203/263/343/202/266/345/233/262/343/201/204.kif +30 -8
  130. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/237/343/203/254/343/203/213/343/202/242/343/203/240/345/233/262/343/201/204.kif +43 -14
  131. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/240/343/203/252/343/203/244/343/203/252/347/237/242/345/200/211.kif +19 -4
  132. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/242/343/203/216/343/203/254/343/203/274/343/203/253/345/233/262/343/201/204.kif +20 -4
  133. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/200/346/226/207/345/255/227/347/237/242/345/200/211.kif +15 -3
  134. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/200/346/236/232/347/251/264/347/206/212.kif +237 -0
  135. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/203/346/236/232/347/251/264/347/206/212.kif +237 -0
  136. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/211/346/236/232/347/251/264/347/206/212.kif +237 -0
  137. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/255/344/275/217/343/201/276/343/201/204.kif +41 -9
  138. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/255/345/216/237/345/233/262/343/201/204.kif +17 -4
  139. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/262/343/202/253/343/203/204/345/233/262/343/201/204.kif +15 -4
  140. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/272/214/346/236/232/347/251/264/347/206/212.kif +237 -0
  141. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/272/224/346/236/232/347/251/264/347/206/212.kif +237 -0
  142. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/205/245/347/216/211/347/251/264/347/206/212.kif +42 -0
  143. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/205/253/346/236/232/347/251/264/347/206/212.kif +237 -0
  144. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/205/255/346/236/232/347/251/264/347/206/212.kif +237 -0
  145. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/215/207/347/224/260/347/276/216/346/277/203.kif +19 -3
  146. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/217/263/347/237/242/345/200/211.kif +28 -7
  147. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/236/232/347/251/264/347/206/212.kif +22 -8
  148. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/236/232/347/276/216/346/277/203.kif +16 -6
  149. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/236/232/351/212/200/345/206/240.kif +43 -13
  150. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/256/265/347/253/257/347/216/211.kif +49 -13
  151. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/350/247/222/347/237/242/345/200/211.kif +21 -6
  152. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/234/237/345/261/205/347/237/242/345/200/211.kif +17 -4
  153. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/235/212/344/270/273/347/276/216/346/277/203.kif +17 -3
  154. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/247/345/261/261/347/276/216/346/277/203.kif +15 -4
  155. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/247/347/233/276/345/233/262/343/201/204.kif +15 -4
  156. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/247/351/232/205/345/233/262/343/201/204.kif +13 -4
  157. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/345/256/210/351/226/243/345/233/262/343/201/204//343/203/201/343/203/247/343/202/263/343/203/254/343/203/274/343/203/210/345/233/262/343/201/204/343/201/270/343/201/256/346/264/276/347/224/237.kif +72 -0
  158. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/345/256/210/351/226/243/345/233/262/343/201/204.kif +13 -4
  159. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/345/256/210/351/226/243/347/276/216/346/277/203.kif +16 -7
  160. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/347/251/272/343/201/256/345/237/216.kif +51 -0
  161. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/351/207/216/347/237/242/345/200/211.kif +17 -6
  162. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/257/214/345/243/253/350/246/213/347/237/242/345/200/211.kif +51 -16
  163. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/347/216/211.kif +142 -56
  164. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/351/243/233/347/251/264/351/237/263/347/204/241/343/201/227/343/201/256/346/247/213/343/201/210.kif +18 -6
  165. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/351/243/233/350/273/212/347/251/264/347/206/212.kif +19 -6
  166. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/351/243/233/350/273/212/351/207/221/345/206/240.kif +43 -12
  167. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/351/243/233/350/273/212/351/207/221/347/204/241/345/217/214.kif +16 -6
  168. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/351/243/233/350/273/212/351/207/221/347/276/216/346/277/203.kif +15 -4
  169. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/351/243/233/350/273/212/351/212/200/345/206/240.kif +16 -6
  170. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/267/246/345/261/261/345/233/262/343/201/204.kif +13 -4
  171. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/267/246/347/276/216/346/277/203.kif +19 -5
  172. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/202/252/345/275/242/347/237/242/345/200/211.kif +15 -4
  173. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/343/202/250/343/203/253/343/203/242.kif +22 -6
  174. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/343/203/223/343/203/203/343/202/2604.kif +52 -13
  175. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/343/203/237/343/203/254/343/203/213/343/202/242/343/203/240.kif +42 -13
  176. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/344/270/262/343/202/253/343/203/204/345/233/262/343/201/204.kif +14 -3
  177. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/345/233/233/346/236/232/347/276/216/346/277/203.kif +21 -8
  178. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/345/244/251/345/256/210/351/226/243/347/276/216/346/277/203.kif +19 -5
  179. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/347/251/264/347/206/212.kif +18 -5
  180. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/347/253/257/347/216/211/351/212/200/345/206/240.kif +19 -5
  181. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/351/212/200/345/206/240/347/251/264/347/206/212.kif +29 -6
  182. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/226/207/351/216/256/345/233/262/343/201/204.kif +21 -6
  183. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/226/260/345/236/213/351/233/201/346/234/250.kif +17 -4
  184. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/227/251/345/233/262/343/201/204.kif +13 -4
  185. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/234/250/346/235/221/347/276/216/346/277/203.kif +20 -7
  186. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/235/276/345/260/276/346/265/201/347/251/264/347/206/212.kif +27 -8
  187. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/241/220/345/261/261/346/265/201/344/270/255/345/216/237/345/233/262/343/201/204.kif +20 -5
  188. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/265/201/343/202/214/347/237/242/345/200/211.kif +13 -4
  189. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/265/201/347/267/232/347/237/242/345/200/211.kif +21 -6
  190. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/204/241/346/225/265/345/233/262/343/201/204.kif +12 -3
  191. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/204/241/350/262/254/344/273/273/347/237/242/345/200/211.kif +16 -4
  192. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/211/207/343/203/204/343/203/216/351/212/200/345/233/262/343/201/204.kif +17 -5
  193. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/211/207/347/276/216/346/277/203/345/233/262/343/201/204.kif +12 -3
  194. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/211/207/351/212/200/345/206/240.kif +24 -6
  195. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/237/242/345/200/211/346/227/251/345/233/262/343/201/204.kif +14 -5
  196. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/237/242/345/200/211/347/251/264/347/206/212.kif +30 -6
  197. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/245/236/345/220/211/346/265/201/347/251/264/347/206/212.kif +19 -6
  198. data/lib/bioshogi/analysis//345/{202/231/350/200/203 → 233/262/343/201/204}//347/251/264/347/206/212.kif +33 -12
  199. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/253/257/347/216/211/351/212/200/345/206/240.kif +19 -9
  200. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/256/261/345/205/245/343/202/212/345/250/230.kif +15 -6
  201. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/264/231/347/251/264/347/206/212.kif +60 -11
  202. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/267/217/347/237/242/345/200/211.kif +34 -15
  203. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/276/216/346/277/203/345/233/262/343/201/204.kif +13 -4
  204. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/276/216/346/277/203/347/206/212/345/233/262/343/201/204.kif +17 -5
  205. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/210/237/345/233/262/343/201/204.kif +12 -3
  206. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/210/237/345/233/262/343/201/204DX.kif +18 -6
  207. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/217/212/346/260/264/347/237/242/345/200/211.kif +21 -6
  208. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/217/261/347/237/242/345/200/211.kif +26 -8
  209. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/243/217/343/202/242/343/203/222/343/203/253/345/233/262/343/201/204.kif +13 -4
  210. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/243/270/347/251/264/347/206/212.kif +36 -0
  211. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/243/276/345/233/272/343/202/201.kif +13 -7
  212. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/247/222/346/217/233/343/202/217/343/202/212/347/251/264/347/206/212.kif +76 -0
  213. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/247/222/347/237/242/345/200/211.kif +23 -4
  214. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/247/222/351/201/223/344/270/215/347/252/201/343/201/215/345/267/246/347/276/216/346/277/203.kif +12 -3
  215. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/261/206/350/205/220/347/237/242/345/200/211.kif +15 -5
  216. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/200/243/347/233/237/347/276/216/346/277/203.kif +12 -3
  217. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/345/244/232/344/274/235.kif +14 -3
  218. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/204/241/345/217/214.kif +23 -9
  219. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/233/276/345/233/262/343/201/204.kif +14 -5
  220. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/237/242/345/200/211.kif +16 -4
  221. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/276/216/346/277/203.kif +25 -8
  222. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/351/226/200/347/237/242/345/200/211.kif +18 -5
  223. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240.kif +21 -4
  224. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240/347/251/264/347/206/212.kif +28 -9
  225. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/244/232/344/274/235.kif +41 -7
  226. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/347/237/242/345/200/211.kif +18 -3
  227. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/347/253/213/343/201/241/347/237/242/345/200/211.kif +17 -5
  228. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/347/276/216/346/277/203.kif +19 -6
  229. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/232/205/347/237/242/345/200/211.kif +19 -5
  230. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/233/242/343/202/214/351/207/221/347/204/241/345/217/214.kif +25 -5
  231. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/233/262/351/232/240/343/202/214/347/216/211.kif +15 -4
  232. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/253/230/347/237/242/345/200/211.kif +16 -4
  233. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/253/230/347/276/216/346/277/203/345/233/262/343/201/204.kif +17 -4
  234. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/255/224/346/226/271/351/231/243.kif +47 -0
  235. data/lib/bioshogi/analysis//346/210/246/346/263/225/2/346/211/213/347/233/256/342/226/2633/344/272/214/351/212/200/343/202/267/343/202/271/343/203/206/343/203/240.kif +9 -0
  236. data/lib/bioshogi/analysis//346/210/246/346/263/225/2/346/211/213/347/233/256/342/226/2633/{343/203/213 → 344/272/214}/351/243/233/346/210/246/346/263/225.kif +44 -13
  237. data/lib/bioshogi/analysis//346/210/246/346/263/225/2/346/211/213/347/233/256/342/226/2636/344/272/214/351/212/200/346/210/246/346/263/225.kif +9 -0
  238. data/lib/bioshogi/analysis//346/210/246/346/263/225/2/346/211/213/347/233/256/342/226/2637/345/233/233/346/255/251/346/210/246/346/263/225.kif +9 -0
  239. data/lib/bioshogi/analysis//346/210/246/346/263/225/3/342/206/2224/342/206/2223/346/210/246/346/263/225.kif +14 -5
  240. data/lib/bioshogi/analysis//346/210/246/346/263/225/3/346/211/213/347/233/256/342/226/2627/344/270/203/350/247/222/346/210/246/346/263/225.kif +20 -0
  241. data/lib/bioshogi/analysis//346/210/246/346/263/225/4/346/211/213/347/233/256/342/226/2633/344/270/211/350/247/222/346/210/246/346/263/225.kif +10 -2
  242. data/lib/bioshogi/analysis//346/210/246/346/263/225/5/346/211/213/347/210/206/345/274/276.kif +21 -8
  243. data/lib/bioshogi/analysis//346/210/246/346/263/225/5/347/255/213/344/275/215/345/217/226/343/202/212.kif +14 -4
  244. data/lib/bioshogi/analysis//346/210/246/346/263/225/5/347/255/213/344/275/215/345/217/226/343/202/212/344/270/255/351/243/233/350/273/212.kif +13 -4
  245. data/lib/bioshogi/analysis//346/210/246/346/263/225/6/347/255/213/344/275/215/345/217/226/343/202/212.kif +14 -5
  246. data/lib/bioshogi/analysis//346/210/246/346/263/225/7/346/211/213/347/210/206/345/274/276.kif +30 -0
  247. data/lib/bioshogi/analysis//346/210/246/346/263/225/GAVA/350/247/222.kif +20 -5
  248. data/lib/bioshogi/analysis//346/210/246/346/263/225/UFO/351/207/221.kif +34 -0
  249. data/lib/bioshogi/analysis//346/210/246/346/263/225/UFO/351/212/200.kif +21 -6
  250. data/lib/bioshogi/analysis//346/210/246/346/263/225/U/343/202/277/343/203/274/343/203/263/351/243/233/350/273/212.kif +43 -16
  251. data/lib/bioshogi/analysis//346/210/246/346/263/225/xaby/350/247/222/346/210/246/346/263/225.kif +18 -5
  252. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2624/344/272/224/346/255/251/346/227/251/344/273/225/346/216/233/343/201/221.kif +22 -6
  253. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2624/345/205/255/351/212/200/345/217/263/346/200/245/346/210/246.kif +17 -5
  254. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2624/345/205/255/351/212/200/345/267/246/346/200/245/346/210/246.kif +15 -4
  255. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2625/344/270/203/351/207/221/346/210/246/346/263/225.kif +36 -11
  256. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2625/344/272/224/351/276/215/344/270/255/351/243/233/350/273/212.kif +22 -7
  257. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2632/344/270/211/346/255/251/346/210/246/346/263/225.kif +25 -4
  258. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2633/344/270/211/346/241/202/346/210/246/346/263/225.kif +23 -4
  259. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2633/344/270/211/350/247/222/345/236/213/347/251/272/344/270/255/346/210/246/346/263/225.kif +29 -6
  260. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2633/344/270/211/351/207/221/345/236/213/346/227/251/347/271/260/343/202/212/351/212/200.kif +21 -9
  261. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2633/344/270/211/351/243/233/346/210/246/346/263/225.kif +41 -9
  262. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2634/344/272/224/350/247/222/346/210/246/346/263/225.kif +27 -6
  263. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2637/344/272/214/351/243/233/344/272/234/346/200/245/346/210/246.kif +31 -9
  264. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/206/343/201/243/343/201/213/343/202/212/344/270/211/351/226/223/351/243/233/350/273/212.kif +13 -4
  265. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/215/343/202/223/343/201/250/343/201/206/343/202/223/346/210/246/346/263/225.kif +20 -3
  266. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/215/357/275/215/343/201/215/357/275/215/351/207/221.kif +15 -4
  267. data/lib/bioshogi/analysis//346/210/246/346/263/225//{345/257/276/343/201/262/343/201/255/343/202/212/351/243/233/350/273/212/343 → 343}/201/237/343/201/223/351/207/221/346/210/246/346/263/225.kif +25 -6
  268. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/244/343/201/217/343/201/244/343/201/217/343/201/274/343/201/206/343/201/227/346/210/246/346/263/225.kif +18 -7
  269. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/257/343/201/217/345/274/217/345/233/233/351/226/223/351/243/233/350/273/212.kif +45 -14
  270. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/262/343/201/255/343/202/212/351/243/233/350/273/212.kif +22 -4
  271. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/270/343/201/252/343/201/241/343/202/207/343/201/223/346/200/245/346/210/246.kif +25 -6
  272. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/270/343/201/252/343/201/241/343/202/207/343/201/223/346/214/201/344/271/205/346/210/246.kif +73 -0
  273. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/204/343/201/260/343/203/234/343/203/274/343/202/272/346/265/201.kif +31 -11
  274. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/242/343/203/222/343/203/253/346/210/246/346/263/225.kif +31 -8
  275. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/246/343/202/275/347/237/242/345/200/211.kif +11 -3
  276. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/250/343/203/253/343/203/242/346/200/245/346/210/246.kif +39 -13
  277. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/252/343/202/266/343/203/257/343/202/267/343/202/271/343/203/206/343/203/240.kif +60 -11
  278. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/253/343/203/213/343/202/253/343/203/213/351/207/221.kif +19 -4
  279. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/253/343/203/213/343/202/253/343/203/213/351/212/200.kif +13 -7
  280. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/253/343/203/241/343/203/254/343/202/252/343/203/263/346/210/246/346/263/225.kif +19 -6
  281. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/257/343/203/253/343/202/257/343/203/253/350/247/222.kif +154 -0
  282. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/263/343/203/274/343/203/244/343/203/263/346/265/201/344/270/211/351/226/223/351/243/233/350/273/212.kif +45 -9
  283. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/264/343/202/255/343/202/262/343/203/263/344/270/255/351/243/233/350/273/212.kif +34 -12
  284. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/264/343/203/252/343/202/264/343/203/252/351/207/221.kif +24 -5
  285. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/264/343/203/252/343/203/251/343/201/256/345/217/263/346/211/213.kif +40 -11
  286. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/264/343/203/252/351/201/225/343/201/204/350/247/222.kif +20 -4
  287. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/267/343/203/247/343/203/274/343/203/200/343/203/263/343/202/252/343/203/252/343/202/270/343/203/212/343/203/253.kif +37 -10
  288. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/267/343/203/247/343/203/274/343/203/200/343/203/263/343/202/267/343/202/271/343/203/206/343/203/240.kif +37 -14
  289. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/277/343/203/251/343/203/263/343/203/201/343/203/245/343/203/251/346/210/246/346/263/225.kif +21 -6
  290. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/200/343/202/244/343/203/254/343/202/257/343/203/210/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +18 -7
  291. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/204/343/203/216/351/212/200/344/270/255/351/243/233/350/273/212.kif +41 -14
  292. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/204/343/203/216/351/212/200/345/236/213/345/217/263/347/216/211.kif +38 -12
  293. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/210/343/203/236/343/203/233/343/203/274/343/202/257.kif +49 -8
  294. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/211/343/203/251/343/202/264/343/203/263/343/202/271/343/203/232/343/202/267/343/203/243/343/203/253.kif +67 -0
  295. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/215/343/202/263/345/274/217/343/202/277/343/203/206/346/255/251/345/217/226/343/202/212.kif +16 -6
  296. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/216/343/203/274/343/202/254/343/203/274/343/203/211/346/210/246/346/263/225.kif +29 -8
  297. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/216/343/203/274/343/203/236/343/203/253/344/270/211/351/226/223/351/243/233/350/273/212.kif +26 -8
  298. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/216/343/203/274/343/203/236/343/203/253/345/233/233/351/226/223/351/243/233/350/273/212.kif +14 -5
  299. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/221/343/203/203/343/202/257/343/203/236/343/203/263/346/210/246/346/263/225.kif +22 -4
  300. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/222/343/203/251/343/203/241/346/210/246/346/263/225.kif +25 -6
  301. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/235/343/203/263/343/203/235/343/203/263/346/241/202.kif +19 -6
  302. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/240/343/203/252/343/203/244/343/203/252/346/227/251/347/237/263/347/224/260.kif +22 -6
  303. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/241/343/202/244/343/203/211/343/202/267/343/202/271/343/203/206/343/203/240.kif +11 -2
  304. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/241/343/203/252/343/202/261/343/203/263/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +19 -6
  305. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/242/343/203/216/343/203/254/343/203/274/343/203/253/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +39 -9
  306. data/lib/bioshogi/analysis//346/210/246/346/263/225//{351/207/221/351/212/200/346/251/213.kif → 343/203/252/343/203/203/343/203/201/343/203/226/343/203/252/343/203/203/343/202/270.kif} +21 -9
  307. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/254/343/202/260/343/202/271/343/203/232.kif +26 -7
  308. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/346/211/213/346/220/215/350/247/222/346/217/233/343/202/217/343/202/212.kif +42 -13
  309. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/347/233/264/347/267/232/347/251/264/347/206/212.kif +42 -12
  310. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/351/226/223/351/243/233/350/273/212.kif +14 -3
  311. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/351/226/223/351/243/233/350/273/212/345/217/263/347/251/264/347/206/212.kif +56 -0
  312. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/346/256/265/345/217/263/347/216/211.kif +39 -13
  313. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/351/226/223/351/243/233/350/273/212.kif +23 -6
  314. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/351/226/223/351/243/233/350/273/212/343/203/237/343/203/254/343/203/213/343/202/242/343/203/240.kif +13 -6
  315. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/351/226/223/351/243/233/350/273/212/350/227/244/344/272/225/343/202/267/343/202/271/343/203/206/343/203/240.kif +14 -5
  316. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/213/347/224/272/346/265/201/344/270/211/351/226/223/351/243/233/350/273/212.kif +24 -6
  317. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/216/237/346/265/201/346/200/245/346/210/246/347/237/242/345/200/211.kif +34 -11
  318. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/216/237/346/265/201/347/233/270/346/216/233/343/201/213/343/202/212.kif +25 -7
  319. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/216/237/351/243/233/350/273/212.kif +32 -4
  320. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/272/247/351/243/233/350/273/212.kif +30 -5
  321. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/351/243/233/350/273/212.kif +26 -0
  322. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/351/243/233/350/273/212/343/203/237/343/203/254/343/203/213/343/202/242/343/203/240.kif +13 -5
  323. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/351/243/233/350/273/212/345/267/246/347/251/264/347/206/212.kif +57 -18
  324. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/270/345/261/261/343/203/257/343/202/257/343/203/201/343/203/263.kif +18 -5
  325. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/271/205/344/277/235/346/265/201/346/227/251/347/237/263/347/224/260.kif +18 -7
  326. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/271/235/351/226/223/351/243/233/350/273/212.kif +20 -6
  327. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/271/235/351/226/223/351/243/233/350/273/212/345/267/246/347/251/264/347/206/212.kif +34 -4
  328. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/205/210/346/211/213/344/270/255/351/243/233/350/273/212.kif +14 -5
  329. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/210/235/346/211/213/342/226/2623/345/205/255/346/255/251/346/210/246/346/263/225.kif +9 -0
  330. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/210/235/346/211/213/342/226/2627/345/205/253/351/212/200/346/210/246/346/263/225.kif +16 -7
  331. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/210/235/346/211/213/342/226/2627/345/205/253/351/243/233/346/210/246/346/263/225.kif +13 -4
  332. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/212/233/346/210/246.kif +146 -21
  333. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/212/240/350/227/244/346/265/201/350/242/226/351/243/233/350/273/212.kif +28 -8
  334. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/213/207/346/260/227/346/265/201.kif +20 -5
  335. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/215/207/347/224/260/345/274/217/347/237/263/347/224/260/346/265/201.kif +19 -7
  336. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/216/237/345/247/213/344/270/255/351/243/233/350/273/212.kif +12 -3
  337. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/216/237/345/247/213/346/243/222/351/212/200.kif +22 -6
  338. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/217/263/345/233/233/351/226/223/351/243/233/350/273/212.kif +10 -6
  339. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/217/263/345/233/233/351/226/223/351/243/233/350/273/212/345/267/246/347/276/216/346/277/203.kif +28 -8
  340. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/217/263/345/233/233/351/226/223/351/243/233/350/273/212/346/200/245/346/210/246.kif +26 -7
  341. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/217/263/345/233/233/351/226/223/351/243/233/350/273/212/350/266/205/346/200/245/346/210/246.kif +16 -1
  342. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/217/263/347/216/211.kif +24 -6
  343. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/220/214/345/236/213/347/237/242/345/200/211.kif +18 -5
  344. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +23 -4
  345. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/233/233/346/211/213/350/247/222.kif +19 -6
  346. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/233/233/351/226/223/351/243/233/350/273/212.kif +11 -2
  347. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/233/233/351/226/223/351/243/233/350/273/212/343/203/237/343/203/254/343/203/213/343/202/242/343/203/240.kif +13 -6
  348. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/234/260/344/270/213/351/211/204/351/243/233/350/273/212.kif +40 -12
  349. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/241/232/347/224/260/343/202/271/343/203/232/343/202/267/343/203/243/343/203/253.kif +29 -8
  350. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/244/251/345/275/246/346/265/201/342/226/2626/345/205/255/350/247/222.kif +10 -2
  351. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/244/251/345/275/246/346/265/201/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +22 -7
  352. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/254/211/351/207/216/346/265/201.kif +29 -8
  353. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/256/244/345/262/241/343/202/267/343/202/271/343/203/206/343/203/240.kif +52 -11
  354. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/257/276/346/214/257/343/202/212/346/214/201/344/271/205/346/210/246.kif +14 -4
  355. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/261/213/346/225/267/346/265/201/344/272/214/346/236/232/351/212/200.kif +30 -6
  356. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/261/213/346/225/267/346/265/201/344/272/214/346/236/232/351/212/200/346/243/222/351/212/200/345/236/213.kif +26 -6
  357. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/261/261/345/264/216/346/265/201/343/203/221/343/203/203/343/202/257/343/203/236/343/203/263.kif +10 -1
  358. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/261/261/347/224/260/345/256/232/350/267/241.kif +16 -5
  359. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/267/246/347/276/216/346/277/203/346/200/245/346/210/246.kif +33 -11
  360. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/271/273/346/203/263/345/233/233/351/226/223/351/243/233/350/273/212.kif +20 -7
  361. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/274/225/343/201/215/350/247/222.kif +38 -0
  362. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/277/205/347/254/221/343/201/262/343/201/243/343/201/213/343/201/221/346/210/246/346/263/225.kif +20 -7
  363. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/210/270/350/276/272/346/265/2014/342/206/2223/346/210/246/346/263/225.kif +14 -5
  364. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/343/203/235/343/203/263/343/203/235/343/203/263/346/241/202.kif +25 -7
  365. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/345/254/211/351/207/216/346/265/201.kif +35 -7
  366. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/346/235/221/347/224/260/343/202/267/343/202/271/343/203/206/343/203/240.kif +35 -7
  367. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/347/237/263/347/224/260/346/265/201.kif +15 -6
  368. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/347/261/263/351/225/267/347/216/211.kif +31 -7
  369. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/351/242/250/350/273/212.kif +13 -5
  370. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/351/254/274/346/256/272/343/201/227.kif +23 -6
  371. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/227/251/347/237/263/347/224/260.kif +12 -3
  372. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/227/251/347/271/260/343/202/212/351/207/221.kif +40 -0
  373. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/227/251/347/271/260/343/202/212/351/212/200.kif +36 -0
  374. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/232/264/351/212/200.kif +24 -8
  375. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/234/250/346/235/221/345/256/232/350/267/241.kif +39 -11
  376. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/235/221/347/224/260/343/202/267/343/202/271/343/203/206/343/203/240.kif +11 -2
  377. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/241/220/345/261/261/346/265/201/343/202/277/343/203/206/346/255/251/346/243/222/351/212/200.kif +28 -9
  378. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/347/216/211.kif +14 -4
  379. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/347/216/211/350/242/226/351/243/233/350/273/212.kif +47 -0
  380. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/351/207/221.kif +23 -6
  381. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/351/212/200.kif +19 -4
  382. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/256/344/270/213/343/202/267/343/202/271/343/203/206/343/203/240.kif +30 -11
  383. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/256/345/256/211/346/265/201/350/242/226/351/243/233/350/273/212/347/251/264/347/206/212.kif +17 -4
  384. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/245/240/346/234/254/345/274/217/347/237/263/347/224/260/346/265/201.kif +34 -11
  385. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/245/265/351/231/220/346/227/251/347/271/260/343/202/212/351/212/200.kif +24 -6
  386. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/250/252/346/255/251/345/217/226/343/202/212.kif +23 -4
  387. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/270/205/351/207/216/346/265/201/345/262/220/351/230/234/346/210/246/346/263/225.kif +19 -5
  388. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/216/211/351/240/255/344/275/215/345/217/226/343/202/212.kif +15 -5
  389. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/216/211/351/240/255/351/212/200.kif +34 -9
  390. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/256/343/201/217/343/202/211/343/201/276/343/201/227/346/210/246/346/263/225.kif +11 -1
  391. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/346/214/257/343/202/212/351/243/233/350/273/212.kif +1 -1
  392. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/346/216/233/343/201/213/343/202/212.kif +12 -3
  393. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/346/216/233/343/201/213/343/202/212/346/243/222/351/212/200.kif +21 -6
  394. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/346/250/252/346/255/251/345/217/226/343/202/212.kif +33 -6
  395. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/347/255/213/351/201/225/343/201/204/350/247/222.kif +23 -11
  396. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/234/237/351/203/250/346/265/201.kif +45 -17
  397. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211.kif +36 -0
  398. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/342/226/2623/344/270/203/351/212/200/346/210/246/346/263/225.kif +31 -8
  399. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/344/270/255/351/243/233/350/273/212.kif +15 -4
  400. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/345/217/263/347/216/211.kif +17 -5
  401. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/210/246/346/263/225}//347/237/242/345/200/211/346/226/26024/346/211/213/347/265/204.kif +19 -6
  402. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/346/227/24724/346/211/213/347/265/204.kif +53 -0
  403. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/346/243/222/351/212/200.kif +29 -10
  404. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/346/265/201/344/270/255/351/243/233/350/273/212.kif +13 -3
  405. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/263/347/224/260/346/265/201.kif +42 -14
  406. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/263/347/224/260/346/265/201/346/234/254/347/265/204/343/201/277.kif +24 -4
  407. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/245/236/345/220/211/346/265/201/344/270/211/351/226/223/351/243/233/350/273/212.kif +13 -4
  408. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/250/262/345/272/255/346/210/246/346/263/225.kif +14 -5
  409. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/251/264/350/247/222/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +13 -4
  410. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/251/264/350/247/222/346/210/246/346/263/225.kif +42 -12
  411. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/251/272/344/270/255/346/210/246.kif +306 -0
  412. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/253/213/347/237/263/346/265/201/345/233/233/351/226/223/351/243/233/350/273/212.kif +24 -5
  413. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/253/257/346/243/222/351/212/200.kif +22 -6
  414. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/253/271/351/203/250/343/202/271/343/203/232/343/202/267/343/203/243/343/203/253.kif +25 -5
  415. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/255/213/351/201/225/343/201/204/350/247/222.kif +24 -9
  416. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/255/213/351/201/225/343/201/204/350/247/222/350/237/273/345/234/260/347/215/204/346/210/246/346/263/225.kif +19 -9
  417. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/255/213/351/201/225/343/201/204/350/247/222/351/230/252/347/224/260/346/265/201.kif +63 -0
  418. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/261/263/351/225/267/346/265/201/346/200/245/346/210/246/347/237/242/345/200/211.kif +55 -18
  419. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/263/270/350/260/267/346/265/201/345/217/263/347/216/211.kif +37 -11
  420. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/276/275/347/224/237/345/274/217/350/242/226/351/243/233/350/273/212.kif +39 -10
  421. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/276/275/347/224/237/346/265/201/345/217/263/347/216/211.kif +24 -7
  422. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/200/200/351/276/215/343/201/262/343/201/255/343/202/212/351/243/233/350/273/212.kif +14 -3
  423. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/200/200/351/276/215/345/233/233/351/226/223/351/243/233/350/273/212.kif +16 -6
  424. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/204/207/343/202/267/343/202/271/343/203/206/343/203/240.kif +32 -4
  425. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/205/260/346/216/233/343/201/221/351/207/221.kif +29 -0
  426. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/205/260/346/216/233/343/201/221/351/212/200.kif +20 -5
  427. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/212/261/346/235/221/346/265/201/345/220/215/345/217/244/345/261/213/346/210/246/346/263/225.kif +24 -10
  428. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/213/261/343/201/241/343/202/203/343/202/223/346/265/201/344/270/255/351/243/233/350/273/212.kif +40 -8
  429. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/213/261/346/230/245/346/265/201/343/201/213/343/201/276/343/201/204/343/201/237/343/201/241/346/210/246/346/263/225.kif +37 -13
  430. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/213/261/346/230/245/346/265/201/343/202/253/343/203/241/343/203/254/343/202/252/343/203/263.kif +38 -9
  431. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/217/205/344/272/225/346/265/201/344/270/211/351/226/223/351/243/233/350/273/212.kif +18 -4
  432. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/217/234/343/200/205/346/262/263/346/265/201/342/226/2634/345/233/233/350/247/222.kif +10 -2
  433. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/217/234/343/200/205/346/262/263/346/265/201/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +43 -14
  434. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/227/244/344/272/225/343/202/267/343/202/271/343/203/206/343/203/240.kif +25 -5
  435. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/227/244/346/243/256/346/265/201/346/200/245/346/210/246/347/237/242/345/200/211.kif +25 -6
  436. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/242/226/351/243/233/350/273/212.kif +56 -15
  437. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/243/217/343/202/242/343/203/222/343/203/253/346/210/246/346/263/225.kif +13 -4
  438. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/344/272/244/346/217/233/346/214/257/343/202/212/351/243/233/350/273/212.kif +32 -10
  439. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/346/217/233/343/202/217/343/202/212.kif +19 -5
  440. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/346/217/233/343/202/217/343/202/212/345/217/263/347/216/211.kif +42 -15
  441. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/346/217/233/343/202/217/343/202/212/346/227/251/347/271/260/343/202/212/351/212/200.kif +47 -16
  442. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/346/217/233/343/202/217/343/202/212/346/243/222/351/212/200.kif +29 -9
  443. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/346/217/233/343/202/217/343/202/212/350/205/260/346/216/233/343/201/221/351/212/200.kif +23 -6
  444. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/346/217/233/343/202/217/343/202/212/350/205/260/346/216/233/343/201/221/351/212/200/346/227/247/345/236/213.kif +23 -6
  445. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/351/201/223/343/202/252/343/203/274/343/203/227/343/203/263/345/233/233/351/226/223/351/243/233/350/273/212.kif +12 -3
  446. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/351/240/255/346/255/251/346/210/246/346/263/225.kif +37 -10
  447. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/266/205/346/200/245/346/210/246.kif +24 -5
  448. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/266/205/351/200/237/342/226/2623/344/270/203/351/212/{200/346/210/246/346/263/225.kif → 200.kif} +32 -11
  449. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/200/206/346/243/222/351/212/200.kif +17 -4
  450. data/lib/bioshogi/analysis//346/210/246/346/263/225//{345/257/276/347/237/242/345/200/211/346/200/245/346/210/246 → 351/200/237/346/224/273}/346/243/222/351/212/200.kif +39 -11
  451. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/201/240/345/261/261/346/265/201.kif +33 -8
  452. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/203/275/346/210/220/346/265/201/342/226/2633/344/270/200/351/207/221.kif +21 -5
  453. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/207/221/346/262/242/346/265/201.kif +10 -1
  454. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/207/221/347/204/241/345/217/214/346/200/245/346/210/246.kif +33 -8
  455. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/210/264/346/234/250/346/265/201/346/227/251/347/237/263/347/224/260.kif +26 -7
  456. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/212/200/351/233/262/351/233/200.kif +21 -8
  457. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/214/206/345/210/200/346/210/246/346/263/225.kif +22 -5
  458. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/216/226/351/216/214/351/212/200.kif +23 -6
  459. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/217/241/343/201/256/345/267/246/346/227/251/347/271/260/343/202/212/351/212/200.kif +103 -0
  460. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/226/223/345/256/256/344/271/205/345/244/242/346/265/201.kif +28 -6
  461. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/230/252/347/224/260/346/265/2012/346/211/213/347/233/256/342/226/2639/345/233/233/346/255/251.kif +10 -1
  462. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/230/252/347/224/260/346/265/201/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +27 -8
  463. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/230/277/344/271/205/346/264/245/346/265/201/346/200/245/346/210/246/347/237/242/345/200/211.kif +24 -8
  464. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/231/275/345/213/225/346/214/257/343/202/212/351/243/233/350/273/212.kif +9 -1
  465. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/200/345/210/272/343/201/227.kif +30 -11
  466. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/201/346/234/250/345/217/263/347/216/211.kif +38 -8
  467. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/201/346/234/250/346/210/246/346/263/225.kif +192 -0
  468. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/235/222/351/207/216/346/265/201.kif +20 -5
  469. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/242/250/350/273/212.kif +40 -8
  470. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/243/233/351/250/250/343/201/256/344/270/255/351/243/233/350/273/212/345/220/210/346/216/214/351/200/240/343/202/212.kif +28 -10
  471. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/243/257/345/263/266/346/265/201/345/274/225/343/201/215/350/247/222/346/210/246/346/263/225.kif +15 -5
  472. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/243/257/345/263/266/346/265/201/347/233/270/346/216/233/343/201/213/343/202/212/345/274/225/343/201/215/350/247/{222/346/210/246/346/263/225.kif → 222.kif} +21 -6
  473. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/253/230/347/224/260/346/265/201/345/267/246/347/216/211.kif +28 -8
  474. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/254/274/345/205/255/346/265/201/343/201/251/343/201/243/343/201/213/343/202/223/351/243/233/350/273/212.kif +25 -7
  475. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/254/274/346/256/272/343/201/227.kif +19 -4
  476. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/254/274/346/256/272/343/201/227/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +21 -6
  477. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/255/224/347/225/214/345/233/233/351/226/223/351/243/233/350/273/212.kif +13 -4
  478. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/263/245/345/210/272/343/201/227.kif +14 -5
  479. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/267/272/345/256/256/345/256/232/350/267/241.kif +23 -8
  480. data/lib/bioshogi/analysis//346/211/213/347/255/213/2/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210/91/343/201/256/351/243/233/343/201/257/343/203/255/343/202/261/343/203/203/343/203/210/343/201/256/344/270/200/351/203/250/343/201/250/350/246/213/343/201/252/343/201/225/343/201/252/343/201/204_/346/211/223/343/201/243/343/201/237/345/240/264/345/220/210.kif +30 -0
  481. data/lib/bioshogi/analysis//346/211/213/347/255/213/2/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210/91/343/201/256/351/243/233/343/201/257/343/203/255/343/202/261/343/203/203/343/203/210/343/201/256/344/270/200/351/203/250/343/201/250/350/246/213/343/201/252/343/201/225/343/201/252/343/201/204_/347/275/256/343/201/204/343/201/246/343/201/202/343/202/213/345/240/264/345/220/210.kif +30 -0
  482. data/lib/bioshogi/analysis//346/211/213/347/255/213/2/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210.kif +10 -5
  483. data/lib/bioshogi/analysis//346/211/213/347/255/213/3/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210.kif +10 -2
  484. data/lib/bioshogi/analysis//346/211/213/347/255/213/4/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210.kif +10 -2
  485. data/lib/bioshogi/analysis//346/211/213/347/255/213/5/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210.kif +10 -2
  486. data/lib/bioshogi/analysis//346/211/213/347/255/213/6/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210.kif +12 -5
  487. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/223/343/201/263/343/202/223/346/224/273/343/202/201.kif +13 -2
  488. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/237/343/201/231/343/201/215/343/201/256/350/247/222.kif +9 -0
  489. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/237/343/201/231/343/201/215/343/201/256/351/212/200.kif +9 -0
  490. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/237/343/201/237/343/201/215/343/201/256/346/255/251.kif +18 -11
  491. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/250/351/207/221/346/224/273/343/202/201.kif +50 -0
  492. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/265/343/202/223/343/201/251/343/201/227/343/201/256/346/241/202.kif +9 -0
  493. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/202/277/343/203/203/343/203/201/343/203/200/343/202/246/343/203/263.kif +58 -0
  494. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/217/343/203/203/343/203/201/351/226/211/351/216/226.kif +39 -0
  495. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/221/343/203/263/343/203/{204 → 206/343/202/243}/343/202/222/350/204/261/343/201/220.kif +12 -2
  496. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/221/343/203/263/343/203/211/343/203/251/343/201/256/346/255/251.kif +32 -0
  497. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/235/343/203/274/343/203/263/343/203/217/343/203/263/343/202/277/343/203/274.kif +53 -0
  498. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/236/343/203/240/343/202/267/343/201/256/343/201/250/351/207/221.kif +60 -0
  499. data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/237/343/203/213/343/203/236/343/203/252/343/202/271/343/203/210.kif +98 -0
  500. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//343/203/255/343/202/261/343/203/203/343/203/210.kif +10 -2
  501. data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/200/351/226/223/347/253/234.kif +9 -0
  502. data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/211/346/241/202/346/207/220/345/210/203.kif +50 -0
  503. data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/213/346/256/265/343/201/256/351/246/231.kif +9 -0
  504. data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/241/345/217/226/343/202/212.kif +30 -0
  505. data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/255/346/256/265/347/216/211.kif +34 -0
  506. data/lib/bioshogi/analysis//346/211/213/347/255/213//344/272/214/346/236/232/351/243/233/350/273/212.kif +75 -0
  507. data/lib/bioshogi/analysis//346/211/213/347/255/213//344/275/215/343/201/256/347/242/272/344/277/235.kif +9 -8
  508. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/205/245/347/216/211.kif +37 -0
  509. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/205/250/351/247/222.kif +50 -0
  510. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/211/262/343/202/212/346/211/223/343/201/241/343/201/256/351/212/200.kif +9 -0
  511. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/213/235/343/201/241/347/242/2725/344/270/211/343/201/250.kif +38 -0
  512. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/217/214/347/216/211/346/216/245/350/277/221.kif +43 -0
  513. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/217/214/347/253/234/345/217/214/351/246/254/351/231/243.kif +34 -0
  514. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/217/214/351/246/254/347/265/220/347/225/214.kif +36 -0
  515. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//345/220/212/343/202/213/343/201/227/346/241/202.kif +11 -2
  516. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//345/220/215/344/272/272/343/201/253/345/256/232/350/267/241/343/201/252/343/201/227.kif +30 -8
  517. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/234/237/344/270/213/345/272/247/343/201/256/346/255/251.kif +17 -3
  518. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/236/202/343/202/214/346/255/251.kif +9 -0
  519. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/240/205/351/231/243/343/201/256/351/207/221.kif +40 -0
  520. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/243/201/351/207/221.kif +30 -0
  521. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/243/201/351/212/200.kif +25 -0
  522. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//345/244/247/351/247/222/343/202/263/343/203/263/343/203/227/343/203/252/343/203/274/343/203/210.kif +36 -11
  523. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//345/244/247/351/247/222/345/205/250/343/203/226/343/203/203/343/203/201.kif +30 -9
  524. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/256/210/343/202/212/343/201/256/351/246/254.kif +46 -0
  525. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/260/201/351/246/231/351/200/243/350/210/236.kif +51 -0
  526. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/260/273/351/207/221.kif +13 -2
  527. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/260/273/351/212/200.kif +13 -6
  528. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/261/205/351/243/233/350/273/212/343/201/256/347/250/216/351/207/221.kif +12 -3
  529. data/lib/bioshogi/analysis//{345/202/231/350/200/203//350/203/214/346/260/264/343/201/256/351/231/243.kif → 346/211/213/347/255/213//345/261/215/343/201/256/350/210/236.kif} +31 -9
  530. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/271/275/351/234/212/350/247/222.kif +11 -7
  531. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/272/217/347/233/244/343/201/257/350/247/222/343/202/210/343/202/212/351/243/233/350/273/212.kif +38 -0
  532. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/272/217/347/233/244/343/201/257/351/243/233/350/273/212/343/202/210/343/202/212/350/247/222.kif +45 -0
  533. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/272/225/346/255/251/343/201/253/351/246/231.kif +49 -0
  534. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/200/245/346/211/200/343/201/256/346/241/202.kif +33 -0
  535. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/211/213/345/276/227.kif +34 -0
  536. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/211/213/346/220/215.kif +34 -0
  537. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/212/200/343/201/202/343/202/212/343/201/256/346/241/202.kif +57 -0
  538. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/216/247/343/201/210/343/201/256/346/241/202.kif +9 -0
  539. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/241/202/351/240/255/343/201/256/346/241/202.kif +36 -0
  540. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/241/202/351/240/255/343/201/256/347/216/211.kif +32 -0
  541. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/241/202/351/240/255/343/201/256/351/212/200.kif +9 -0
  542. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/241/202/351/240/255/346/224/273/343/202/201.kif +49 -0
  543. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/343/201/256/351/214/254/351/207/221/350/241/223/345/270/253.kif +50 -0
  544. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/345/210/207/343/202/214.kif +49 -0
  545. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/350/243/217/343/201/256/346/255/251.kif +35 -0
  546. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/350/243/217/343/201/256/351/246/231.kif +46 -0
  547. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/351/240/255/343/201/256/346/241/202.kif +13 -8
  548. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/265/256/343/201/215/351/243/233/350/273/212.kif +33 -0
  549. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/272/226/347/216/213/346/211/213/350/247/222.kif +30 -0
  550. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/272/226/347/216/213/346/211/213/351/243/233/350/273/212.kif +33 -0
  551. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/211/345/210/207/343/202/212.kif +29 -0
  552. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//347/216/211/345/215/230/351/250/216.kif +20 -4
  553. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/211/351/240/255/346/210/246.kif +35 -0
  554. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/211/351/240/255/346/224/273/343/202/201.kif +49 -0
  555. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/211/351/243/233/346/216/245/350/277/221.kif +36 -0
  556. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/213/346/211/213/350/247/222.kif +30 -0
  557. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/213/346/211/213/351/243/233/350/273/212.kif +34 -0
  558. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/224/260/346/245/275/345/210/272/343/201/227.kif +18 -6
  559. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//347/251/264/347/206/212/343/201/256/345/247/277/347/204/274/343/201/215.kif +33 -12
  560. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/251/264/347/206/212/345/206/215/347/224/237.kif +68 -0
  561. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/251/272/344/270/255/346/210/246.kif +32 -0
  562. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/252/201/343/201/215/346/215/250/343/201/246.kif +37 -0
  563. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/252/201/343/201/215/351/201/225/343/201/204/343/201/256/346/255/251.kif +33 -10
  564. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/253/234/345/210/207/343/202/212.kif +34 -0
  565. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/253/257/346/224/273/343/202/201.kif +34 -0
  566. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/253/257/347/216/211.kif +43 -0
  567. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/253/257/347/216/211/343/201/253/343/201/257/347/253/257/346/255/251.kif +13 -2
  568. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/266/231/343/201/216/346/241/202.kif +11 -2
  569. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/266/231/343/201/216/346/255/251.kif +13 -10
  570. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/202/251/351/207/221.kif +9 -0
  571. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/202/251/351/212/200.kif +9 -0
  572. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/205/271/351/207/221.kif +11 -0
  573. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/205/271/351/212/200.kif +15 -4
  574. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/207/252/351/231/243/350/247/222.kif +39 -0
  575. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/207/252/351/231/243/351/243/233/350/273/212.kif +39 -0
  576. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/223/213/346/255/251//351/212/200/343/201/253/343/202/210/343/202/213/350/223/213/346/255/251.kif +44 -0
  577. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/223/213/346/255/251.kif +64 -0
  578. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/270/347/216/211.kif +38 -0
  579. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/276/351/207/221.kif +13 -6
  580. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/276/351/212/200.kif +9 -0
  581. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/343/201/253/343/201/257/350/247/222.kif +36 -0
  582. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/343/201/253/343/201/257/351/243/233/350/273/212.kif +34 -0
  583. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/343/201/253/343/202/210/343/202/213/344/270/241/345/217/226/343/202/212.kif +30 -0
  584. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/344/270/215/346/210/220.kif +36 -0
  585. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/344/272/244/346/217/233.kif +34 -0
  586. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/345/210/207/343/202/212.kif +45 -0
  587. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/351/240/255/346/224/273/343/202/201.kif +85 -0
  588. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/267/263/343/201/255/351/201/225/343/201/204/343/201/256/346/241/202.kif +10 -0
  589. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/200/200/345/240/264/343/201/256/351/207/221.kif +34 -0
  590. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/200/243/346/211/223/343/201/256/346/255/251.kif +10 -0
  591. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/201/223/345/240/264/345/207/272/347/246/201.kif +28 -0
  592. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/201/240/350/246/213/343/201/256/350/247/222.kif +15 -10
  593. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//351/203/275/350/251/260/343/202/201.kif +27 -8
  594. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/207/221/345/272/225/343/201/256/346/255/251.kif +9 -0
  595. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/207/221/345/272/225/343/201/256/351/246/231.kif +35 -0
  596. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/207/221/351/212/200/343/202/263/343/203/263/343/203/227/343/203/252/343/203/274/343/203/210.kif +42 -0
  597. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/207/221/351/240/255/343/201/256/346/241/202.kif +13 -8
  598. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/212/200/343/201/260/343/201/225/343/201/277.kif +12 -1
  599. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/212/200/344/270/215/346/210/220.kif +48 -0
  600. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/212/200/345/206/240/343/201/256/345/260/217/351/203/250/345/261/213.kif +28 -11
  601. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/212/200/350/243/276/343/201/256/346/255/251.kif +39 -0
  602. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//351/233/252/351/232/240/350/251/260/343/202/201.kif +11 -4
  603. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/240/255/351/207/221.kif +9 -0
  604. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/240/255/351/212/200.kif +9 -0
  605. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/343/201/253/343/201/257/350/247/222.kif +34 -0
  606. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/343/201/253/343/201/257/351/243/233/350/273/212.kif +34 -0
  607. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/343/201/253/343/202/210/343/202/213/344/270/241/345/217/226/343/202/212.kif +30 -0
  608. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/344/270/215/346/210/220.kif +28 -0
  609. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/345/205/210/344/272/244/346/217/233.kif +40 -0
  610. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/345/210/207/343/202/212.kif +34 -0
  611. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/246/254/343/201/253/343/201/257/350/247/222.kif +36 -0
  612. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/246/254/343/201/253/343/201/257/351/243/233/350/273/212.kif +34 -0
  613. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/246/254/345/210/207/343/202/212.kif +34 -0
  614. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/247/222/343/201/256/346/214/201/343/201/241/350/205/220/343/202/214.kif +74 -0
  615. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/247/222/345/276/227/343/201/257/346/255/243/347/276/251.kif +60 -0
  616. data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//351/247/222/346/237/261.kif +42 -17
  617. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/253/230/350/267/263/343/201/263/343/201/256/346/241/202.kif +38 -0
  618. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/276/215/343/201/253/343/201/257/350/247/222.kif +34 -0
  619. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/276/215/343/201/253/343/201/257/351/243/233/350/273/212.kif +34 -0
  620. data/lib/bioshogi/board/basic.rb +5 -4
  621. data/lib/bioshogi/board/csa_formatter.rb +1 -0
  622. data/lib/bioshogi/board/{technique_matcher_methods.rb → detector_methods.rb} +1 -1
  623. data/lib/bioshogi/board/kakinoki_formatter.rb +1 -0
  624. data/lib/bioshogi/board/reader_methods.rb +1 -1
  625. data/lib/bioshogi/board_parser/compare_board_parser.rb +1 -1
  626. data/lib/bioshogi/board_parser/kakinoki_board_parser.rb +7 -3
  627. data/lib/bioshogi/board_parser.rb +1 -1
  628. data/lib/bioshogi/column_soldier_counter.rb +47 -0
  629. data/lib/bioshogi/container/core_methods.rb +36 -8
  630. data/lib/bioshogi/container/execute_methods.rb +32 -1
  631. data/lib/bioshogi/container/players_methods.rb +9 -12
  632. data/lib/bioshogi/container/serialize_methods.rb +7 -6
  633. data/lib/bioshogi/container.rb +8 -4
  634. data/lib/bioshogi/counter_hash.rb +1 -0
  635. data/lib/bioshogi/csa_header_info.rb +2 -1
  636. data/lib/bioshogi/dimension/base.rb +54 -12
  637. data/lib/bioshogi/dimension/column.rb +88 -61
  638. data/lib/bioshogi/dimension/dimension_info.rb +1 -1
  639. data/lib/bioshogi/dimension/row.rb +59 -10
  640. data/lib/bioshogi/{extreme_validator.rb → extreme_detect.rb} +37 -27
  641. data/lib/bioshogi/formatter/akf_builder.rb +9 -11
  642. data/lib/bioshogi/formatter/animation/animation_builder_timeout.rb +1 -1
  643. data/lib/bioshogi/formatter/animation/animation_mp4_builder.rb +1 -0
  644. data/lib/bioshogi/formatter/animation/demo_builder.rb +1 -1
  645. data/lib/bioshogi/formatter/animation/progress_cop.rb +1 -0
  646. data/lib/bioshogi/formatter/core.rb +85 -103
  647. data/lib/bioshogi/formatter/csa_builder.rb +30 -24
  648. data/lib/bioshogi/formatter/ki2_builder.rb +1 -1
  649. data/lib/bioshogi/formatter/kif_builder.rb +8 -10
  650. data/lib/bioshogi/formatter/kif_ki2_shared.rb +10 -17
  651. data/lib/bioshogi/formatter/runner.rb +4 -2
  652. data/lib/bioshogi/freq_piece_info.rb +72 -0
  653. data/lib/bioshogi/hand/drop.rb +1 -1
  654. data/lib/bioshogi/hand/move.rb +50 -1
  655. data/lib/bioshogi/hand/shared.rb +8 -12
  656. data/lib/bioshogi/hand_log.rb +3 -3
  657. data/lib/bioshogi/hand_logs_mod.rb +1 -1
  658. data/lib/bioshogi/input_adapter/abstract_adapter.rb +7 -1
  659. data/lib/bioshogi/input_adapter/ki2_adapter.rb +9 -9
  660. data/lib/bioshogi/input_adapter/sfen_adapter.rb +1 -1
  661. data/lib/bioshogi/input_adapter/shared_validation.rb +2 -4
  662. data/lib/bioshogi/input_parser.rb +1 -1
  663. data/lib/bioshogi/last_action_info.rb +83 -0
  664. data/lib/bioshogi/location.rb +1 -0
  665. data/lib/bioshogi/official_formatter.rb +8 -8
  666. data/lib/bioshogi/order_info.rb +2 -2
  667. data/lib/bioshogi/parser/base.rb +8 -8
  668. data/lib/bioshogi/parser/csa_parser.rb +6 -2
  669. data/lib/bioshogi/parser/header.rb +13 -0
  670. data/lib/bioshogi/parser/inspector.rb +10 -2
  671. data/lib/bioshogi/parser/kakinoki_methods.rb +10 -8
  672. data/lib/bioshogi/parser/ki2_parser.rb +4 -3
  673. data/lib/bioshogi/parser/kif_parser.rb +13 -11
  674. data/lib/bioshogi/parser/pi.rb +58 -21
  675. data/lib/bioshogi/parser/sfen_parser.rb +1 -0
  676. data/lib/bioshogi/parser.rb +5 -1
  677. data/lib/bioshogi/piece/piece_score.rb +8 -8
  678. data/lib/bioshogi/piece/piece_vector.rb +3 -2
  679. data/lib/bioshogi/piece.rb +33 -14
  680. data/lib/bioshogi/piece_box.rb +11 -3
  681. data/lib/bioshogi/place.rb +70 -11
  682. data/lib/bioshogi/player/other_methods.rb +36 -14
  683. data/lib/bioshogi/player/piece_box_methods.rb +1 -1
  684. data/lib/bioshogi/player/pressure_methods.rb +4 -4
  685. data/lib/bioshogi/player/soldier_methods.rb +21 -3
  686. data/lib/bioshogi/player.rb +5 -4
  687. data/lib/bioshogi/player_executor/base.rb +6 -5
  688. data/lib/bioshogi/preset_info.rb +55 -48
  689. data/lib/bioshogi/screen_image/board_methods.rb +5 -1
  690. data/lib/bioshogi/screen_image/piece_font_weight_info.rb +1 -1
  691. data/lib/bioshogi/screen_image/piece_image_info.rb +4 -4
  692. data/lib/bioshogi/sfen_importer.rb +2 -1
  693. data/lib/bioshogi/simple_model.rb +1 -1
  694. data/lib/bioshogi/soldier/detector_methods.rb +109 -0
  695. data/lib/bioshogi/soldier.rb +29 -8
  696. data/lib/bioshogi/soldier_box.rb +1 -0
  697. data/lib/bioshogi/soldier_walker.rb +1 -0
  698. data/lib/bioshogi/tasks/chore.rake +4 -0
  699. data/lib/bioshogi/tasks/extreme_detect.rake +7 -0
  700. data/lib/bioshogi/tasks/perf.rake +5 -0
  701. data/lib/bioshogi/tasks/rdoc.rake +11 -0
  702. data/lib/bioshogi/tasks/report.rake +7 -0
  703. data/lib/bioshogi/tasks/tactic.rake +5 -0
  704. data/lib/bioshogi/tasks/tactic_detector.rake +8 -0
  705. data/lib/bioshogi/v/preset_vectors.rb +101 -37
  706. data/lib/bioshogi/v.rb +1 -1
  707. data/lib/bioshogi/version.rb +1 -1
  708. data/lib/bioshogi.rb +14 -5
  709. data/rdoc/Bioshogi/AI/Brain.html +534 -0
  710. data/rdoc/Bioshogi/AI/Diver/Base.html +193 -0
  711. data/rdoc/Bioshogi/AI/Diver/NegaAlphaDiver.html +259 -0
  712. data/rdoc/Bioshogi/AI/Diver/NegaAlphaMateDiver.html +369 -0
  713. data/rdoc/Bioshogi/AI/Diver/NegaMaxDiver.html +196 -0
  714. data/rdoc/Bioshogi/AI/Diver/NegaScoutDiver.html +258 -0
  715. data/rdoc/Bioshogi/AI/Diver.html +101 -0
  716. data/rdoc/Bioshogi/AI/Evaluator/Base.html +253 -0
  717. data/rdoc/Bioshogi/AI/Evaluator/Level0.html +107 -0
  718. data/rdoc/Bioshogi/AI/Evaluator/Level1.html +107 -0
  719. data/rdoc/Bioshogi/AI/Evaluator/Level2.html +105 -0
  720. data/rdoc/Bioshogi/AI/Evaluator/Level3.html +212 -0
  721. data/rdoc/Bioshogi/AI/Evaluator/Level4.html +157 -0
  722. data/rdoc/Bioshogi/AI/Evaluator.html +114 -0
  723. data/rdoc/Bioshogi/AI/Versus.html +280 -0
  724. data/rdoc/Bioshogi/AI.html +556 -0
  725. data/rdoc/Bioshogi/AliasMod.html +204 -0
  726. data/rdoc/Bioshogi/AlredyPromoted.html +107 -0
  727. data/rdoc/Bioshogi/AmbiguousFormatError.html +107 -0
  728. data/rdoc/Bioshogi/Analysis/AbbrevExpander.html +259 -0
  729. data/rdoc/Bioshogi/Analysis/AnagumaDetector.html +243 -0
  730. data/rdoc/Bioshogi/Analysis/Atsumeruyo.html +211 -0
  731. data/rdoc/Bioshogi/Analysis/AttackInfo.html +157 -0
  732. data/rdoc/Bioshogi/Analysis/BoardPieceCountsMethods.html +285 -0
  733. data/rdoc/Bioshogi/Analysis/CaptureAnalyzer.html +225 -0
  734. data/rdoc/Bioshogi/Analysis/CaptureDetector.html +113 -0
  735. data/rdoc/Bioshogi/Analysis/ClusterScoreInfo.html +156 -0
  736. data/rdoc/Bioshogi/Analysis/ColumnSoldierCounterMethods.html +252 -0
  737. data/rdoc/Bioshogi/Analysis/CustomAnalyzer.html +214 -0
  738. data/rdoc/Bioshogi/Analysis/CustomDetectorInfo.html +156 -0
  739. data/rdoc/Bioshogi/Analysis/CustomDetectors/AnagumaDetector.html +243 -0
  740. data/rdoc/Bioshogi/Analysis/CustomDetectors/GyokutousenDetector.html +412 -0
  741. data/rdoc/Bioshogi/Analysis/CustomDetectors/HikakukoukanDetector.html +296 -0
  742. data/rdoc/Bioshogi/Analysis/CustomDetectors/HisyakakuKiruDetector.html +249 -0
  743. data/rdoc/Bioshogi/Analysis/CustomDetectors/KakukoukanDetector.html +259 -0
  744. data/rdoc/Bioshogi/Analysis/CustomDetectors/KakunihakakuDetector.html +268 -0
  745. data/rdoc/Bioshogi/Analysis/CustomDetectors/MagicSquareDetector.html +237 -0
  746. data/rdoc/Bioshogi/Analysis/CustomDetectors/NyuugyokuAnagumaDetector.html +338 -0
  747. data/rdoc/Bioshogi/Analysis/CustomDetectors/OutbreakDetector.html +216 -0
  748. data/rdoc/Bioshogi/Analysis/CustomDetectors.html +101 -0
  749. data/rdoc/Bioshogi/Analysis/CustomTriggerInfo.html +156 -0
  750. data/rdoc/Bioshogi/Analysis/DefenseInfo.html +114 -0
  751. data/rdoc/Bioshogi/Analysis/EveryAnalyzer.html +225 -0
  752. data/rdoc/Bioshogi/Analysis/EveryDetector.html +113 -0
  753. data/rdoc/Bioshogi/Analysis/ExecuterDsl.html +998 -0
  754. data/rdoc/Bioshogi/Analysis/FileList.html +158 -0
  755. data/rdoc/Bioshogi/Analysis/FileNormalizer/NormalizeOne.html +202 -0
  756. data/rdoc/Bioshogi/Analysis/FileNormalizer.html +148 -0
  757. data/rdoc/Bioshogi/Analysis/FinalizeTagDetector.html +413 -0
  758. data/rdoc/Bioshogi/Analysis/FinalizeTagFuncInfo.html +113 -0
  759. data/rdoc/Bioshogi/Analysis/FinalizeTagInfo.html +156 -0
  760. data/rdoc/Bioshogi/Analysis/GroupInfo.html +156 -0
  761. data/rdoc/Bioshogi/Analysis/HikakukoukanDetector.html +273 -0
  762. data/rdoc/Bioshogi/Analysis/HisyakakuKiruDetector.html +249 -0
  763. data/rdoc/Bioshogi/Analysis/HorseDetector.html +306 -0
  764. data/rdoc/Bioshogi/Analysis/KakukiriCanceler.html +242 -0
  765. data/rdoc/Bioshogi/Analysis/MagicSquareDetector.html +233 -0
  766. data/rdoc/Bioshogi/Analysis/MotionAnalyzer.html +262 -0
  767. data/rdoc/Bioshogi/Analysis/MotionDetector.html +156 -0
  768. data/rdoc/Bioshogi/Analysis/MotionTriggerTableBuilder.html +155 -0
  769. data/rdoc/Bioshogi/Analysis/NormalizeCheck.html +159 -0
  770. data/rdoc/Bioshogi/Analysis/NoteInfo.html +114 -0
  771. data/rdoc/Bioshogi/Analysis/OutbreakDetector.html +216 -0
  772. data/rdoc/Bioshogi/Analysis/PerformanceBenchmark.html +166 -0
  773. data/rdoc/Bioshogi/Analysis/PlayerMethods.html +336 -0
  774. data/rdoc/Bioshogi/Analysis/RocketDetector.html +252 -0
  775. data/rdoc/Bioshogi/Analysis/ShapeAnalyzer.html +478 -0
  776. data/rdoc/Bioshogi/Analysis/ShapeDetector.html +113 -0
  777. data/rdoc/Bioshogi/Analysis/ShapeInfo.html +156 -0
  778. data/rdoc/Bioshogi/Analysis/SoldierLookupTableMethods.html +285 -0
  779. data/rdoc/Bioshogi/Analysis/SoldierPlaceMethods.html +285 -0
  780. data/rdoc/Bioshogi/Analysis/StyleInfo.html +113 -0
  781. data/rdoc/Bioshogi/Analysis/SugatayakiDetector.html +426 -0
  782. data/rdoc/Bioshogi/Analysis/TacticDetector/SingleValidator.html +212 -0
  783. data/rdoc/Bioshogi/Analysis/TacticDetector.html +216 -0
  784. data/rdoc/Bioshogi/Analysis/TacticHitTurnTableGenerator.html +346 -0
  785. data/rdoc/Bioshogi/Analysis/TacticInfo.html +263 -0
  786. data/rdoc/Bioshogi/Analysis/TacticStat.html +151 -0
  787. data/rdoc/Bioshogi/Analysis/TagBundle/List.html +178 -0
  788. data/rdoc/Bioshogi/Analysis/TagBundle.html +689 -0
  789. data/rdoc/Bioshogi/Analysis/TagIndex.html +534 -0
  790. data/rdoc/Bioshogi/Analysis/TagReporter.html +257 -0
  791. data/rdoc/Bioshogi/Analysis/TechniqueInfo.html +114 -0
  792. data/rdoc/Bioshogi/Analysis/TriggerExpander.html +146 -0
  793. data/rdoc/Bioshogi/Analysis/UsedSoldierCounter.html +229 -0
  794. data/rdoc/Bioshogi/Analysis/XmotionAnalyzer.html +222 -0
  795. data/rdoc/Bioshogi/Analysis/XmotionDetectorInfo.html +204 -0
  796. data/rdoc/Bioshogi/Analysis/XmotionDetectors/HorseDetector.html +306 -0
  797. data/rdoc/Bioshogi/Analysis/XmotionDetectors/Outebisha0Detector.html +270 -0
  798. data/rdoc/Bioshogi/Analysis/XmotionDetectors/OutebishaDetector.html +497 -0
  799. data/rdoc/Bioshogi/Analysis/XmotionDetectors/OutekakuDetector.html +298 -0
  800. data/rdoc/Bioshogi/Analysis/XmotionDetectors/RocketDetector.html +252 -0
  801. data/rdoc/Bioshogi/Analysis/XmotionDetectors/WazaarinokeiDetector.html +276 -0
  802. data/rdoc/Bioshogi/Analysis/XmotionDetectors.html +101 -0
  803. data/rdoc/Bioshogi/Analysis.html +1369 -0
  804. data/rdoc/Bioshogi/Assertion.html +183 -0
  805. data/rdoc/Bioshogi/BeforePlaceNotFound.html +107 -0
  806. data/rdoc/Bioshogi/BioshogiError.html +105 -0
  807. data/rdoc/Bioshogi/Board/Basic.html +203 -0
  808. data/rdoc/Bioshogi/Board/CsaFormatter.html +198 -0
  809. data/rdoc/Bioshogi/Board/DetectorMethods.html +182 -0
  810. data/rdoc/Bioshogi/Board/KakinokiFormatter.html +191 -0
  811. data/rdoc/Bioshogi/Board/ReaderMethods.html +591 -0
  812. data/rdoc/Bioshogi/Board/UpdateMethods.html +406 -0
  813. data/rdoc/Bioshogi/Board.html +264 -0
  814. data/rdoc/Bioshogi/BoardParser/Base.html +282 -0
  815. data/rdoc/Bioshogi/BoardParser/CompareBoardParser.html +527 -0
  816. data/rdoc/Bioshogi/BoardParser/CsaBoardParser.html +214 -0
  817. data/rdoc/Bioshogi/BoardParser/KakinokiBoardParser.html +218 -0
  818. data/rdoc/Bioshogi/BoardParser/SfenBoardParser.html +205 -0
  819. data/rdoc/Bioshogi/BoardParser.html +178 -0
  820. data/rdoc/Bioshogi/BrainProcessingHeavy.html +107 -0
  821. data/rdoc/Bioshogi/CLI.html +116 -0
  822. data/rdoc/Bioshogi/ColumnSoldierCounter.html +299 -0
  823. data/rdoc/Bioshogi/CommonError.html +107 -0
  824. data/rdoc/Bioshogi/ConsumedTimeMinusError.html +107 -0
  825. data/rdoc/Bioshogi/Container/Basic.html +117 -0
  826. data/rdoc/Bioshogi/Container/CheckmateYomiage.html +282 -0
  827. data/rdoc/Bioshogi/Container/Fast.html +159 -0
  828. data/rdoc/Bioshogi/Container/Simple.html +160 -0
  829. data/rdoc/Bioshogi/Container.html +2166 -0
  830. data/rdoc/Bioshogi/Converter.html +226 -0
  831. data/rdoc/Bioshogi/CounterHash.html +226 -0
  832. data/rdoc/Bioshogi/CoverImage/Renderer.html +116 -0
  833. data/rdoc/Bioshogi/CoverImage.html +526 -0
  834. data/rdoc/Bioshogi/CsaHeaderInfo.html +228 -0
  835. data/rdoc/Bioshogi/DeadPieceRuleError.html +107 -0
  836. data/rdoc/Bioshogi/DifferentTurnCommonError.html +107 -0
  837. data/rdoc/Bioshogi/Dimension/Base.html +893 -0
  838. data/rdoc/Bioshogi/Dimension/CharInfo.html +156 -0
  839. data/rdoc/Bioshogi/Dimension/Column.html +873 -0
  840. data/rdoc/Bioshogi/Dimension/DimensionInfo.html +160 -0
  841. data/rdoc/Bioshogi/Dimension/ModuleMethods.html +244 -0
  842. data/rdoc/Bioshogi/Dimension/Row.html +932 -0
  843. data/rdoc/Bioshogi/Dimension.html +109 -0
  844. data/rdoc/Bioshogi/DoublePawnCommonError.html +107 -0
  845. data/rdoc/Bioshogi/ExtremeDetect.html +540 -0
  846. data/rdoc/Bioshogi/FileFormatError.html +107 -0
  847. data/rdoc/Bioshogi/Formatter/AkfBuilder.html +289 -0
  848. data/rdoc/Bioshogi/Formatter/Animation/AnimationApngBuilder.html +178 -0
  849. data/rdoc/Bioshogi/Formatter/Animation/AnimationGifBuilder.html +332 -0
  850. data/rdoc/Bioshogi/Formatter/Animation/AnimationMp4Builder.html +446 -0
  851. data/rdoc/Bioshogi/Formatter/Animation/AnimationWebpBuilder.html +177 -0
  852. data/rdoc/Bioshogi/Formatter/Animation/AnimationZipBuilder.html +277 -0
  853. data/rdoc/Bioshogi/Formatter/Animation/AudioThemeInfo.html +300 -0
  854. data/rdoc/Bioshogi/Formatter/Animation/DemoBuilder.html +150 -0
  855. data/rdoc/Bioshogi/Formatter/Animation/FfmpegError.html +105 -0
  856. data/rdoc/Bioshogi/Formatter/Animation/ProgressCop.html +522 -0
  857. data/rdoc/Bioshogi/Formatter/Animation/SerialFilenameGenerator.html +402 -0
  858. data/rdoc/Bioshogi/Formatter/Animation/SystemSupport.html +271 -0
  859. data/rdoc/Bioshogi/Formatter/Animation.html +509 -0
  860. data/rdoc/Bioshogi/Formatter/Core.html +1047 -0
  861. data/rdoc/Bioshogi/Formatter/CsaBuilder.html +314 -0
  862. data/rdoc/Bioshogi/Formatter/Ki2Builder.html +166 -0
  863. data/rdoc/Bioshogi/Formatter/KifBuilder.html +175 -0
  864. data/rdoc/Bioshogi/Formatter/Runner.html +249 -0
  865. data/rdoc/Bioshogi/Formatter.html +631 -0
  866. data/rdoc/Bioshogi/FreqPieceInfo.html +216 -0
  867. data/rdoc/Bioshogi/Hand/Drop.html +446 -0
  868. data/rdoc/Bioshogi/Hand/Move.html +668 -0
  869. data/rdoc/Bioshogi/Hand.html +551 -0
  870. data/rdoc/Bioshogi/HandLog.html +581 -0
  871. data/rdoc/Bioshogi/HandLogs.html +212 -0
  872. data/rdoc/Bioshogi/HoldPieceNotFound.html +107 -0
  873. data/rdoc/Bioshogi/HoldPieceNotFound2.html +107 -0
  874. data/rdoc/Bioshogi/IllegibleFormat.html +107 -0
  875. data/rdoc/Bioshogi/InputAdapter/AbstractAdapter.html +600 -0
  876. data/rdoc/Bioshogi/InputAdapter/CsaAdapter.html +348 -0
  877. data/rdoc/Bioshogi/InputAdapter/Ki2Adapter.html +346 -0
  878. data/rdoc/Bioshogi/InputAdapter/KifAdapter.html +322 -0
  879. data/rdoc/Bioshogi/InputAdapter/SfenAdapter.html +357 -0
  880. data/rdoc/Bioshogi/InputAdapter.html +614 -0
  881. data/rdoc/Bioshogi/InputParser.html +301 -0
  882. data/rdoc/Bioshogi/KanjiNumber.html +279 -0
  883. data/rdoc/Bioshogi/KeyNotFound.html +107 -0
  884. data/rdoc/Bioshogi/KifuFormatInfo.html +160 -0
  885. data/rdoc/Bioshogi/LastActionInfo.html +245 -0
  886. data/rdoc/Bioshogi/Location.html +744 -0
  887. data/rdoc/Bioshogi/MainClock.html +253 -0
  888. data/rdoc/Bioshogi/Media.html +576 -0
  889. data/rdoc/Bioshogi/MementoStackEmpty.html +107 -0
  890. data/rdoc/Bioshogi/MovableBattlerNotFound.html +107 -0
  891. data/rdoc/Bioshogi/MustNotHappen.html +107 -0
  892. data/rdoc/Bioshogi/NoPromotablePiece.html +107 -0
  893. data/rdoc/Bioshogi/NotFoundOnBoard.html +107 -0
  894. data/rdoc/Bioshogi/NotPromotable.html +107 -0
  895. data/rdoc/Bioshogi/OfficialFormatter.html +334 -0
  896. data/rdoc/Bioshogi/OrderInfo.html +113 -0
  897. data/rdoc/Bioshogi/Parser/Base.html +423 -0
  898. data/rdoc/Bioshogi/Parser/BodParser.html +105 -0
  899. data/rdoc/Bioshogi/Parser/CsaParser.html +227 -0
  900. data/rdoc/Bioshogi/Parser/Header.html +366 -0
  901. data/rdoc/Bioshogi/Parser/Inspector.html +233 -0
  902. data/rdoc/Bioshogi/Parser/Ki2Parser.html +174 -0
  903. data/rdoc/Bioshogi/Parser/KifParser.html +185 -0
  904. data/rdoc/Bioshogi/Parser/Pi.html +589 -0
  905. data/rdoc/Bioshogi/Parser/SfenParser.html +201 -0
  906. data/rdoc/Bioshogi/Parser/TimeParser.html +191 -0
  907. data/rdoc/Bioshogi/Parser.html +616 -0
  908. data/rdoc/Bioshogi/Piece/EkScoreInfo.html +123 -0
  909. data/rdoc/Bioshogi/Piece/PieceCsa.html +190 -0
  910. data/rdoc/Bioshogi/Piece/PiecePressure.html +156 -0
  911. data/rdoc/Bioshogi/Piece/PieceScale.html +113 -0
  912. data/rdoc/Bioshogi/Piece/PieceScore.html +240 -0
  913. data/rdoc/Bioshogi/Piece/PieceVector.html +200 -0
  914. data/rdoc/Bioshogi/Piece/YomiagePieceInfo.html +190 -0
  915. data/rdoc/Bioshogi/Piece.html +1317 -0
  916. data/rdoc/Bioshogi/PieceAlredyExist.html +107 -0
  917. data/rdoc/Bioshogi/PieceBox.html +791 -0
  918. data/rdoc/Bioshogi/PieceNotFound.html +107 -0
  919. data/rdoc/Bioshogi/PieceNotFoundOnBoard.html +107 -0
  920. data/rdoc/Bioshogi/Place.html +1467 -0
  921. data/rdoc/Bioshogi/Player/OtherMethods.html +395 -0
  922. data/rdoc/Bioshogi/Player/PieceBoxMethods.html +312 -0
  923. data/rdoc/Bioshogi/Player/PressureMethods.html +246 -0
  924. data/rdoc/Bioshogi/Player/SoldierMethods.html +420 -0
  925. data/rdoc/Bioshogi/Player.html +605 -0
  926. data/rdoc/Bioshogi/PlayerExecutor/Base.html +579 -0
  927. data/rdoc/Bioshogi/PlayerExecutor/Brain.html +107 -0
  928. data/rdoc/Bioshogi/PlayerExecutor/ErrorHandler.html +192 -0
  929. data/rdoc/Bioshogi/PlayerExecutor/Human.html +114 -0
  930. data/rdoc/Bioshogi/PlayerExecutor/WithoutAnalyzer.html +105 -0
  931. data/rdoc/Bioshogi/PlayerExecutor.html +101 -0
  932. data/rdoc/Bioshogi/PresetInfo.html +541 -0
  933. data/rdoc/Bioshogi/PromotedPiecePutOnError.html +107 -0
  934. data/rdoc/Bioshogi/PromotedPieceToNormalPiece.html +107 -0
  935. data/rdoc/Bioshogi/Rect.html +105 -0
  936. data/rdoc/Bioshogi/ReversePlayerPieceMoveError.html +107 -0
  937. data/rdoc/Bioshogi/RuleError.html +154 -0
  938. data/rdoc/Bioshogi/SamePlaceDifferent.html +107 -0
  939. data/rdoc/Bioshogi/SamePlayerBattlerOverwrideError.html +107 -0
  940. data/rdoc/Bioshogi/ScreenImage/ColorThemeInfo.html +410 -0
  941. data/rdoc/Bioshogi/ScreenImage/FontThemeInfo.html +231 -0
  942. data/rdoc/Bioshogi/ScreenImage/NureyonImageInfo.html +105 -0
  943. data/rdoc/Bioshogi/ScreenImage/PaletteInfo.html +156 -0
  944. data/rdoc/Bioshogi/ScreenImage/PieceFontWeightInfo.html +113 -0
  945. data/rdoc/Bioshogi/ScreenImage/PieceImageInfo.html +202 -0
  946. data/rdoc/Bioshogi/ScreenImage/Renderer.html +121 -0
  947. data/rdoc/Bioshogi/ScreenImage.html +3251 -0
  948. data/rdoc/Bioshogi/Sfen.html +722 -0
  949. data/rdoc/Bioshogi/SfenImporter.html +234 -0
  950. data/rdoc/Bioshogi/SimpleModel.html +152 -0
  951. data/rdoc/Bioshogi/Simulator.html +286 -0
  952. data/rdoc/Bioshogi/SingleClock.html +293 -0
  953. data/rdoc/Bioshogi/Soldier.html +1693 -0
  954. data/rdoc/Bioshogi/SoldierBox.html +270 -0
  955. data/rdoc/Bioshogi/SoldierWalker.html +195 -0
  956. data/rdoc/Bioshogi/SoldierWarpError.html +107 -0
  957. data/rdoc/Bioshogi/Source.html +232 -0
  958. data/rdoc/Bioshogi/Stat.html +117 -0
  959. data/rdoc/Bioshogi/SyntaxDefact.html +107 -0
  960. data/rdoc/Bioshogi/TurnInfo.html +449 -0
  961. data/rdoc/Bioshogi/UnconfirmedObject.html +107 -0
  962. data/rdoc/Bioshogi/V/OnceVector.html +150 -0
  963. data/rdoc/Bioshogi/V/PresetVectors.html +1284 -0
  964. data/rdoc/Bioshogi/V/RepeatVector.html +150 -0
  965. data/rdoc/Bioshogi/V.html +569 -0
  966. data/rdoc/Bioshogi/Yomiage/Formatter.html +298 -0
  967. data/rdoc/Bioshogi/Yomiage/KanjiInfo.html +113 -0
  968. data/rdoc/Bioshogi/Yomiage/NumberInfo.html +113 -0
  969. data/rdoc/Bioshogi/Yomiage.html +101 -0
  970. data/rdoc/Bioshogi.html +553 -0
  971. data/rdoc/Object.html +121 -0
  972. data/rdoc/created.rid +261 -0
  973. data/rdoc/css/fonts.css +167 -0
  974. data/rdoc/css/rdoc.css +668 -0
  975. data/rdoc/fonts/Lato-Light.ttf +0 -0
  976. data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
  977. data/rdoc/fonts/Lato-Regular.ttf +0 -0
  978. data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
  979. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  980. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  981. data/rdoc/images/add.png +0 -0
  982. data/rdoc/images/arrow_up.png +0 -0
  983. data/rdoc/images/brick.png +0 -0
  984. data/rdoc/images/brick_link.png +0 -0
  985. data/rdoc/images/bug.png +0 -0
  986. data/rdoc/images/bullet_black.png +0 -0
  987. data/rdoc/images/bullet_toggle_minus.png +0 -0
  988. data/rdoc/images/bullet_toggle_plus.png +0 -0
  989. data/rdoc/images/date.png +0 -0
  990. data/rdoc/images/delete.png +0 -0
  991. data/rdoc/images/find.png +0 -0
  992. data/rdoc/images/loadingAnimation.gif +0 -0
  993. data/rdoc/images/macFFBgHack.png +0 -0
  994. data/rdoc/images/package.png +0 -0
  995. data/rdoc/images/page_green.png +0 -0
  996. data/rdoc/images/page_white_text.png +0 -0
  997. data/rdoc/images/page_white_width.png +0 -0
  998. data/rdoc/images/plugin.png +0 -0
  999. data/rdoc/images/ruby.png +0 -0
  1000. data/rdoc/images/tag_blue.png +0 -0
  1001. data/rdoc/images/tag_green.png +0 -0
  1002. data/rdoc/images/transparent.png +0 -0
  1003. data/rdoc/images/wrench.png +0 -0
  1004. data/rdoc/images/wrench_orange.png +0 -0
  1005. data/rdoc/images/zoom.png +0 -0
  1006. data/rdoc/index.html +393 -0
  1007. data/rdoc/js/darkfish.js +120 -0
  1008. data/rdoc/js/navigation.js +105 -0
  1009. data/rdoc/js/navigation.js.gz +0 -0
  1010. data/rdoc/js/search.js +110 -0
  1011. data/rdoc/js/search_index.js +1 -0
  1012. data/rdoc/js/search_index.js.gz +0 -0
  1013. data/rdoc/js/searcher.js +229 -0
  1014. data/rdoc/js/searcher.js.gz +0 -0
  1015. data/rdoc/table_of_contents.html +7196 -0
  1016. data//347/275/256/343/201/215/346/217/233/343/201/210/346/216/250/345/245/250.txt +1 -1
  1017. metadata +542 -60
  1018. data/.travis.yml +0 -14
  1019. data/lib/bioshogi/analysis/analyzer.rb +0 -463
  1020. data/lib/bioshogi/analysis/chaos_info.rb +0 -17
  1021. data/lib/bioshogi/analysis/core_soldier_place_methods.rb +0 -58
  1022. data/lib/bioshogi/analysis/rocket_analyzer.rb +0 -104
  1023. data/lib/bioshogi/analysis/sect_info.rb +0 -13
  1024. data/lib/bioshogi/analysis/shape_info_relation.rb +0 -37
  1025. data/lib/bioshogi/analysis/skill_set.rb +0 -105
  1026. data/lib/bioshogi/analysis/technique_matcher_helper.rb +0 -8
  1027. data/lib/bioshogi/analysis/technique_verify_info.rb +0 -800
  1028. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/205/245/347/216/211.kif +0 -26
  1029. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/205/250/351/247/222.kif +0 -27
  1030. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/345/261/205/351/243/233/350/273/212.kif +0 -10
  1031. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/346/214/257/343/202/212/351/243/233/350/273/212.kif +0 -11
  1032. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/347/251/264/347/206/212.kif +0 -122
  1033. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/237/242/345/200/211/346/227/24724/346/211/213/347/265/204.kif +0 -39
  1034. data/lib/bioshogi/analysis//345/202/231/350/200/203//350/247/222/344/270/215/346/210/220.kif +0 -23
  1035. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/243/233/350/273/212/344/270/215/346/210/220.kif +0 -15
  1036. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/211/207/347/251/264/347/206/212.kif +0 -51
  1037. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/251/272/344/270/255/346/245/274/351/226/243.kif +0 -59
  1038. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/351/226/223/351/243/233/350/273/212/347/251/264/347/206/212.kif +0 -42
  1039. data/lib/bioshogi/formatter/last_action_info.rb +0 -81
  1040. data/lib/bioshogi/formatter/skill_embed.rb +0 -316
  1041. data/lib/bioshogi/formatter/style_embed.rb +0 -27
  1042. data/lib/bioshogi/piller_cop.rb +0 -47
  1043. data/lib/bioshogi/soldier/technique_matcher_methods.rb +0 -57
  1044. data/lib/bioshogi/tasks/extreme_validator.rake +0 -8
  1045. data/lib/bioshogi/tasks/tactic_validator.rake +0 -8
@@ -0,0 +1,3251 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+
8
+ <title>module Bioshogi::ScreenImage - RDoc Documentation</title>
9
+
10
+ <meta name="keywords" content="ruby,module,Bioshogi::ScreenImage">
11
+
12
+ <meta name="description" content="Documentation for the Bioshogi::ScreenImage module">
13
+
14
+ <script type="text/javascript">
15
+ var rdoc_rel_prefix = "../";
16
+ var index_rel_prefix = "../";
17
+ </script>
18
+
19
+ <script src="../js/navigation.js" defer></script>
20
+ <script src="../js/search.js" defer></script>
21
+ <script src="../js/search_index.js" defer></script>
22
+ <script src="../js/searcher.js" defer></script>
23
+ <script src="../js/darkfish.js" defer></script>
24
+
25
+ <link href="../css/fonts.css" rel="stylesheet">
26
+ <link href="../css/rdoc.css" rel="stylesheet">
27
+
28
+
29
+ <body id="top" role="document" class="module">
30
+ <div id="navigation-toggle" role="button" tabindex="0" aria-label="Toggle sidebar" aria-expanded="true" aria-controls="navigation">
31
+ <span aria-hidden="true">&#9776;</span>
32
+ </div>
33
+
34
+
35
+ <nav id="navigation" role="navigation">
36
+ <div id="project-navigation">
37
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
38
+ <h2>
39
+ <a href="../index.html" rel="home">Home</a>
40
+ </h2>
41
+
42
+ <div id="table-of-contents-navigation">
43
+ <a href="../table_of_contents.html#pages">Pages</a>
44
+ <a href="../table_of_contents.html#classes">Classes</a>
45
+ <a href="../table_of_contents.html#methods">Methods</a>
46
+ </div>
47
+ </div>
48
+
49
+ <div id="search-section" role="search" class="project-section initially-hidden">
50
+ <form action="#" method="get" accept-charset="utf-8">
51
+ <div id="search-field-wrapper">
52
+ <input id="search-field" role="combobox" aria-label="Search"
53
+ aria-autocomplete="list" aria-controls="search-results"
54
+ type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false"
55
+ title="Type to search, Up and Down to navigate, Enter to load">
56
+ </div>
57
+
58
+ <ul id="search-results" aria-label="Search Results"
59
+ aria-busy="false" aria-expanded="false"
60
+ aria-atomic="false" class="initially-hidden"></ul>
61
+ </form>
62
+ </div>
63
+
64
+ </div>
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+ <div class="nav-section">
73
+ <h3>Class Methods</h3>
74
+ <ul class="link-list" role="directory">
75
+ <li ><a href="#method-c-new">new</a></li>
76
+ <li ><a href="#method-c-renderer">renderer</a></li>
77
+ </ul>
78
+ </div>
79
+
80
+
81
+
82
+ <div class="nav-section">
83
+ <h3>Instance Methods</h3>
84
+ <ul class="link-list" role="directory">
85
+ <li ><a href="#method-i-board_layer_create">board_layer_create</a></li>
86
+ <li ><a href="#method-i-canvas_layer_create">canvas_layer_create</a></li>
87
+ <li ><a href="#method-i-cell_draw">cell_draw</a></li>
88
+ <li ><a href="#method-i-cell_h">cell_h</a></li>
89
+ <li ><a href="#method-i-cell_rect">cell_rect</a></li>
90
+ <li ><a href="#method-i-cell_vmin">cell_vmin</a></li>
91
+ <li ><a href="#method-i-cell_w">cell_w</a></li>
92
+ <li ><a href="#method-i-cell_walker">cell_walker</a></li>
93
+ <li ><a href="#method-i-center">center</a></li>
94
+ <li ><a href="#method-i-char_draw">char_draw</a></li>
95
+ <li ><a href="#method-i-clear_all">clear_all</a></li>
96
+ <li ><a href="#method-i-condition_then_color_negate">condition_then_color_negate</a></li>
97
+ <li ><a href="#method-i-condition_then_flip">condition_then_flip</a></li>
98
+ <li ><a href="#method-i-current_place">current_place</a></li>
99
+ <li ><a href="#method-i-d">d</a></li>
100
+ <li class="calls-super" ><a href="#method-i-default_params">default_params</a></li>
101
+ <li ><a href="#method-i-display">display</a></li>
102
+ <li ><a href="#method-i-draw_context">draw_context</a></li>
103
+ <li ><a href="#method-i-dynamic_layer_setup">dynamic_layer_setup</a></li>
104
+ <li ><a href="#method-i-ext_name">ext_name</a></li>
105
+ <li ><a href="#method-i-face_pentagon_color">face_pentagon_color</a></li>
106
+ <li ><a href="#method-i-face_pentagon_draw">face_pentagon_draw</a></li>
107
+ <li ><a href="#method-i-face_pentagon_scale">face_pentagon_scale</a></li>
108
+ <li ><a href="#method-i-face_pentagon_stroke_width">face_pentagon_stroke_width</a></li>
109
+ <li ><a href="#method-i-image_basename">image_basename</a></li>
110
+ <li ><a href="#method-i-image_format">image_format</a></li>
111
+ <li ><a href="#method-i-image_rect">image_rect</a></li>
112
+ <li ><a href="#method-i-inner_frame_draw">inner_frame_draw</a></li>
113
+ <li ><a href="#method-i-inner_frame_lattice_color">inner_frame_lattice_color</a></li>
114
+ <li ><a href="#method-i-inner_frame_stroke_color">inner_frame_stroke_color</a></li>
115
+ <li ><a href="#method-i-inner_frame_stroke_width">inner_frame_stroke_width</a></li>
116
+ <li ><a href="#method-i-lattice">lattice</a></li>
117
+ <li ><a href="#method-i-lattice_draw">lattice_draw</a></li>
118
+ <li ><a href="#method-i-lattice_layer_create">lattice_layer_create</a></li>
119
+ <li ><a href="#method-i-lattice_stroke_width">lattice_stroke_width</a></li>
120
+ <li ><a href="#method-i-line_draw">line_draw</a></li>
121
+ <li ><a href="#method-i-minus_one">minus_one</a></li>
122
+ <li ><a href="#method-i-next_build">next_build</a></li>
123
+ <li ><a href="#method-i-o">o</a></li>
124
+ <li ><a href="#method-i-origin_place">origin_place</a></li>
125
+ <li ><a href="#method-i-outer_bottom_right">outer_bottom_right</a></li>
126
+ <li ><a href="#method-i-outer_frame_padding">outer_frame_padding</a></li>
127
+ <li ><a href="#method-i-outer_frame_radius">outer_frame_radius</a></li>
128
+ <li ><a href="#method-i-outer_rect">outer_rect</a></li>
129
+ <li ><a href="#method-i-outer_top_left">outer_top_left</a></li>
130
+ <li ><a href="#method-i-pattern_layer_create">pattern_layer_create</a></li>
131
+ <li ><a href="#method-i-pentagon_box_debug">pentagon_box_debug</a></li>
132
+ <li ><a href="#method-i-pentagon_points">pentagon_points</a></li>
133
+ <li ><a href="#method-i-pentagon_real_points">pentagon_real_points</a></li>
134
+ <li ><a href="#method-i-piece_char_adjust">piece_char_adjust</a></li>
135
+ <li ><a href="#method-i-piece_count_bg_draw">piece_count_bg_draw</a></li>
136
+ <li ><a href="#method-i-piece_count_draw">piece_count_draw</a></li>
137
+ <li ><a href="#method-i-piece_image_draw">piece_image_draw</a></li>
138
+ <li ><a href="#method-i-piece_image_info">piece_image_info</a></li>
139
+ <li ><a href="#method-i-piece_pentagon_draw">piece_pentagon_draw</a></li>
140
+ <li ><a href="#method-i-piece_pentagon_scale">piece_pentagon_scale</a></li>
141
+ <li ><a href="#method-i-ps">ps</a></li>
142
+ <li ><a href="#method-i-px">px</a></li>
143
+ <li ><a href="#method-i-render">render</a></li>
144
+ <li ><a href="#method-i-round_radious">round_radious</a></li>
145
+ <li ><a href="#method-i-soldier_draw">soldier_draw</a></li>
146
+ <li ><a href="#method-i-soldier_draw_all">soldier_draw_all</a></li>
147
+ <li ><a href="#method-i-soldier_draw_by_char">soldier_draw_by_char</a></li>
148
+ <li ><a href="#method-i-soldier_draw_by_image">soldier_draw_by_image</a></li>
149
+ <li ><a href="#method-i-soldier_font_scale">soldier_font_scale</a></li>
150
+ <li ><a href="#method-i-soldier_move_cell_draw">soldier_move_cell_draw</a></li>
151
+ <li ><a href="#method-i-soldier_name">soldier_name</a></li>
152
+ <li ><a href="#method-i-stand_draw">stand_draw</a></li>
153
+ <li ><a href="#method-i-star_draw">star_draw</a></li>
154
+ <li ><a href="#method-i-star_fill_color">star_fill_color</a></li>
155
+ <li ><a href="#method-i-texture_image">texture_image</a></li>
156
+ <li ><a href="#method-i-to_blob_binary">to_blob_binary</a></li>
157
+ <li ><a href="#method-i-to_png24_binary">to_png24_binary</a></li>
158
+ <li ><a href="#method-i-to_write_binary">to_write_binary</a></li>
159
+ <li ><a href="#method-i-top_left">top_left</a></li>
160
+ <li ><a href="#method-i-transparent_layer">transparent_layer</a></li>
161
+ <li ><a href="#method-i-turn_draw">turn_draw</a></li>
162
+ <li ><a href="#method-i-v_bottom_right_outer">v_bottom_right_outer</a></li>
163
+ <li ><a href="#method-i-v_top_left_outer">v_top_left_outer</a></li>
164
+ <li ><a href="#method-i-vmin">vmin</a></li>
165
+ <li ><a href="#method-i-with_shadow">with_shadow</a></li>
166
+ <li ><a href="#method-i-with_shadow_only_font_pice">with_shadow_only_font_pice</a></li>
167
+ </ul>
168
+ </div>
169
+
170
+
171
+
172
+ <footer id="validator-badges" role="contentinfo">
173
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
174
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.10.0.
175
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
176
+ </footer>
177
+
178
+ </nav>
179
+
180
+ <main role="main" aria-labelledby="module-Bioshogi::ScreenImage">
181
+ <h1 id="module-Bioshogi::ScreenImage" class="anchor-link module">
182
+ module Bioshogi::ScreenImage
183
+ </h1>
184
+
185
+ <section class="description">
186
+
187
+ </section>
188
+
189
+ <section id="5Buntitled-5D" class="documentation-section anchor-link">
190
+
191
+
192
+
193
+
194
+
195
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section anchor-link">
196
+ <header>
197
+ <h3>Public Class Methods</h3>
198
+ </header>
199
+
200
+ <div id="method-c-new" class="method-detail anchor-link ">
201
+ <div class="method-header">
202
+ <div class="method-heading">
203
+ <a href="#method-c-new" title="Link to this method">
204
+ <span class="method-name">new</span>
205
+ <span class="method-args">(container, params = {})</span>
206
+ </a>
207
+ </div>
208
+ </div>
209
+
210
+ <div class="method-controls">
211
+ <details class="method-source-toggle">
212
+ <summary>Source</summary>
213
+ </details>
214
+ </div>
215
+
216
+ <div class="method-description">
217
+ <div class="method-source-code" id="new-source">
218
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 90</span>
219
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">container</span>, <span class="ruby-identifier">params</span> = {})
220
+ <span class="ruby-comment"># params.assert_valid_keys(default_params.keys)</span>
221
+
222
+ <span class="ruby-ivar">@container</span> = <span class="ruby-identifier">container</span>
223
+ <span class="ruby-ivar">@params</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">default_params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">params</span>)
224
+
225
+ <span class="ruby-comment"># 一つ一つのパラメータを設定するのは大変である</span>
226
+ <span class="ruby-comment"># そこで以下を設定するとまとまったパラメータを一気に設定する</span>
227
+ <span class="ruby-comment"># - color_theme_key</span>
228
+ <span class="ruby-comment"># - font_theme_key</span>
229
+ <span class="ruby-comment"># - piece_font_weight_key</span>
230
+
231
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">e</span> = <span class="ruby-constant">ColorThemeInfo</span>.<span class="ruby-identifier">lookup</span>(<span class="ruby-ivar">@params</span>[<span class="ruby-value">:color_theme_key</span>])
232
+ <span class="ruby-ivar">@params</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">e</span>.<span class="ruby-identifier">to_params</span>)
233
+ <span class="ruby-keyword">end</span>
234
+
235
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">e</span> = <span class="ruby-constant">FontThemeInfo</span>.<span class="ruby-identifier">lookup</span>(<span class="ruby-ivar">@params</span>[<span class="ruby-value">:font_theme_key</span>])
236
+ <span class="ruby-ivar">@params</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">e</span>.<span class="ruby-identifier">to_params</span>)
237
+ <span class="ruby-keyword">end</span>
238
+
239
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">e</span> = <span class="ruby-constant">PieceFontWeightInfo</span>.<span class="ruby-identifier">lookup</span>(<span class="ruby-ivar">@params</span>[<span class="ruby-value">:piece_font_weight_key</span>])
240
+ <span class="ruby-ivar">@params</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">e</span>.<span class="ruby-identifier">to_params</span>)
241
+ <span class="ruby-keyword">end</span>
242
+
243
+ <span class="ruby-comment"># 最終的に調整したいときは renderer_override_params に指定するとすべてを上書きできる</span>
244
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">v</span> = <span class="ruby-ivar">@params</span>[<span class="ruby-value">:renderer_override_params</span>]
245
+ <span class="ruby-ivar">@params</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">v</span>)
246
+ <span class="ruby-keyword">end</span>
247
+
248
+ <span class="ruby-ivar">@build_counter</span> = <span class="ruby-value">0</span>
249
+ <span class="ruby-keyword">end</span></pre>
250
+ </div>
251
+
252
+ </div>
253
+
254
+
255
+ </div>
256
+
257
+ <div id="method-c-renderer" class="method-detail anchor-link ">
258
+ <div class="method-header">
259
+ <div class="method-heading">
260
+ <a href="#method-c-renderer" title="Link to this method">
261
+ <span class="method-name">renderer</span>
262
+ <span class="method-args">(...)</span>
263
+ </a>
264
+ </div>
265
+ </div>
266
+
267
+ <div class="method-controls">
268
+ <details class="method-source-toggle">
269
+ <summary>Source</summary>
270
+ </details>
271
+ </div>
272
+
273
+ <div class="method-description">
274
+ <div class="method-source-code" id="renderer-source">
275
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image.rb, line 7</span>
276
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">renderer</span>(<span class="ruby-operator">...</span>)
277
+ <span class="ruby-constant">Renderer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-operator">...</span>)
278
+ <span class="ruby-keyword">end</span></pre>
279
+ </div>
280
+
281
+ </div>
282
+
283
+
284
+ </div>
285
+
286
+ </section>
287
+
288
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section anchor-link">
289
+ <header>
290
+ <h3>Public Instance Methods</h3>
291
+ </header>
292
+
293
+ <div id="method-i-board_layer_create" class="method-detail anchor-link ">
294
+ <div class="method-header">
295
+ <div class="method-heading">
296
+ <a href="#method-i-board_layer_create" title="Link to this method">
297
+ <span class="method-name">board_layer_create</span>
298
+ <span class="method-args">()</span>
299
+ </a>
300
+ </div>
301
+ </div>
302
+
303
+ <div class="method-controls">
304
+ <details class="method-source-toggle">
305
+ <summary>Source</summary>
306
+ </details>
307
+ </div>
308
+
309
+ <div class="method-description">
310
+ <div class="method-source-code" id="board_layer_create-source">
311
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/board_methods.rb, line 66</span>
312
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">board_layer_create</span>
313
+ <span class="ruby-identifier">layer</span> = <span class="ruby-identifier">transparent_layer</span>(<span class="ruby-value">:s_board_layer</span>)
314
+ <span class="ruby-keyword">case</span>
315
+ <span class="ruby-keyword">when</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:fg_file</span>]
316
+ <span class="ruby-keyword">if</span> <span class="ruby-keyword">false</span>
317
+ <span class="ruby-comment"># 座標を見ずに画面中央に表示する場合</span>
318
+ <span class="ruby-identifier">layer</span>.<span class="ruby-identifier">composite!</span>(<span class="ruby-identifier">texture_image</span>, <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">CenterGravity</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">OverCompositeOp</span>)
319
+ <span class="ruby-keyword">else</span>
320
+ <span class="ruby-comment"># 自分で座標を指定すると1ドット左に寄っているように見えるので ceil で補正している</span>
321
+ <span class="ruby-comment"># https://rmagick.github.io/image1.html#composite</span>
322
+ <span class="ruby-identifier">layer</span>.<span class="ruby-identifier">composite!</span>(<span class="ruby-identifier">texture_image</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">outer_top_left</span>).<span class="ruby-identifier">collect</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:ceil</span>), <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">OverCompositeOp</span>)
323
+ <span class="ruby-keyword">end</span>
324
+ <span class="ruby-keyword">else</span>
325
+ <span class="ruby-identifier">draw_context</span>(<span class="ruby-identifier">layer</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
326
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:outer_frame_stroke_width</span>].<span class="ruby-identifier">nonzero?</span>
327
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke</span>(<span class="ruby-identifier">params</span>[<span class="ruby-value">:outer_frame_stroke_color</span>])
328
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke_width</span>(<span class="ruby-identifier">params</span>[<span class="ruby-value">:outer_frame_stroke_width</span>])
329
+ <span class="ruby-keyword">end</span>
330
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:outer_frame_fill_color</span>]
331
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">roundrectangle</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">outer_top_left</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">outer_bottom_right</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">round_radious</span>) <span class="ruby-comment"># stroke_width に応じてずれる心配なし</span>
332
+ <span class="ruby-keyword">end</span>
333
+ <span class="ruby-keyword">end</span>
334
+
335
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">v</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:cell_colors</span>].<span class="ruby-identifier">presence</span>
336
+ <span class="ruby-identifier">colors</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">v</span>).<span class="ruby-identifier">cycle</span>
337
+ <span class="ruby-identifier">cell_walker</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
338
+ <span class="ruby-identifier">color</span> = <span class="ruby-identifier">colors</span>.<span class="ruby-identifier">next</span>
339
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">color</span>
340
+ <span class="ruby-identifier">draw_context</span>(<span class="ruby-identifier">layer</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
341
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span> = <span class="ruby-identifier">color</span>
342
+ <span class="ruby-comment"># NOTE: 格子が1pxの場合に隙間ができるため minus_one しない方がよさそう</span>
343
+ <span class="ruby-keyword">if</span> <span class="ruby-keyword">false</span>
344
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">rectangle</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">minus_one</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-constant">V</span>.<span class="ruby-identifier">one</span>))) <span class="ruby-comment"># 隙間ができる</span>
345
+ <span class="ruby-keyword">else</span>
346
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">rectangle</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-constant">V</span>.<span class="ruby-identifier">one</span>)) <span class="ruby-comment"># 正確ではないが隙間ができない</span>
347
+ <span class="ruby-keyword">end</span>
348
+ <span class="ruby-keyword">end</span>
349
+ <span class="ruby-keyword">end</span>
350
+ <span class="ruby-keyword">end</span>
351
+ <span class="ruby-keyword">end</span>
352
+
353
+ <span class="ruby-identifier">with_shadow</span>(<span class="ruby-identifier">layer</span>)
354
+ <span class="ruby-keyword">end</span></pre>
355
+ </div>
356
+ <p>盤 padding を入れる場合 or 盤画像</p>
357
+ </div>
358
+
359
+
360
+ </div>
361
+
362
+ <div id="method-i-canvas_layer_create" class="method-detail anchor-link ">
363
+ <div class="method-header">
364
+ <div class="method-heading">
365
+ <a href="#method-i-canvas_layer_create" title="Link to this method">
366
+ <span class="method-name">canvas_layer_create</span>
367
+ <span class="method-args">()</span>
368
+ </a>
369
+ </div>
370
+ </div>
371
+
372
+ <div class="method-controls">
373
+ <details class="method-source-toggle">
374
+ <summary>Source</summary>
375
+ </details>
376
+ </div>
377
+
378
+ <div class="method-description">
379
+ <div class="method-source-code" id="canvas_layer_create-source">
380
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 164</span>
381
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">canvas_layer_create</span>
382
+ <span class="ruby-keyword">case</span>
383
+ <span class="ruby-keyword">when</span> <span class="ruby-keyword">false</span>
384
+ <span class="ruby-comment"># layer = Magick::Image.read(&quot;logo:&quot;).first</span>
385
+ <span class="ruby-identifier">layer</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">ASSETS_DIR</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;images/matrix_1024x768.png&quot;</span>)).<span class="ruby-identifier">first</span>
386
+ <span class="ruby-identifier">layer</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">Pathname</span>(<span class="ruby-string">&quot;~/Pictures/ぱくたそ/IS107112702_TP_V.jpg&quot;</span>).<span class="ruby-identifier">expand_path</span>).<span class="ruby-identifier">first</span>
387
+ <span class="ruby-identifier">layer</span> = <span class="ruby-constant">CanvasPattern</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:pattern_checker_grey_dark</span>).<span class="ruby-identifier">func</span>(<span class="ruby-keyword">self</span>).<span class="ruby-identifier">copy</span>
388
+ <span class="ruby-identifier">layer</span>.<span class="ruby-identifier">resize!</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">image_rect</span>) <span class="ruby-comment"># 200 ms</span>
389
+ <span class="ruby-comment"># layer.blur_image(20.0, 10.0)</span>
390
+ <span class="ruby-comment"># layer = layer.emboss</span>
391
+ <span class="ruby-comment"># layer = Magick::Image.read(&quot;netscape:&quot;).first.resize(*image_rect)</span>
392
+ <span class="ruby-identifier">layer</span> = <span class="ruby-identifier">condition_then_flip</span>(<span class="ruby-identifier">layer</span>) <span class="ruby-comment"># 全体を反転するので背景だけ反転しておくことで元に戻る</span>
393
+ <span class="ruby-keyword">when</span> <span class="ruby-identifier">v</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:bg_file</span>]
394
+ <span class="ruby-identifier">layer</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">v</span>).<span class="ruby-identifier">first</span>
395
+ <span class="ruby-comment"># layer.resize_to_fit!(*image_rect) # 指定したサイズより(画像が小さいと)画像のサイズになる</span>
396
+ <span class="ruby-identifier">layer</span>.<span class="ruby-identifier">resize_to_fill!</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">image_rect</span>) <span class="ruby-comment"># アス比を維持して中央を切り取る</span>
397
+ <span class="ruby-comment"># layer.resize!(*image_rect) # 200 ms</span>
398
+ <span class="ruby-identifier">layer</span> = <span class="ruby-identifier">condition_then_flip</span>(<span class="ruby-identifier">layer</span>) <span class="ruby-comment"># 全体を反転するので背景だけ反転しておくことで元に戻る</span>
399
+ <span class="ruby-keyword">else</span>
400
+ <span class="ruby-identifier">layer</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">image_rect</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
401
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">background_color</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:canvas_bg_color</span>]
402
+ <span class="ruby-keyword">end</span>
403
+ <span class="ruby-keyword">end</span>
404
+
405
+ <span class="ruby-comment"># 白黒の場合 GRAYColorspace になっていてこれに盤を重ねると白黒になってしまう、のを防ぐ</span>
406
+ <span class="ruby-identifier">layer</span>.<span class="ruby-identifier">colorspace</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">SRGBColorspace</span>
407
+
408
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span> { <span class="ruby-string">&quot;canvas_layer_create for s_canvas_layer&quot;</span> }
409
+
410
+ <span class="ruby-identifier">layer</span>
411
+ <span class="ruby-keyword">end</span></pre>
412
+ </div>
413
+
414
+ </div>
415
+
416
+
417
+ </div>
418
+
419
+ <div id="method-i-cell_draw" class="method-detail anchor-link ">
420
+ <div class="method-header">
421
+ <div class="method-heading">
422
+ <a href="#method-i-cell_draw" title="Link to this method">
423
+ <span class="method-name">cell_draw</span>
424
+ <span class="method-args">(g, v)</span>
425
+ </a>
426
+ </div>
427
+ </div>
428
+
429
+ <div class="method-controls">
430
+ <details class="method-source-toggle">
431
+ <summary>Source</summary>
432
+ </details>
433
+ </div>
434
+
435
+ <div class="method-description">
436
+ <div class="method-source-code" id="cell_draw-source">
437
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 245</span>
438
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">cell_draw</span>(<span class="ruby-identifier">g</span>, <span class="ruby-identifier">v</span>)
439
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">v</span>
440
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">rectangle</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-constant">V</span>.<span class="ruby-identifier">one</span>))
441
+ <span class="ruby-keyword">end</span>
442
+ <span class="ruby-keyword">end</span></pre>
443
+ </div>
444
+
445
+ </div>
446
+
447
+
448
+ </div>
449
+
450
+ <div id="method-i-cell_h" class="method-detail anchor-link ">
451
+ <div class="method-header">
452
+ <div class="method-heading">
453
+ <a href="#method-i-cell_h" title="Link to this method">
454
+ <span class="method-name">cell_h</span>
455
+ <span class="method-args">()</span>
456
+ </a>
457
+ </div>
458
+ </div>
459
+
460
+ <div class="method-controls">
461
+ <details class="method-source-toggle">
462
+ <summary>Source</summary>
463
+ </details>
464
+ </div>
465
+
466
+ <div class="method-description">
467
+ <div class="method-source-code" id="cell_h-source">
468
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 263</span>
469
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">cell_h</span>
470
+ <span class="ruby-ivar">@cell_h</span> <span class="ruby-operator">||=</span> (<span class="ruby-identifier">vmin</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:aspect_ratio_h</span>]) <span class="ruby-operator">/</span> <span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">h</span>
471
+ <span class="ruby-keyword">end</span></pre>
472
+ </div>
473
+
474
+ </div>
475
+
476
+
477
+ </div>
478
+
479
+ <div id="method-i-cell_rect" class="method-detail anchor-link ">
480
+ <div class="method-header">
481
+ <div class="method-heading">
482
+ <a href="#method-i-cell_rect" title="Link to this method">
483
+ <span class="method-name">cell_rect</span>
484
+ <span class="method-args">()</span>
485
+ </a>
486
+ </div>
487
+ </div>
488
+
489
+ <div class="method-controls">
490
+ <details class="method-source-toggle">
491
+ <summary>Source</summary>
492
+ </details>
493
+ </div>
494
+
495
+ <div class="method-description">
496
+ <div class="method-source-code" id="cell_rect-source">
497
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 276</span>
498
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">cell_rect</span>
499
+ <span class="ruby-ivar">@cell_rect</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Rect</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">cell_w</span>, <span class="ruby-identifier">cell_h</span>)
500
+ <span class="ruby-keyword">end</span></pre>
501
+ </div>
502
+
503
+ </div>
504
+
505
+
506
+ </div>
507
+
508
+ <div id="method-i-cell_vmin" class="method-detail anchor-link ">
509
+ <div class="method-header">
510
+ <div class="method-heading">
511
+ <a href="#method-i-cell_vmin" title="Link to this method">
512
+ <span class="method-name">cell_vmin</span>
513
+ <span class="method-args">()</span>
514
+ </a>
515
+ </div>
516
+ </div>
517
+
518
+ <div class="method-controls">
519
+ <details class="method-source-toggle">
520
+ <summary>Source</summary>
521
+ </details>
522
+ </div>
523
+
524
+ <div class="method-description">
525
+ <div class="method-source-code" id="cell_vmin-source">
526
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 268</span>
527
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">cell_vmin</span>
528
+ <span class="ruby-ivar">@cell_vmin</span> <span class="ruby-operator">||=</span> [<span class="ruby-identifier">cell_w</span>, <span class="ruby-identifier">cell_h</span>].<span class="ruby-identifier">min</span>
529
+ <span class="ruby-keyword">end</span></pre>
530
+ </div>
531
+ <p>セルサイズの短い方</p>
532
+ </div>
533
+
534
+
535
+ </div>
536
+
537
+ <div id="method-i-cell_w" class="method-detail anchor-link ">
538
+ <div class="method-header">
539
+ <div class="method-heading">
540
+ <a href="#method-i-cell_w" title="Link to this method">
541
+ <span class="method-name">cell_w</span>
542
+ <span class="method-args">()</span>
543
+ </a>
544
+ </div>
545
+ </div>
546
+
547
+ <div class="method-controls">
548
+ <details class="method-source-toggle">
549
+ <summary>Source</summary>
550
+ </details>
551
+ </div>
552
+
553
+ <div class="method-description">
554
+ <div class="method-source-code" id="cell_w-source">
555
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 259</span>
556
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">cell_w</span>
557
+ <span class="ruby-ivar">@cell_w</span> <span class="ruby-operator">||=</span> (<span class="ruby-identifier">vmin</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:aspect_ratio_w</span>]) <span class="ruby-operator">/</span> <span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">w</span>
558
+ <span class="ruby-keyword">end</span></pre>
559
+ </div>
560
+
561
+ </div>
562
+
563
+
564
+ </div>
565
+
566
+ <div id="method-i-cell_walker" class="method-detail anchor-link ">
567
+ <div class="method-header">
568
+ <div class="method-heading">
569
+ <a href="#method-i-cell_walker" title="Link to this method">
570
+ <span class="method-name">cell_walker</span>
571
+ <span class="method-args">() { |V| ... }</span>
572
+ </a>
573
+ </div>
574
+ </div>
575
+
576
+ <div class="method-controls">
577
+ <details class="method-source-toggle">
578
+ <summary>Source</summary>
579
+ </details>
580
+ </div>
581
+
582
+ <div class="method-description">
583
+ <div class="method-source-code" id="cell_walker-source">
584
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 219</span>
585
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">cell_walker</span>
586
+ <span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">h</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">y</span><span class="ruby-operator">|</span>
587
+ <span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">w</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
588
+ <span class="ruby-keyword">yield</span> <span class="ruby-constant">V</span>[<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>]
589
+ <span class="ruby-keyword">end</span>
590
+ <span class="ruby-keyword">end</span>
591
+ <span class="ruby-keyword">end</span></pre>
592
+ </div>
593
+
594
+ </div>
595
+
596
+
597
+ </div>
598
+
599
+ <div id="method-i-center" class="method-detail anchor-link ">
600
+ <div class="method-header">
601
+ <div class="method-heading">
602
+ <a href="#method-i-center" title="Link to this method">
603
+ <span class="method-name">center</span>
604
+ <span class="method-args">()</span>
605
+ </a>
606
+ </div>
607
+ </div>
608
+
609
+ <div class="method-controls">
610
+ <details class="method-source-toggle">
611
+ <summary>Source</summary>
612
+ </details>
613
+ </div>
614
+
615
+ <div class="method-description">
616
+ <div class="method-source-code" id="center-source">
617
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 280</span>
618
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">center</span>
619
+ <span class="ruby-ivar">@center</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">V</span>[<span class="ruby-ivar">@s_canvas_layer</span>.<span class="ruby-identifier">columns</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>, <span class="ruby-ivar">@s_canvas_layer</span>.<span class="ruby-identifier">rows</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>]
620
+ <span class="ruby-keyword">end</span></pre>
621
+ </div>
622
+
623
+ </div>
624
+
625
+
626
+ </div>
627
+
628
+ <div id="method-i-char_draw" class="method-detail anchor-link ">
629
+ <div class="method-header">
630
+ <div class="method-heading">
631
+ <a href="#method-i-char_draw" title="Link to this method">
632
+ <span class="method-name">char_draw</span>
633
+ <span class="method-args">(layer: nil, v:, text:, location:, font_scale:, color: params[:piece_font_color], bold: false, stroke_width: nil, stroke_color: nil)</span>
634
+ </a>
635
+ </div>
636
+ </div>
637
+
638
+ <div class="method-controls">
639
+ <details class="method-source-toggle">
640
+ <summary>Source</summary>
641
+ </details>
642
+ </div>
643
+
644
+ <div class="method-description">
645
+ <div class="method-source-code" id="char_draw-source">
646
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 79</span>
647
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">char_draw</span>(<span class="ruby-value">layer:</span> <span class="ruby-keyword">nil</span>, <span class="ruby-value">v:</span>, <span class="ruby-value">text:</span>, <span class="ruby-value">location:</span>, <span class="ruby-value">font_scale:</span>, <span class="ruby-value">color:</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_font_color</span>], <span class="ruby-value">bold:</span> <span class="ruby-keyword">false</span>, <span class="ruby-value">stroke_width:</span> <span class="ruby-keyword">nil</span>, <span class="ruby-value">stroke_color:</span> <span class="ruby-keyword">nil</span>)
648
+ <span class="ruby-identifier">g</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Draw</span>.<span class="ruby-identifier">new</span>
649
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">rotation</span> = <span class="ruby-identifier">location</span>.<span class="ruby-identifier">angle</span>
650
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">pointsize</span> = <span class="ruby-identifier">cell_w</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">font_scale</span>
651
+
652
+ <span class="ruby-identifier">font</span> = <span class="ruby-keyword">nil</span>
653
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">bold</span>
654
+ <span class="ruby-identifier">font</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:font_bold</span>]
655
+ <span class="ruby-keyword">end</span>
656
+ <span class="ruby-identifier">font</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:font_regular</span>]
657
+
658
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">font</span>
659
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">font</span> = <span class="ruby-identifier">font</span>.<span class="ruby-identifier">to_s</span>
660
+ <span class="ruby-keyword">end</span>
661
+
662
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">stroke_width</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">stroke_color</span>
663
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke_width</span> = <span class="ruby-identifier">stroke_width</span>
664
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke</span> = <span class="ruby-identifier">stroke_color</span>
665
+ <span class="ruby-keyword">end</span>
666
+
667
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span> = <span class="ruby-identifier">color</span>
668
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">gravity</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">CenterGravity</span> <span class="ruby-comment"># annotate で指定した範囲の中央に描画する</span>
669
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">layer</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">cell_rect</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span>), <span class="ruby-identifier">text</span>) <span class="ruby-comment"># annotate(image, w, h, x, y, text)</span>
670
+ <span class="ruby-keyword">end</span></pre>
671
+ </div>
672
+
673
+ </div>
674
+
675
+
676
+ </div>
677
+
678
+ <div id="method-i-clear_all" class="method-detail anchor-link ">
679
+ <div class="method-header">
680
+ <div class="method-heading">
681
+ <a href="#method-i-clear_all" title="Link to this method">
682
+ <span class="method-name">clear_all</span>
683
+ <span class="method-args">()</span>
684
+ </a>
685
+ </div>
686
+ </div>
687
+
688
+ <div class="method-controls">
689
+ <details class="method-source-toggle">
690
+ <summary>Source</summary>
691
+ </details>
692
+ </div>
693
+
694
+ <div class="method-description">
695
+ <div class="method-source-code" id="clear_all-source">
696
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/layer_methods.rb, line 16</span>
697
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">clear_all</span>
698
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">tagged</span>(<span class="ruby-value">:clear_all</span>) <span class="ruby-keyword">do</span>
699
+ [
700
+ <span class="ruby-value">:s_canvas_layer</span>,
701
+ <span class="ruby-value">:s_board_layer</span>,
702
+ <span class="ruby-value">:s_lattice_layer</span>,
703
+
704
+ <span class="ruby-value">:d_move_layer</span>,
705
+ <span class="ruby-value">:d_piece_layer</span>,
706
+ <span class="ruby-value">:d_piece_count_layer</span>,
707
+ <span class="ruby-value">:d_turn_layer</span>,
708
+
709
+ <span class="ruby-value">:last_rendered_image</span>,
710
+ ].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
711
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">v</span> = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-node">&quot;@#{e}&quot;</span>)
712
+ <span class="ruby-identifier">v</span>.<span class="ruby-identifier">destroy!</span>
713
+ <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-node">&quot;@#{e}&quot;</span>, <span class="ruby-keyword">nil</span>)
714
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span> { <span class="ruby-node">&quot;@#{e}.destroy!&quot;</span> }
715
+ <span class="ruby-keyword">end</span>
716
+ <span class="ruby-keyword">end</span>
717
+ <span class="ruby-keyword">end</span>
718
+ <span class="ruby-keyword">end</span></pre>
719
+ </div>
720
+ <p>いらない?</p>
721
+ </div>
722
+
723
+
724
+ </div>
725
+
726
+ <div id="method-i-condition_then_color_negate" class="method-detail anchor-link ">
727
+ <div class="method-header">
728
+ <div class="method-heading">
729
+ <a href="#method-i-condition_then_color_negate" title="Link to this method">
730
+ <span class="method-name">condition_then_color_negate</span>
731
+ <span class="method-args">(layer)</span>
732
+ </a>
733
+ </div>
734
+ </div>
735
+
736
+ <div class="method-controls">
737
+ <details class="method-source-toggle">
738
+ <summary>Source</summary>
739
+ </details>
740
+ </div>
741
+
742
+ <div class="method-description">
743
+ <div class="method-source-code" id="condition_then_color_negate-source">
744
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 204</span>
745
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">condition_then_color_negate</span>(<span class="ruby-identifier">layer</span>)
746
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:negate</span>]
747
+ <span class="ruby-identifier">layer</span>.<span class="ruby-identifier">negate</span>
748
+ <span class="ruby-keyword">else</span>
749
+ <span class="ruby-identifier">layer</span>
750
+ <span class="ruby-keyword">end</span>
751
+ <span class="ruby-keyword">end</span></pre>
752
+ </div>
753
+
754
+ </div>
755
+
756
+
757
+ </div>
758
+
759
+ <div id="method-i-condition_then_flip" class="method-detail anchor-link ">
760
+ <div class="method-header">
761
+ <div class="method-heading">
762
+ <a href="#method-i-condition_then_flip" title="Link to this method">
763
+ <span class="method-name">condition_then_flip</span>
764
+ <span class="method-args">(layer)</span>
765
+ </a>
766
+ </div>
767
+ </div>
768
+
769
+ <div class="method-controls">
770
+ <details class="method-source-toggle">
771
+ <summary>Source</summary>
772
+ </details>
773
+ </div>
774
+
775
+ <div class="method-description">
776
+ <div class="method-source-code" id="condition_then_flip-source">
777
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 196</span>
778
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">condition_then_flip</span>(<span class="ruby-identifier">layer</span>)
779
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:viewpoint</span>].<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;white&quot;</span>
780
+ <span class="ruby-identifier">layer</span>.<span class="ruby-identifier">rotate</span>(<span class="ruby-value">180</span>) <span class="ruby-comment"># 5 ms</span>
781
+ <span class="ruby-keyword">else</span>
782
+ <span class="ruby-identifier">layer</span>
783
+ <span class="ruby-keyword">end</span>
784
+ <span class="ruby-keyword">end</span></pre>
785
+ </div>
786
+
787
+ </div>
788
+
789
+
790
+ </div>
791
+
792
+ <div id="method-i-current_place" class="method-detail anchor-link ">
793
+ <div class="method-header">
794
+ <div class="method-heading">
795
+ <a href="#method-i-current_place" title="Link to this method">
796
+ <span class="method-name">current_place</span>
797
+ <span class="method-args">()</span>
798
+ </a>
799
+ </div>
800
+ </div>
801
+
802
+ <div class="method-controls">
803
+ <details class="method-source-toggle">
804
+ <summary>Source</summary>
805
+ </details>
806
+ </div>
807
+
808
+ <div class="method-description">
809
+ <div class="method-source-code" id="current_place-source">
810
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 112</span>
811
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">current_place</span>
812
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">hand_log</span>
813
+ <span class="ruby-identifier">soldier</span> = <span class="ruby-identifier">hand_log</span>.<span class="ruby-identifier">soldier</span>
814
+ <span class="ruby-constant">V</span>[<span class="ruby-operator">*</span><span class="ruby-identifier">hand_log</span>.<span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">place</span>.<span class="ruby-identifier">to_xy</span>]
815
+ <span class="ruby-keyword">end</span>
816
+ <span class="ruby-keyword">end</span></pre>
817
+ </div>
818
+
819
+ </div>
820
+
821
+
822
+ </div>
823
+
824
+ <div id="method-i-d" class="method-detail anchor-link ">
825
+ <div class="method-header">
826
+ <div class="method-heading">
827
+ <a href="#method-i-d" title="Link to this method">
828
+ <span class="method-name">d</span>
829
+ <span class="method-args">(image)</span>
830
+ </a>
831
+ </div>
832
+ </div>
833
+
834
+ <div class="method-controls">
835
+ <details class="method-source-toggle">
836
+ <summary>Source</summary>
837
+ </details>
838
+ </div>
839
+
840
+ <div class="method-description">
841
+ <div class="method-source-code" id="d-source">
842
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/helper.rb, line 58</span>
843
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">d</span>(<span class="ruby-identifier">image</span>)
844
+ <span class="ruby-node">`open #{o(image)}`</span>
845
+ <span class="ruby-keyword">end</span></pre>
846
+ </div>
847
+ <p>d Magick::Image.read(“logo:”).first</p>
848
+ </div>
849
+
850
+
851
+ </div>
852
+
853
+ <div id="method-i-default_params" class="method-detail anchor-link ">
854
+ <div class="method-header">
855
+ <div class="method-heading">
856
+ <a href="#method-i-default_params" title="Link to this method">
857
+ <span class="method-name">default_params</span>
858
+ <span class="method-args">()</span>
859
+ </a>
860
+ </div>
861
+ </div>
862
+
863
+ <div class="method-controls">
864
+ <details class="method-source-toggle">
865
+ <summary>Source</summary>
866
+ </details>
867
+ </div>
868
+
869
+ <div class="method-description">
870
+ <div class="method-source-code" id="default_params-source">
871
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 5</span>
872
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">default_params</span>
873
+ <span class="ruby-keyword">super</span>.<span class="ruby-identifier">merge</span>({
874
+ <span class="ruby-comment"># 必須</span>
875
+ <span class="ruby-value">:width</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">1200</span>, <span class="ruby-comment"># 画像横幅</span>
876
+ <span class="ruby-value">:height</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">630</span>, <span class="ruby-comment"># 画像縦幅</span>
877
+
878
+ <span class="ruby-comment"># 将棋盤の比率</span>
879
+ <span class="ruby-comment"># 実際の比率は 横:33.3 縦:36.4</span>
880
+ <span class="ruby-comment"># 高さ最大を1.0として隙間を考慮して 0.95 と仮に決めると</span>
881
+ <span class="ruby-comment"># 0.95 * (33.3 / 36.4) で横幅は 0.8690934065934065 になる</span>
882
+ <span class="ruby-value">:aspect_ratio_w</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">0.8690934065934065</span>, <span class="ruby-comment"># 縦横幅の小さい方に対する盤の横幅の割合(横長の場合縦比率より小さめにする)</span>
883
+ <span class="ruby-value">:aspect_ratio_h</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">0.95</span>, <span class="ruby-comment"># 縦横幅の小さい方に対する盤の縦幅の割合(横長の場合1.0にすると縦の隙間がなくなる)</span>
884
+
885
+ <span class="ruby-comment"># 文字の大きさの割合</span>
886
+ <span class="ruby-comment"># ※割合はすべてセルの大きさを1.0とする</span>
887
+ <span class="ruby-value">:soldier_font_scale</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">0.85</span>, <span class="ruby-comment"># PieceScale に掛ける共通倍率。かなり印象が変わる。1.00 だと暑苦しい。</span>
888
+ <span class="ruby-value">:piece_scale_map</span> <span class="ruby-operator">=&gt;</span> {},
889
+
890
+ <span class="ruby-comment"># 駒(文字)の位置調整</span>
891
+ <span class="ruby-value">:piece_char_adjust</span> <span class="ruby-operator">=&gt;</span> {
892
+ <span class="ruby-value">:black</span> <span class="ruby-operator">=&gt;</span> [<span class="ruby-value">0.0425</span>, <span class="ruby-value">0.07</span>],
893
+ <span class="ruby-value">:white</span> <span class="ruby-operator">=&gt;</span> [<span class="ruby-value">0.0</span>, <span class="ruby-value">0.01</span>],
894
+ },
895
+
896
+ <span class="ruby-comment"># 盤</span>
897
+ <span class="ruby-value">:canvas_bg_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;hsla(0,0%,100%,1.0)&quot;</span>, <span class="ruby-comment"># 部屋の色(必須)</span>
898
+ <span class="ruby-value">:piece_font_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;hsla(0,0%,0%,0.8)&quot;</span>, <span class="ruby-comment"># 駒の色(必須)</span>
899
+ <span class="ruby-value">:lattice_stroke_width</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">1</span>, <span class="ruby-comment"># 格子の線の太さ</span>
900
+ <span class="ruby-value">:inner_frame_stroke_width</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">2</span>, <span class="ruby-comment"># 枠の線お太さ(nil なら lattice_stroke_width を代用)</span>
901
+ <span class="ruby-value">:inner_frame_fill_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">nil</span>, <span class="ruby-comment"># 基本透明とする(基本指定なしでよい)</span>
902
+ <span class="ruby-value">:dimension_w</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-constant">Dimension</span><span class="ruby-operator">::</span><span class="ruby-constant">Column</span>.<span class="ruby-identifier">dimension_size</span>, <span class="ruby-comment"># 横のセル数</span>
903
+ <span class="ruby-value">:dimension_h</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-constant">Dimension</span><span class="ruby-operator">::</span><span class="ruby-constant">Row</span>.<span class="ruby-identifier">dimension_size</span>, <span class="ruby-comment"># 縦のセル数</span>
904
+ <span class="ruby-value">:fg_file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">nil</span>, <span class="ruby-comment"># 盤テクスチャ</span>
905
+
906
+ <span class="ruby-comment"># optional</span>
907
+ <span class="ruby-value">:last_soldier_font_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">nil</span>, <span class="ruby-comment"># *最後に動いた駒の色。基本指定しない。(nilなら piece_font_color を代用)</span>
908
+ <span class="ruby-value">:stand_piece_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">nil</span>, <span class="ruby-comment"># *持駒の色(nilなら piece_font_color を代用)</span>
909
+ <span class="ruby-value">:inner_frame_lattice_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;hsla(0,0%,0%,0.6)&quot;</span>, <span class="ruby-comment"># *格子の色(nilなら piece_font_color を代用)</span>
910
+ <span class="ruby-value">:inner_frame_stroke_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;hsla(0,0%,0%,0.6)&quot;</span>, <span class="ruby-comment"># *格子の外枠色(nilなら piece_font_color を代用) これだけで全体イメージが変わる超重要色</span>
911
+ <span class="ruby-value">:promoted_font_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;hsla(0,100%, 50%,0.8)&quot;</span>, <span class="ruby-comment"># *成駒の色(nilなら piece_font_color を代用)</span>
912
+
913
+ <span class="ruby-value">:outer_frame_padding</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">0</span>, <span class="ruby-comment"># 盤の余白</span>
914
+ <span class="ruby-value">:outer_frame_radius</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">0.05</span>, <span class="ruby-comment"># 盤の角の丸め</span>
915
+ <span class="ruby-value">:outer_frame_fill_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;transparent&quot;</span>, <span class="ruby-comment"># 盤の色</span>
916
+ <span class="ruby-value">:outer_frame_stroke_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;transparent&quot;</span>, <span class="ruby-comment"># 外枠の縁取り色(鬼滅盤用)</span>
917
+ <span class="ruby-value">:outer_frame_stroke_width</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">0</span>, <span class="ruby-comment"># 外枠の縁取り幅(鬼滅盤用)</span>
918
+
919
+ <span class="ruby-value">:cell_colors</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">nil</span>, <span class="ruby-comment"># セルの色 複数指定可</span>
920
+ <span class="ruby-value">:piece_move_cell_fill_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;hsla(0,0%,0%,0.05)&quot;</span>, <span class="ruby-comment"># 移動元と移動先のセルの背景色(nilなら描画しない)</span>
921
+ <span class="ruby-value">:normal_piece_color_map</span> <span class="ruby-operator">=&gt;</span> {}, <span class="ruby-comment"># 成ってない駒それぞれの色(nilなら piece_font_color を代用)</span>
922
+
923
+ <span class="ruby-comment"># フォント駒</span>
924
+ <span class="ruby-value">:font_theme_key</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">nil</span>, <span class="ruby-comment"># フォントの種類 noto_seif</span>
925
+ <span class="ruby-value">:font_regular</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-constant">ASSETS_DIR</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;fonts/RictyDiminished-Regular.ttf&quot;</span>), <span class="ruby-comment"># 駒のフォント(普通)</span>
926
+ <span class="ruby-value">:font_bold</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-constant">ASSETS_DIR</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;fonts/RictyDiminished-Bold.ttf&quot;</span>), <span class="ruby-comment"># 駒のフォント(太字) (shogi-extendから直接参照しているためnilにしてはいけない)</span>
927
+ <span class="ruby-value">:soldier_font_bold</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">false</span>, <span class="ruby-comment"># 太字を使うか?</span>
928
+ <span class="ruby-value">:piece_font_weight_key</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">:is_piece_font_weight_auto</span>, <span class="ruby-comment"># 太字はおまかせ (つまり何もしない。nil でもよい)</span>
929
+
930
+ <span class="ruby-comment"># 画像駒</span>
931
+ <span class="ruby-value">:piece_image_key</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">nil</span>, <span class="ruby-comment"># どの画像駒を使うか? (nil なら使わない)</span>
932
+ <span class="ruby-value">:piece_image_scale</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">nil</span>, <span class="ruby-comment"># 画像駒の大きさ (nil なら PieceImageInfo の default_scale を使う)</span>
933
+
934
+ <span class="ruby-comment"># other</span>
935
+ <span class="ruby-value">:viewpoint</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;black&quot;</span>, <span class="ruby-comment"># 視点</span>
936
+ <span class="ruby-value">:image_format</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;png&quot;</span>, <span class="ruby-comment"># 出力する画像タイプ</span>
937
+ <span class="ruby-value">:negate</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">false</span>, <span class="ruby-comment"># 反転</span>
938
+ <span class="ruby-value">:bg_file</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">nil</span>, <span class="ruby-comment"># 背景ファイル</span>
939
+
940
+ <span class="ruby-comment"># star</span>
941
+ <span class="ruby-value">:star_size</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">0.03</span>, <span class="ruby-comment"># 星のサイズ(割合)</span>
942
+ <span class="ruby-value">:star_fill_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-keyword">nil</span>, <span class="ruby-comment"># *星の色(nilなら inner_frame_lattice_color を代用)</span>
943
+ <span class="ruby-value">:star_step</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-value">3</span>, <span class="ruby-comment"># 星はnセルごとに書く</span>
944
+
945
+ <span class="ruby-value">:color_theme_key</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-string">&quot;is_color_theme_modern&quot;</span>, <span class="ruby-comment"># 色テーマ</span>
946
+ <span class="ruby-value">:renderer_override_params</span> <span class="ruby-operator">=&gt;</span> {}, <span class="ruby-comment"># 色テーマを上書きするパラメータ</span>
947
+ })
948
+ <span class="ruby-keyword">end</span></pre>
949
+ </div>
950
+
951
+ <div class="method-calls-super">
952
+ Calls superclass method
953
+
954
+ </div>
955
+ </div>
956
+
957
+
958
+ </div>
959
+
960
+ <div id="method-i-display" class="method-detail anchor-link ">
961
+ <div class="method-header">
962
+ <div class="method-heading">
963
+ <a href="#method-i-display" title="Link to this method">
964
+ <span class="method-name">display</span>
965
+ <span class="method-args">()</span>
966
+ </a>
967
+ </div>
968
+ </div>
969
+
970
+ <div class="method-controls">
971
+ <details class="method-source-toggle">
972
+ <summary>Source</summary>
973
+ </details>
974
+ </div>
975
+
976
+ <div class="method-description">
977
+ <div class="method-source-code" id="display-source">
978
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/helper.rb, line 17</span>
979
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">display</span>
980
+ <span class="ruby-identifier">d</span>(<span class="ruby-identifier">render</span>)
981
+ <span class="ruby-keyword">end</span></pre>
982
+ </div>
983
+
984
+ </div>
985
+
986
+
987
+ </div>
988
+
989
+ <div id="method-i-draw_context" class="method-detail anchor-link ">
990
+ <div class="method-header">
991
+ <div class="method-heading">
992
+ <a href="#method-i-draw_context" title="Link to this method">
993
+ <span class="method-name">draw_context</span>
994
+ <span class="method-args">(layer) { |g| ... }</span>
995
+ </a>
996
+ </div>
997
+ </div>
998
+
999
+ <div class="method-controls">
1000
+ <details class="method-source-toggle">
1001
+ <summary>Source</summary>
1002
+ </details>
1003
+ </div>
1004
+
1005
+ <div class="method-description">
1006
+ <div class="method-source-code" id="draw_context-source">
1007
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 213</span>
1008
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">draw_context</span>(<span class="ruby-identifier">layer</span>)
1009
+ <span class="ruby-identifier">g</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Draw</span>.<span class="ruby-identifier">new</span>
1010
+ <span class="ruby-keyword">yield</span> <span class="ruby-identifier">g</span>
1011
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">draw</span>(<span class="ruby-identifier">layer</span>)
1012
+ <span class="ruby-keyword">end</span></pre>
1013
+ </div>
1014
+ <p>draw の時点で最後に指定した fill が使われる</p>
1015
+ </div>
1016
+
1017
+
1018
+ </div>
1019
+
1020
+ <div id="method-i-dynamic_layer_setup" class="method-detail anchor-link ">
1021
+ <div class="method-header">
1022
+ <div class="method-heading">
1023
+ <a href="#method-i-dynamic_layer_setup" title="Link to this method">
1024
+ <span class="method-name">dynamic_layer_setup</span>
1025
+ <span class="method-args">()</span>
1026
+ </a>
1027
+ </div>
1028
+ </div>
1029
+
1030
+ <div class="method-controls">
1031
+ <details class="method-source-toggle">
1032
+ <summary>Source</summary>
1033
+ </details>
1034
+ </div>
1035
+
1036
+ <div class="method-description">
1037
+ <div class="method-source-code" id="dynamic_layer_setup-source">
1038
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/layer_methods.rb, line 39</span>
1039
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">dynamic_layer_setup</span>
1040
+ <span class="ruby-ivar">@d_move_layer</span> = <span class="ruby-identifier">transparent_layer</span>(<span class="ruby-value">:d_move_layer</span>)
1041
+ <span class="ruby-ivar">@d_piece_layer</span> = <span class="ruby-identifier">transparent_layer</span>(<span class="ruby-value">:d_piece_layer</span>)
1042
+ <span class="ruby-ivar">@d_piece_count_layer</span> = <span class="ruby-identifier">transparent_layer</span>(<span class="ruby-value">:d_piece_count_layer</span>)
1043
+ <span class="ruby-keyword">end</span></pre>
1044
+ </div>
1045
+
1046
+ </div>
1047
+
1048
+
1049
+ </div>
1050
+
1051
+ <div id="method-i-ext_name" class="method-detail anchor-link ">
1052
+ <div class="method-header">
1053
+ <div class="method-heading">
1054
+ <a href="#method-i-ext_name" title="Link to this method">
1055
+ <span class="method-name">ext_name</span>
1056
+ <span class="method-args">()</span>
1057
+ </a>
1058
+ </div>
1059
+ </div>
1060
+
1061
+ <div class="method-controls">
1062
+ <details class="method-source-toggle">
1063
+ <summary>Source</summary>
1064
+ </details>
1065
+ </div>
1066
+
1067
+ <div class="method-description">
1068
+ <div class="method-source-code" id="ext_name-source">
1069
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 308</span>
1070
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">ext_name</span>
1071
+ <span class="ruby-identifier">image_format</span>
1072
+ <span class="ruby-keyword">end</span></pre>
1073
+ </div>
1074
+
1075
+ </div>
1076
+
1077
+
1078
+ </div>
1079
+
1080
+ <div id="method-i-face_pentagon_color" class="method-detail anchor-link ">
1081
+ <div class="method-header">
1082
+ <div class="method-heading">
1083
+ <a href="#method-i-face_pentagon_color" title="Link to this method">
1084
+ <span class="method-name">face_pentagon_color</span>
1085
+ <span class="method-args">(location)</span>
1086
+ </a>
1087
+ </div>
1088
+ </div>
1089
+
1090
+ <div class="method-controls">
1091
+ <details class="method-source-toggle">
1092
+ <summary>Source</summary>
1093
+ </details>
1094
+ </div>
1095
+
1096
+ <div class="method-description">
1097
+ <div class="method-source-code" id="face_pentagon_color-source">
1098
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/pentagon.rb, line 154</span>
1099
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">face_pentagon_color</span>(<span class="ruby-identifier">location</span>)
1100
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:face_pentagon_color</span>][<span class="ruby-identifier">location</span>.<span class="ruby-identifier">key</span>]
1101
+ <span class="ruby-keyword">end</span></pre>
1102
+ </div>
1103
+
1104
+ </div>
1105
+
1106
+
1107
+ </div>
1108
+
1109
+ <div id="method-i-face_pentagon_draw" class="method-detail anchor-link ">
1110
+ <div class="method-header">
1111
+ <div class="method-heading">
1112
+ <a href="#method-i-face_pentagon_draw" title="Link to this method">
1113
+ <span class="method-name">face_pentagon_draw</span>
1114
+ <span class="method-args">(v:, location:)</span>
1115
+ </a>
1116
+ </div>
1117
+ </div>
1118
+
1119
+ <div class="method-controls">
1120
+ <details class="method-source-toggle">
1121
+ <summary>Source</summary>
1122
+ </details>
1123
+ </div>
1124
+
1125
+ <div class="method-description">
1126
+ <div class="method-source-code" id="face_pentagon_draw-source">
1127
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/pentagon.rb, line 84</span>
1128
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">face_pentagon_draw</span>(<span class="ruby-value">v:</span>, <span class="ruby-value">location:</span>)
1129
+ <span class="ruby-identifier">draw_context</span>(<span class="ruby-ivar">@d_piece_layer</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
1130
+ <span class="ruby-identifier">color</span> = <span class="ruby-identifier">face_pentagon_color</span>(<span class="ruby-identifier">location</span>)
1131
+ <span class="ruby-identifier">w</span> = <span class="ruby-identifier">face_pentagon_stroke_width</span>
1132
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">w</span>.<span class="ruby-identifier">nonzero?</span>
1133
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke</span>(<span class="ruby-identifier">color</span>[<span class="ruby-value">:stroke</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_pentagon_stroke_color</span>])
1134
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke_width</span>(<span class="ruby-identifier">w</span>)
1135
+ <span class="ruby-keyword">end</span>
1136
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span>(<span class="ruby-identifier">color</span>[<span class="ruby-value">:fill</span>])
1137
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">polygon</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">pentagon_real_points</span>(<span class="ruby-value">v:</span> <span class="ruby-identifier">v</span>, <span class="ruby-value">location:</span> <span class="ruby-identifier">location</span>, <span class="ruby-value">scale:</span> <span class="ruby-identifier">face_pentagon_scale</span>))
1138
+ <span class="ruby-keyword">end</span>
1139
+ <span class="ruby-keyword">end</span></pre>
1140
+ </div>
1141
+ <p>☗を白黒で塗り分ける</p>
1142
+ </div>
1143
+
1144
+
1145
+ </div>
1146
+
1147
+ <div id="method-i-face_pentagon_scale" class="method-detail anchor-link ">
1148
+ <div class="method-header">
1149
+ <div class="method-heading">
1150
+ <a href="#method-i-face_pentagon_scale" title="Link to this method">
1151
+ <span class="method-name">face_pentagon_scale</span>
1152
+ <span class="method-args">()</span>
1153
+ </a>
1154
+ </div>
1155
+ </div>
1156
+
1157
+ <div class="method-controls">
1158
+ <details class="method-source-toggle">
1159
+ <summary>Source</summary>
1160
+ </details>
1161
+ </div>
1162
+
1163
+ <div class="method-description">
1164
+ <div class="method-source-code" id="face_pentagon_scale-source">
1165
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/pentagon.rb, line 146</span>
1166
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">face_pentagon_scale</span>
1167
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:face_pentagon_scale</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">piece_pentagon_scale</span>
1168
+ <span class="ruby-keyword">end</span></pre>
1169
+ </div>
1170
+ <p>turn</p>
1171
+ </div>
1172
+
1173
+
1174
+ </div>
1175
+
1176
+ <div id="method-i-face_pentagon_stroke_width" class="method-detail anchor-link ">
1177
+ <div class="method-header">
1178
+ <div class="method-heading">
1179
+ <a href="#method-i-face_pentagon_stroke_width" title="Link to this method">
1180
+ <span class="method-name">face_pentagon_stroke_width</span>
1181
+ <span class="method-args">()</span>
1182
+ </a>
1183
+ </div>
1184
+ </div>
1185
+
1186
+ <div class="method-controls">
1187
+ <details class="method-source-toggle">
1188
+ <summary>Source</summary>
1189
+ </details>
1190
+ </div>
1191
+
1192
+ <div class="method-description">
1193
+ <div class="method-source-code" id="face_pentagon_stroke_width-source">
1194
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/pentagon.rb, line 150</span>
1195
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">face_pentagon_stroke_width</span>
1196
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:face_pentagon_stroke_width</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_pentagon_stroke_width</span>]
1197
+ <span class="ruby-keyword">end</span></pre>
1198
+ </div>
1199
+
1200
+ </div>
1201
+
1202
+
1203
+ </div>
1204
+
1205
+ <div id="method-i-image_basename" class="method-detail anchor-link ">
1206
+ <div class="method-header">
1207
+ <div class="method-heading">
1208
+ <a href="#method-i-image_basename" title="Link to this method">
1209
+ <span class="method-name">image_basename</span>
1210
+ <span class="method-args">()</span>
1211
+ </a>
1212
+ </div>
1213
+ </div>
1214
+
1215
+ <div class="method-controls">
1216
+ <details class="method-source-toggle">
1217
+ <summary>Source</summary>
1218
+ </details>
1219
+ </div>
1220
+
1221
+ <div class="method-description">
1222
+ <div class="method-source-code" id="image_basename-source">
1223
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_model_methods.rb, line 5</span>
1224
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">image_basename</span>
1225
+ [
1226
+ <span class="ruby-identifier">location</span>.<span class="ruby-identifier">to_sfen</span>, <span class="ruby-comment"># B (Black)</span>
1227
+ <span class="ruby-identifier">piece</span>.<span class="ruby-identifier">sfen_char</span>, <span class="ruby-comment"># P (Pawn)</span>
1228
+ <span class="ruby-identifier">promoted</span> <span class="ruby-operator">?</span> <span class="ruby-string">&quot;1&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-string">&quot;0&quot;</span>, <span class="ruby-comment"># 0 (不成)</span>
1229
+ ].<span class="ruby-identifier">join</span>.<span class="ruby-identifier">upcase</span>
1230
+ <span class="ruby-keyword">end</span></pre>
1231
+ </div>
1232
+ <p>対応する画像のファイル名を返す</p>
1233
+ </div>
1234
+
1235
+
1236
+ </div>
1237
+
1238
+ <div id="method-i-image_format" class="method-detail anchor-link ">
1239
+ <div class="method-header">
1240
+ <div class="method-heading">
1241
+ <a href="#method-i-image_format" title="Link to this method">
1242
+ <span class="method-name">image_format</span>
1243
+ <span class="method-args">()</span>
1244
+ </a>
1245
+ </div>
1246
+ </div>
1247
+
1248
+ <div class="method-controls">
1249
+ <details class="method-source-toggle">
1250
+ <summary>Source</summary>
1251
+ </details>
1252
+ </div>
1253
+
1254
+ <div class="method-description">
1255
+ <div class="method-source-code" id="image_format-source">
1256
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 304</span>
1257
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">image_format</span>
1258
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:image_format</span>].<span class="ruby-identifier">presence</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;params[:image_format] is blank&quot;</span>
1259
+ <span class="ruby-keyword">end</span></pre>
1260
+ </div>
1261
+
1262
+ </div>
1263
+
1264
+
1265
+ </div>
1266
+
1267
+ <div id="method-i-image_rect" class="method-detail anchor-link ">
1268
+ <div class="method-header">
1269
+ <div class="method-heading">
1270
+ <a href="#method-i-image_rect" title="Link to this method">
1271
+ <span class="method-name">image_rect</span>
1272
+ <span class="method-args">()</span>
1273
+ </a>
1274
+ </div>
1275
+ </div>
1276
+
1277
+ <div class="method-controls">
1278
+ <details class="method-source-toggle">
1279
+ <summary>Source</summary>
1280
+ </details>
1281
+ </div>
1282
+
1283
+ <div class="method-description">
1284
+ <div class="method-source-code" id="image_rect-source">
1285
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 251</span>
1286
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">image_rect</span>
1287
+ <span class="ruby-ivar">@image_rect</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Rect</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">params</span>[<span class="ruby-value">:width</span>], <span class="ruby-identifier">params</span>[<span class="ruby-value">:height</span>])
1288
+ <span class="ruby-keyword">end</span></pre>
1289
+ </div>
1290
+
1291
+ </div>
1292
+
1293
+
1294
+ </div>
1295
+
1296
+ <div id="method-i-inner_frame_draw" class="method-detail anchor-link ">
1297
+ <div class="method-header">
1298
+ <div class="method-heading">
1299
+ <a href="#method-i-inner_frame_draw" title="Link to this method">
1300
+ <span class="method-name">inner_frame_draw</span>
1301
+ <span class="method-args">(layer)</span>
1302
+ </a>
1303
+ </div>
1304
+ </div>
1305
+
1306
+ <div class="method-controls">
1307
+ <details class="method-source-toggle">
1308
+ <summary>Source</summary>
1309
+ </details>
1310
+ </div>
1311
+
1312
+ <div class="method-description">
1313
+ <div class="method-source-code" id="inner_frame_draw-source">
1314
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/board_methods.rb, line 39</span>
1315
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">inner_frame_draw</span>(<span class="ruby-identifier">layer</span>)
1316
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">inner_frame_stroke_width</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:inner_frame_fill_color</span>]
1317
+ <span class="ruby-identifier">draw_context</span>(<span class="ruby-identifier">layer</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
1318
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke</span>(<span class="ruby-identifier">inner_frame_stroke_color</span>)
1319
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke_width</span>(<span class="ruby-identifier">inner_frame_stroke_width</span>)
1320
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:inner_frame_fill_color</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;transparent&quot;</span>
1321
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">rectangle</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-constant">V</span>[<span class="ruby-value">0</span>, <span class="ruby-value">0</span>]), <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-constant">V</span>[<span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">w</span>, <span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">h</span>])) <span class="ruby-comment"># QUESTION: 右下は -1, -1 するべきか?</span>
1322
+ <span class="ruby-keyword">end</span>
1323
+ <span class="ruby-keyword">end</span>
1324
+ <span class="ruby-keyword">end</span></pre>
1325
+ </div>
1326
+ <p>格子の外枠盤から見れば内側基本透明で枠だけを描画する塗り潰したいときは <a href="ScreenImage.html#method-i-board_layer_create"><code>board_layer_create</code></a> の方で行うべきinner_frame_stroke_width が 0 または nil で inner_frame_fill_color も nil ならスキップ</p>
1327
+ </div>
1328
+
1329
+
1330
+ </div>
1331
+
1332
+ <div id="method-i-inner_frame_lattice_color" class="method-detail anchor-link ">
1333
+ <div class="method-header">
1334
+ <div class="method-heading">
1335
+ <a href="#method-i-inner_frame_lattice_color" title="Link to this method">
1336
+ <span class="method-name">inner_frame_lattice_color</span>
1337
+ <span class="method-args">()</span>
1338
+ </a>
1339
+ </div>
1340
+ </div>
1341
+
1342
+ <div class="method-controls">
1343
+ <details class="method-source-toggle">
1344
+ <summary>Source</summary>
1345
+ </details>
1346
+ </div>
1347
+
1348
+ <div class="method-description">
1349
+ <div class="method-source-code" id="inner_frame_lattice_color-source">
1350
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/board_methods.rb, line 139</span>
1351
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">inner_frame_lattice_color</span>
1352
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:inner_frame_lattice_color</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_font_color</span>]
1353
+ <span class="ruby-keyword">end</span></pre>
1354
+ </div>
1355
+
1356
+ </div>
1357
+
1358
+
1359
+ </div>
1360
+
1361
+ <div id="method-i-inner_frame_stroke_color" class="method-detail anchor-link ">
1362
+ <div class="method-header">
1363
+ <div class="method-heading">
1364
+ <a href="#method-i-inner_frame_stroke_color" title="Link to this method">
1365
+ <span class="method-name">inner_frame_stroke_color</span>
1366
+ <span class="method-args">()</span>
1367
+ </a>
1368
+ </div>
1369
+ </div>
1370
+
1371
+ <div class="method-controls">
1372
+ <details class="method-source-toggle">
1373
+ <summary>Source</summary>
1374
+ </details>
1375
+ </div>
1376
+
1377
+ <div class="method-description">
1378
+ <div class="method-source-code" id="inner_frame_stroke_color-source">
1379
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/board_methods.rb, line 147</span>
1380
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">inner_frame_stroke_color</span>
1381
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:inner_frame_stroke_color</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_font_color</span>]
1382
+ <span class="ruby-keyword">end</span></pre>
1383
+ </div>
1384
+
1385
+ </div>
1386
+
1387
+
1388
+ </div>
1389
+
1390
+ <div id="method-i-inner_frame_stroke_width" class="method-detail anchor-link ">
1391
+ <div class="method-header">
1392
+ <div class="method-heading">
1393
+ <a href="#method-i-inner_frame_stroke_width" title="Link to this method">
1394
+ <span class="method-name">inner_frame_stroke_width</span>
1395
+ <span class="method-args">()</span>
1396
+ </a>
1397
+ </div>
1398
+ </div>
1399
+
1400
+ <div class="method-controls">
1401
+ <details class="method-source-toggle">
1402
+ <summary>Source</summary>
1403
+ </details>
1404
+ </div>
1405
+
1406
+ <div class="method-description">
1407
+ <div class="method-source-code" id="inner_frame_stroke_width-source">
1408
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 300</span>
1409
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">inner_frame_stroke_width</span>
1410
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:inner_frame_stroke_width</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">lattice_stroke_width</span> <span class="ruby-operator">||</span> <span class="ruby-value">0</span>
1411
+ <span class="ruby-keyword">end</span></pre>
1412
+ </div>
1413
+
1414
+ </div>
1415
+
1416
+
1417
+ </div>
1418
+
1419
+ <div id="method-i-lattice" class="method-detail anchor-link ">
1420
+ <div class="method-header">
1421
+ <div class="method-heading">
1422
+ <a href="#method-i-lattice" title="Link to this method">
1423
+ <span class="method-name">lattice</span>
1424
+ <span class="method-args">()</span>
1425
+ </a>
1426
+ </div>
1427
+ </div>
1428
+
1429
+ <div class="method-controls">
1430
+ <details class="method-source-toggle">
1431
+ <summary>Source</summary>
1432
+ </details>
1433
+ </div>
1434
+
1435
+ <div class="method-description">
1436
+ <div class="method-source-code" id="lattice-source">
1437
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 255</span>
1438
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">lattice</span>
1439
+ <span class="ruby-ivar">@lattice</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Rect</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">params</span>[<span class="ruby-value">:dimension_w</span>], <span class="ruby-identifier">params</span>[<span class="ruby-value">:dimension_h</span>])
1440
+ <span class="ruby-keyword">end</span></pre>
1441
+ </div>
1442
+
1443
+ </div>
1444
+
1445
+
1446
+ </div>
1447
+
1448
+ <div id="method-i-lattice_draw" class="method-detail anchor-link ">
1449
+ <div class="method-header">
1450
+ <div class="method-heading">
1451
+ <a href="#method-i-lattice_draw" title="Link to this method">
1452
+ <span class="method-name">lattice_draw</span>
1453
+ <span class="method-args">(layer)</span>
1454
+ </a>
1455
+ </div>
1456
+ </div>
1457
+
1458
+ <div class="method-controls">
1459
+ <details class="method-source-toggle">
1460
+ <summary>Source</summary>
1461
+ </details>
1462
+ </div>
1463
+
1464
+ <div class="method-description">
1465
+ <div class="method-source-code" id="lattice_draw-source">
1466
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/board_methods.rb, line 19</span>
1467
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">lattice_draw</span>(<span class="ruby-identifier">layer</span>)
1468
+ <span class="ruby-identifier">draw_context</span>(<span class="ruby-identifier">layer</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
1469
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke_width</span>(<span class="ruby-identifier">lattice_stroke_width</span>) <span class="ruby-comment"># 2px 以上の場合はこれがいる</span>
1470
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke</span>(<span class="ruby-identifier">inner_frame_lattice_color</span>) <span class="ruby-comment"># (↑のときの色)</span>
1471
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span> = <span class="ruby-identifier">inner_frame_lattice_color</span> <span class="ruby-comment"># 線の中心線の色(1pxだけならこれだけあればいい)</span>
1472
+
1473
+ (<span class="ruby-value">1</span><span class="ruby-operator">...</span><span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">w</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
1474
+ <span class="ruby-identifier">line_draw</span>(<span class="ruby-identifier">g</span>, <span class="ruby-constant">V</span>[<span class="ruby-identifier">x</span>, <span class="ruby-value">0</span>], <span class="ruby-constant">V</span>[<span class="ruby-identifier">x</span>, <span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">h</span>])
1475
+ <span class="ruby-keyword">end</span>
1476
+ (<span class="ruby-value">1</span><span class="ruby-operator">...</span><span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">h</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">y</span><span class="ruby-operator">|</span>
1477
+ <span class="ruby-identifier">line_draw</span>(<span class="ruby-identifier">g</span>, <span class="ruby-constant">V</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">y</span>], <span class="ruby-constant">V</span>[<span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">w</span>, <span class="ruby-identifier">y</span>])
1478
+ <span class="ruby-keyword">end</span>
1479
+ <span class="ruby-keyword">end</span>
1480
+ <span class="ruby-keyword">end</span></pre>
1481
+ </div>
1482
+ <p>外枠を含まない格子line で stroke を使うと fill + stroke で二重に同じところを塗るっぽいだから半透明にしても濃くなるなので fill だけにするしかし、そうすると今度は 2px 以上が描画できなくなるのでやっぱり stroke も入れておく</p>
1483
+ </div>
1484
+
1485
+
1486
+ </div>
1487
+
1488
+ <div id="method-i-lattice_layer_create" class="method-detail anchor-link ">
1489
+ <div class="method-header">
1490
+ <div class="method-heading">
1491
+ <a href="#method-i-lattice_layer_create" title="Link to this method">
1492
+ <span class="method-name">lattice_layer_create</span>
1493
+ <span class="method-args">()</span>
1494
+ </a>
1495
+ </div>
1496
+ </div>
1497
+
1498
+ <div class="method-controls">
1499
+ <details class="method-source-toggle">
1500
+ <summary>Source</summary>
1501
+ </details>
1502
+ </div>
1503
+
1504
+ <div class="method-description">
1505
+ <div class="method-source-code" id="lattice_layer_create-source">
1506
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/board_methods.rb, line 6</span>
1507
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">lattice_layer_create</span>
1508
+ <span class="ruby-identifier">transparent_layer</span>(<span class="ruby-value">:s_lattice_layer</span>).<span class="ruby-identifier">tap</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
1509
+ <span class="ruby-identifier">lattice_draw</span>(<span class="ruby-identifier">e</span>)
1510
+ <span class="ruby-identifier">inner_frame_draw</span>(<span class="ruby-identifier">e</span>)
1511
+ <span class="ruby-identifier">star_draw</span>(<span class="ruby-identifier">e</span>)
1512
+ <span class="ruby-keyword">end</span>
1513
+ <span class="ruby-keyword">end</span></pre>
1514
+ </div>
1515
+
1516
+ </div>
1517
+
1518
+
1519
+ </div>
1520
+
1521
+ <div id="method-i-lattice_stroke_width" class="method-detail anchor-link ">
1522
+ <div class="method-header">
1523
+ <div class="method-heading">
1524
+ <a href="#method-i-lattice_stroke_width" title="Link to this method">
1525
+ <span class="method-name">lattice_stroke_width</span>
1526
+ <span class="method-args">()</span>
1527
+ </a>
1528
+ </div>
1529
+ </div>
1530
+
1531
+ <div class="method-controls">
1532
+ <details class="method-source-toggle">
1533
+ <summary>Source</summary>
1534
+ </details>
1535
+ </div>
1536
+
1537
+ <div class="method-description">
1538
+ <div class="method-source-code" id="lattice_stroke_width-source">
1539
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 296</span>
1540
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">lattice_stroke_width</span>
1541
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:lattice_stroke_width</span>]
1542
+ <span class="ruby-keyword">end</span></pre>
1543
+ </div>
1544
+
1545
+ </div>
1546
+
1547
+
1548
+ </div>
1549
+
1550
+ <div id="method-i-line_draw" class="method-detail anchor-link ">
1551
+ <div class="method-header">
1552
+ <div class="method-heading">
1553
+ <a href="#method-i-line_draw" title="Link to this method">
1554
+ <span class="method-name">line_draw</span>
1555
+ <span class="method-args">(g, v1, v2)</span>
1556
+ </a>
1557
+ </div>
1558
+ </div>
1559
+
1560
+ <div class="method-controls">
1561
+ <details class="method-source-toggle">
1562
+ <summary>Source</summary>
1563
+ </details>
1564
+ </div>
1565
+
1566
+ <div class="method-description">
1567
+ <div class="method-source-code" id="line_draw-source">
1568
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 241</span>
1569
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">line_draw</span>(<span class="ruby-identifier">g</span>, <span class="ruby-identifier">v1</span>, <span class="ruby-identifier">v2</span>)
1570
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">line</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v1</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v2</span>))
1571
+ <span class="ruby-keyword">end</span></pre>
1572
+ </div>
1573
+
1574
+ </div>
1575
+
1576
+
1577
+ </div>
1578
+
1579
+ <div id="method-i-minus_one" class="method-detail anchor-link ">
1580
+ <div class="method-header">
1581
+ <div class="method-heading">
1582
+ <a href="#method-i-minus_one" title="Link to this method">
1583
+ <span class="method-name">minus_one</span>
1584
+ <span class="method-args">(x, y)</span>
1585
+ </a>
1586
+ </div>
1587
+ </div>
1588
+
1589
+ <div class="method-controls">
1590
+ <details class="method-source-toggle">
1591
+ <summary>Source</summary>
1592
+ </details>
1593
+ </div>
1594
+
1595
+ <div class="method-description">
1596
+ <div class="method-source-code" id="minus_one-source">
1597
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 237</span>
1598
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">minus_one</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>)
1599
+ [<span class="ruby-identifier">x</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">y</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
1600
+ <span class="ruby-keyword">end</span></pre>
1601
+ </div>
1602
+
1603
+ </div>
1604
+
1605
+
1606
+ </div>
1607
+
1608
+ <div id="method-i-next_build" class="method-detail anchor-link ">
1609
+ <div class="method-header">
1610
+ <div class="method-heading">
1611
+ <a href="#method-i-next_build" title="Link to this method">
1612
+ <span class="method-name">next_build</span>
1613
+ <span class="method-args">()</span>
1614
+ </a>
1615
+ </div>
1616
+ </div>
1617
+
1618
+ <div class="method-controls">
1619
+ <details class="method-source-toggle">
1620
+ <summary>Source</summary>
1621
+ </details>
1622
+ </div>
1623
+
1624
+ <div class="method-description">
1625
+ <div class="method-source-code" id="next_build-source">
1626
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/helper.rb, line 12</span>
1627
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">next_build</span>
1628
+ <span class="ruby-ivar">@last_rendered_image</span> = <span class="ruby-identifier">render</span>
1629
+ <span class="ruby-keyword">end</span></pre>
1630
+ </div>
1631
+
1632
+ </div>
1633
+
1634
+
1635
+ </div>
1636
+
1637
+ <div id="method-i-o" class="method-detail anchor-link ">
1638
+ <div class="method-header">
1639
+ <div class="method-heading">
1640
+ <a href="#method-i-o" title="Link to this method">
1641
+ <span class="method-name">o</span>
1642
+ <span class="method-args">(image, name = nil)</span>
1643
+ </a>
1644
+ </div>
1645
+ </div>
1646
+
1647
+ <div class="method-controls">
1648
+ <details class="method-source-toggle">
1649
+ <summary>Source</summary>
1650
+ </details>
1651
+ </div>
1652
+
1653
+ <div class="method-description">
1654
+ <div class="method-source-code" id="o-source">
1655
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/helper.rb, line 63</span>
1656
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">o</span>(<span class="ruby-identifier">image</span>, <span class="ruby-identifier">name</span> = <span class="ruby-keyword">nil</span>)
1657
+ <span class="ruby-identifier">name</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">SecureRandom</span>.<span class="ruby-identifier">hex</span>
1658
+ <span class="ruby-identifier">file</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-node">&quot;tmp/#{name}.png&quot;</span>).<span class="ruby-identifier">expand_path</span>
1659
+ <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">makedirs</span>(<span class="ruby-identifier">file</span>.<span class="ruby-identifier">dirname</span>)
1660
+ <span class="ruby-identifier">image</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">file</span>)
1661
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">file</span>
1662
+ <span class="ruby-identifier">file</span>
1663
+ <span class="ruby-keyword">end</span></pre>
1664
+ </div>
1665
+ <p>o Magick::Image.read(“logo:”).first</p>
1666
+ </div>
1667
+
1668
+
1669
+ </div>
1670
+
1671
+ <div id="method-i-origin_place" class="method-detail anchor-link ">
1672
+ <div class="method-header">
1673
+ <div class="method-heading">
1674
+ <a href="#method-i-origin_place" title="Link to this method">
1675
+ <span class="method-name">origin_place</span>
1676
+ <span class="method-args">()</span>
1677
+ </a>
1678
+ </div>
1679
+ </div>
1680
+
1681
+ <div class="method-controls">
1682
+ <details class="method-source-toggle">
1683
+ <summary>Source</summary>
1684
+ </details>
1685
+ </div>
1686
+
1687
+ <div class="method-description">
1688
+ <div class="method-source-code" id="origin_place-source">
1689
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 119</span>
1690
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">origin_place</span>
1691
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">hand_log</span>
1692
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">hand_log</span>.<span class="ruby-identifier">hand</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Hand</span><span class="ruby-operator">::</span><span class="ruby-constant">Move</span>)
1693
+ <span class="ruby-constant">V</span>[<span class="ruby-operator">*</span><span class="ruby-identifier">hand_log</span>.<span class="ruby-identifier">hand</span>.<span class="ruby-identifier">origin_soldier</span>.<span class="ruby-identifier">place</span>.<span class="ruby-identifier">to_xy</span>]
1694
+ <span class="ruby-keyword">end</span>
1695
+ <span class="ruby-keyword">end</span>
1696
+ <span class="ruby-keyword">end</span></pre>
1697
+ </div>
1698
+
1699
+ </div>
1700
+
1701
+
1702
+ </div>
1703
+
1704
+ <div id="method-i-outer_bottom_right" class="method-detail anchor-link ">
1705
+ <div class="method-header">
1706
+ <div class="method-heading">
1707
+ <a href="#method-i-outer_bottom_right" title="Link to this method">
1708
+ <span class="method-name">outer_bottom_right</span>
1709
+ <span class="method-args">()</span>
1710
+ </a>
1711
+ </div>
1712
+ </div>
1713
+
1714
+ <div class="method-controls">
1715
+ <details class="method-source-toggle">
1716
+ <summary>Source</summary>
1717
+ </details>
1718
+ </div>
1719
+
1720
+ <div class="method-description">
1721
+ <div class="method-source-code" id="outer_bottom_right-source">
1722
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 336</span>
1723
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">outer_bottom_right</span>
1724
+ <span class="ruby-constant">V</span>[<span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">w</span>, <span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">h</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">outer_frame_padding</span>
1725
+ <span class="ruby-keyword">end</span></pre>
1726
+ </div>
1727
+ <p>外側の左下</p>
1728
+ </div>
1729
+
1730
+
1731
+ </div>
1732
+
1733
+ <div id="method-i-outer_frame_padding" class="method-detail anchor-link ">
1734
+ <div class="method-header">
1735
+ <div class="method-heading">
1736
+ <a href="#method-i-outer_frame_padding" title="Link to this method">
1737
+ <span class="method-name">outer_frame_padding</span>
1738
+ <span class="method-args">()</span>
1739
+ </a>
1740
+ </div>
1741
+ </div>
1742
+
1743
+ <div class="method-controls">
1744
+ <details class="method-source-toggle">
1745
+ <summary>Source</summary>
1746
+ </details>
1747
+ </div>
1748
+
1749
+ <div class="method-description">
1750
+ <div class="method-source-code" id="outer_frame_padding-source">
1751
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 321</span>
1752
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">outer_frame_padding</span>
1753
+ <span class="ruby-constant">V</span>.<span class="ruby-identifier">one</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:outer_frame_padding</span>]
1754
+ <span class="ruby-keyword">end</span></pre>
1755
+ </div>
1756
+ <p>盤の外側とセルの隙間</p>
1757
+ </div>
1758
+
1759
+
1760
+ </div>
1761
+
1762
+ <div id="method-i-outer_frame_radius" class="method-detail anchor-link ">
1763
+ <div class="method-header">
1764
+ <div class="method-heading">
1765
+ <a href="#method-i-outer_frame_radius" title="Link to this method">
1766
+ <span class="method-name">outer_frame_radius</span>
1767
+ <span class="method-args">()</span>
1768
+ </a>
1769
+ </div>
1770
+ </div>
1771
+
1772
+ <div class="method-controls">
1773
+ <details class="method-source-toggle">
1774
+ <summary>Source</summary>
1775
+ </details>
1776
+ </div>
1777
+
1778
+ <div class="method-description">
1779
+ <div class="method-source-code" id="outer_frame_radius-source">
1780
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 312</span>
1781
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">outer_frame_radius</span>
1782
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:outer_frame_padding</span>].<span class="ruby-identifier">zero?</span>
1783
+ <span class="ruby-value">0</span> <span class="ruby-comment"># 隙間が無い場合は線だけの角なので丸めるとセルが削れる。なので強制的に0</span>
1784
+ <span class="ruby-keyword">else</span>
1785
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:outer_frame_radius</span>]
1786
+ <span class="ruby-keyword">end</span>
1787
+ <span class="ruby-keyword">end</span></pre>
1788
+ </div>
1789
+
1790
+ </div>
1791
+
1792
+
1793
+ </div>
1794
+
1795
+ <div id="method-i-outer_rect" class="method-detail anchor-link ">
1796
+ <div class="method-header">
1797
+ <div class="method-heading">
1798
+ <a href="#method-i-outer_rect" title="Link to this method">
1799
+ <span class="method-name">outer_rect</span>
1800
+ <span class="method-args">()</span>
1801
+ </a>
1802
+ </div>
1803
+ </div>
1804
+
1805
+ <div class="method-controls">
1806
+ <details class="method-source-toggle">
1807
+ <summary>Source</summary>
1808
+ </details>
1809
+ </div>
1810
+
1811
+ <div class="method-description">
1812
+ <div class="method-source-code" id="outer_rect-source">
1813
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 341</span>
1814
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">outer_rect</span>
1815
+ <span class="ruby-identifier">outer_bottom_right</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">outer_top_left</span>
1816
+ <span class="ruby-keyword">end</span></pre>
1817
+ </div>
1818
+ <p>外側の領域</p>
1819
+ </div>
1820
+
1821
+
1822
+ </div>
1823
+
1824
+ <div id="method-i-outer_top_left" class="method-detail anchor-link ">
1825
+ <div class="method-header">
1826
+ <div class="method-heading">
1827
+ <a href="#method-i-outer_top_left" title="Link to this method">
1828
+ <span class="method-name">outer_top_left</span>
1829
+ <span class="method-args">()</span>
1830
+ </a>
1831
+ </div>
1832
+ </div>
1833
+
1834
+ <div class="method-controls">
1835
+ <details class="method-source-toggle">
1836
+ <summary>Source</summary>
1837
+ </details>
1838
+ </div>
1839
+
1840
+ <div class="method-description">
1841
+ <div class="method-source-code" id="outer_top_left-source">
1842
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 331</span>
1843
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">outer_top_left</span>
1844
+ <span class="ruby-constant">V</span>[<span class="ruby-value">0</span>, <span class="ruby-value">0</span>] <span class="ruby-operator">-</span> <span class="ruby-identifier">outer_frame_padding</span>
1845
+ <span class="ruby-keyword">end</span></pre>
1846
+ </div>
1847
+ <p>外側の左上</p>
1848
+ </div>
1849
+
1850
+
1851
+ </div>
1852
+
1853
+ <div id="method-i-pattern_layer_create" class="method-detail anchor-link ">
1854
+ <div class="method-header">
1855
+ <div class="method-heading">
1856
+ <a href="#method-i-pattern_layer_create" title="Link to this method">
1857
+ <span class="method-name">pattern_layer_create</span>
1858
+ <span class="method-args">()</span>
1859
+ </a>
1860
+ </div>
1861
+ </div>
1862
+
1863
+ <div class="method-controls">
1864
+ <details class="method-source-toggle">
1865
+ <summary>Source</summary>
1866
+ </details>
1867
+ </div>
1868
+
1869
+ <div class="method-description">
1870
+ <div class="method-source-code" id="pattern_layer_create-source">
1871
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/pentagon.rb, line 160</span>
1872
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">pattern_layer_create</span>
1873
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">v</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:pt_file</span>].<span class="ruby-identifier">presence</span>
1874
+ <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">Pathname</span>(<span class="ruby-identifier">v</span>).<span class="ruby-identifier">expand_path</span>).<span class="ruby-identifier">first</span>
1875
+ <span class="ruby-keyword">end</span>
1876
+ <span class="ruby-keyword">end</span></pre>
1877
+ </div>
1878
+
1879
+ </div>
1880
+
1881
+
1882
+ </div>
1883
+
1884
+ <div id="method-i-pentagon_box_debug" class="method-detail anchor-link ">
1885
+ <div class="method-header">
1886
+ <div class="method-heading">
1887
+ <a href="#method-i-pentagon_box_debug" title="Link to this method">
1888
+ <span class="method-name">pentagon_box_debug</span>
1889
+ <span class="method-args">(v)</span>
1890
+ </a>
1891
+ </div>
1892
+ </div>
1893
+
1894
+ <div class="method-controls">
1895
+ <details class="method-source-toggle">
1896
+ <summary>Source</summary>
1897
+ </details>
1898
+ </div>
1899
+
1900
+ <div class="method-description">
1901
+ <div class="method-source-code" id="pentagon_box_debug-source">
1902
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/pentagon.rb, line 97</span>
1903
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">pentagon_box_debug</span>(<span class="ruby-identifier">v</span>)
1904
+ <span class="ruby-identifier">draw_context</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
1905
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke_width</span>(<span class="ruby-value">1</span>)
1906
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke</span>(<span class="ruby-string">&quot;#000&quot;</span>)
1907
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span>(<span class="ruby-string">&quot;transparent&quot;</span>)
1908
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">rectangle</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-constant">V</span>.<span class="ruby-identifier">one</span>))
1909
+ <span class="ruby-keyword">end</span>
1910
+ <span class="ruby-keyword">end</span></pre>
1911
+ </div>
1912
+
1913
+ </div>
1914
+
1915
+
1916
+ </div>
1917
+
1918
+ <div id="method-i-pentagon_points" class="method-detail anchor-link ">
1919
+ <div class="method-header">
1920
+ <div class="method-heading">
1921
+ <a href="#method-i-pentagon_points" title="Link to this method">
1922
+ <span class="method-name">pentagon_points</span>
1923
+ <span class="method-args">()</span>
1924
+ </a>
1925
+ </div>
1926
+ </div>
1927
+
1928
+ <div class="method-controls">
1929
+ <details class="method-source-toggle">
1930
+ <summary>Source</summary>
1931
+ </details>
1932
+ </div>
1933
+
1934
+ <div class="method-description">
1935
+ <div class="method-source-code" id="pentagon_points-source">
1936
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/pentagon.rb, line 120</span>
1937
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">pentagon_points</span>
1938
+ <span class="ruby-ivar">@pentagon_points</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">yield_self</span> <span class="ruby-keyword">do</span>
1939
+ <span class="ruby-identifier">e</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:pentagon_profile</span>]
1940
+ [
1941
+ [<span class="ruby-value">0.0</span>, <span class="ruby-operator">-</span><span class="ruby-identifier">e</span>[<span class="ruby-value">:kaonaga</span>]], <span class="ruby-comment"># 頂点</span>
1942
+ [<span class="ruby-operator">-</span><span class="ruby-identifier">e</span>[<span class="ruby-value">:katahaba</span>], <span class="ruby-operator">-</span><span class="ruby-identifier">e</span>[<span class="ruby-value">:munenaga</span>]], <span class="ruby-comment"># 左肩</span>
1943
+ [<span class="ruby-operator">-</span><span class="ruby-identifier">e</span>[<span class="ruby-value">:hunbari</span>], <span class="ruby-operator">+</span><span class="ruby-identifier">e</span>[<span class="ruby-value">:asinaga</span>]], <span class="ruby-comment"># 左後</span>
1944
+ [<span class="ruby-operator">+</span><span class="ruby-identifier">e</span>[<span class="ruby-value">:hunbari</span>], <span class="ruby-operator">+</span><span class="ruby-identifier">e</span>[<span class="ruby-value">:asinaga</span>]], <span class="ruby-comment"># 右後</span>
1945
+ [<span class="ruby-operator">+</span><span class="ruby-identifier">e</span>[<span class="ruby-value">:katahaba</span>], <span class="ruby-operator">-</span><span class="ruby-identifier">e</span>[<span class="ruby-value">:munenaga</span>]], <span class="ruby-comment"># 右肩</span>
1946
+ ].<span class="ruby-identifier">collect</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span><span class="ruby-operator">|</span>
1947
+ [
1948
+ <span class="ruby-identifier">x</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">cell_w</span> <span class="ruby-operator">*</span> <span class="ruby-value">0.5</span>,
1949
+ <span class="ruby-identifier">y</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">cell_h</span> <span class="ruby-operator">*</span> <span class="ruby-value">0.5</span>,
1950
+ ]
1951
+ <span class="ruby-keyword">end</span>
1952
+ <span class="ruby-keyword">end</span>
1953
+ <span class="ruby-keyword">end</span></pre>
1954
+ </div>
1955
+ <p>相対座標で☖の一周分pentagon_real_points の方で行う計算で固定のものはこちらで先に行っておく</p>
1956
+ </div>
1957
+
1958
+
1959
+ </div>
1960
+
1961
+ <div id="method-i-pentagon_real_points" class="method-detail anchor-link ">
1962
+ <div class="method-header">
1963
+ <div class="method-heading">
1964
+ <a href="#method-i-pentagon_real_points" title="Link to this method">
1965
+ <span class="method-name">pentagon_real_points</span>
1966
+ <span class="method-args">(v:, location:, scale: 1.0)</span>
1967
+ </a>
1968
+ </div>
1969
+ </div>
1970
+
1971
+ <div class="method-controls">
1972
+ <details class="method-source-toggle">
1973
+ <summary>Source</summary>
1974
+ </details>
1975
+ </div>
1976
+
1977
+ <div class="method-description">
1978
+ <div class="method-source-code" id="pentagon_real_points-source">
1979
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/pentagon.rb, line 108</span>
1980
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">pentagon_real_points</span>(<span class="ruby-value">v:</span>, <span class="ruby-value">location:</span>, <span class="ruby-value">scale:</span> <span class="ruby-value">1.0</span>)
1981
+ <span class="ruby-identifier">cx</span>, <span class="ruby-identifier">cy</span> = <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-constant">V</span>.<span class="ruby-identifier">half</span>) <span class="ruby-comment"># 中央</span>
1982
+ <span class="ruby-identifier">pentagon_points</span>.<span class="ruby-identifier">flat_map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span><span class="ruby-operator">|</span>
1983
+ [
1984
+ <span class="ruby-identifier">cx</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">scale</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">location</span>.<span class="ruby-identifier">sign_dir</span>,
1985
+ <span class="ruby-identifier">cy</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">y</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">scale</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">location</span>.<span class="ruby-identifier">sign_dir</span>,
1986
+ ]
1987
+ <span class="ruby-keyword">end</span>
1988
+ <span class="ruby-keyword">end</span></pre>
1989
+ </div>
1990
+ <p>実座標化OPTIMIZE: cx, cy を除いた部分だけキャッシュした方がよくない?</p>
1991
+ </div>
1992
+
1993
+
1994
+ </div>
1995
+
1996
+ <div id="method-i-piece_char_adjust" class="method-detail anchor-link ">
1997
+ <div class="method-header">
1998
+ <div class="method-heading">
1999
+ <a href="#method-i-piece_char_adjust" title="Link to this method">
2000
+ <span class="method-name">piece_char_adjust</span>
2001
+ <span class="method-args">(location)</span>
2002
+ </a>
2003
+ </div>
2004
+ </div>
2005
+
2006
+ <div class="method-controls">
2007
+ <details class="method-source-toggle">
2008
+ <summary>Source</summary>
2009
+ </details>
2010
+ </div>
2011
+
2012
+ <div class="method-description">
2013
+ <div class="method-source-code" id="piece_char_adjust-source">
2014
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 128</span>
2015
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">piece_char_adjust</span>(<span class="ruby-identifier">location</span>)
2016
+ <span class="ruby-ivar">@piece_char_adjust</span> <span class="ruby-operator">||=</span> {}
2017
+ <span class="ruby-ivar">@piece_char_adjust</span>[<span class="ruby-identifier">location</span>.<span class="ruby-identifier">key</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">V</span>[<span class="ruby-operator">*</span><span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_char_adjust</span>][<span class="ruby-identifier">location</span>.<span class="ruby-identifier">key</span>]] <span class="ruby-operator">*</span> <span class="ruby-identifier">location</span>.<span class="ruby-identifier">sign_dir</span>
2018
+ <span class="ruby-keyword">end</span></pre>
2019
+ </div>
2020
+ <p>フォントの位置を微調整</p>
2021
+ </div>
2022
+
2023
+
2024
+ </div>
2025
+
2026
+ <div id="method-i-piece_count_bg_draw" class="method-detail anchor-link ">
2027
+ <div class="method-header">
2028
+ <div class="method-heading">
2029
+ <a href="#method-i-piece_count_bg_draw" title="Link to this method">
2030
+ <span class="method-name">piece_count_bg_draw</span>
2031
+ <span class="method-args">(v:, location:)</span>
2032
+ </a>
2033
+ </div>
2034
+ </div>
2035
+
2036
+ <div class="method-controls">
2037
+ <details class="method-source-toggle">
2038
+ <summary>Source</summary>
2039
+ </details>
2040
+ </div>
2041
+
2042
+ <div class="method-description">
2043
+ <div class="method-source-code" id="piece_count_bg_draw-source">
2044
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/stand.rb, line 107</span>
2045
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">piece_count_bg_draw</span>(<span class="ruby-value">v:</span>, <span class="ruby-value">location:</span>)
2046
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_count_bg_color</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_count_bg_scale</span>].<span class="ruby-identifier">nonzero?</span>
2047
+ <span class="ruby-identifier">draw_context</span>(<span class="ruby-ivar">@d_piece_count_layer</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
2048
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span>(<span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_count_bg_color</span>])
2049
+
2050
+ <span class="ruby-comment"># v2 = v + V[*params[:piece_count_bg_adjust][w]] * location.sign_dir</span>
2051
+ <span class="ruby-comment"># v2 = v + (V.half + V[*params[:piece_count_bg_adjust]]) * location.sign_dir</span>
2052
+ <span class="ruby-comment"># g.ellipse(*px(v2), *(cell_rect * params[:piece_count_bg_scale] * location.sign_dir), 0, 360) # x, y, w, h, angle(0 to 360)</span>
2053
+ <span class="ruby-comment"># g.ellipse(*px(v2), *cell_rect, 0, 360) # x, y, w, h, angle(0 to 360)</span>
2054
+
2055
+ <span class="ruby-comment"># 個数は左上を原点とした枠の中心(CenterGravity)で表示するのでその位置に移動する</span>
2056
+ <span class="ruby-identifier">from</span> = <span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-constant">V</span>.<span class="ruby-identifier">half</span> <span class="ruby-comment"># 中心に移動</span>
2057
+ <span class="ruby-comment"># from += V[*params[:piece_count_bg_adjust][location.key]] # 微調整</span>
2058
+ <span class="ruby-comment"># fromを基点として大きさを決める</span>
2059
+ <span class="ruby-identifier">to</span> = <span class="ruby-identifier">from</span> <span class="ruby-operator">+</span> <span class="ruby-constant">V</span>.<span class="ruby-identifier">half</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_count_bg_scale</span>]
2060
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">circle</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">from</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">to</span>)) <span class="ruby-comment"># (x1, y1) と (x2, y2) の2点を通る円</span>
2061
+
2062
+ <span class="ruby-comment"># roundrectangle でも円風にできるけど原点が左上なので半径の調整が難しい</span>
2063
+
2064
+ <span class="ruby-comment"># ellipse より roundrectangle の方が扱いやすい?</span>
2065
+ <span class="ruby-comment"># g.roundrectangle(*px(v + V.one * 0.25), *px(v + V.one), *(cell_rect * 0.25))</span>
2066
+ <span class="ruby-comment"># roundrectangle2(g, v)</span>
2067
+ <span class="ruby-comment"># g.rectangle(*px(v), *px(v + V.one * params[:piece_count_bg_scale] * s)) # debug</span>
2068
+ <span class="ruby-keyword">end</span>
2069
+ <span class="ruby-keyword">end</span>
2070
+ <span class="ruby-keyword">end</span></pre>
2071
+ </div>
2072
+ <p>駒数の下の丸</p>
2073
+ </div>
2074
+
2075
+
2076
+ </div>
2077
+
2078
+ <div id="method-i-piece_count_draw" class="method-detail anchor-link ">
2079
+ <div class="method-header">
2080
+ <div class="method-heading">
2081
+ <a href="#method-i-piece_count_draw" title="Link to this method">
2082
+ <span class="method-name">piece_count_draw</span>
2083
+ <span class="method-args">(v:, count:, location:)</span>
2084
+ </a>
2085
+ </div>
2086
+ </div>
2087
+
2088
+ <div class="method-controls">
2089
+ <details class="method-source-toggle">
2090
+ <summary>Source</summary>
2091
+ </details>
2092
+ </div>
2093
+
2094
+ <div class="method-description">
2095
+ <div class="method-source-code" id="piece_count_draw-source">
2096
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/stand.rb, line 87</span>
2097
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">piece_count_draw</span>(<span class="ruby-value">v:</span>, <span class="ruby-value">count:</span>, <span class="ruby-value">location:</span>)
2098
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">count</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">2</span>
2099
+ <span class="ruby-identifier">w</span> = <span class="ruby-identifier">count</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">9</span> <span class="ruby-operator">?</span> <span class="ruby-value">:single</span> <span class="ruby-operator">:</span> <span class="ruby-value">:double</span>
2100
+ <span class="ruby-identifier">v</span> = <span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-constant">V</span>[<span class="ruby-operator">*</span><span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_count_position_adjust</span>][<span class="ruby-identifier">w</span>]] <span class="ruby-operator">*</span> <span class="ruby-identifier">location</span>.<span class="ruby-identifier">sign_dir</span>
2101
+ <span class="ruby-identifier">piece_count_bg_draw</span>(<span class="ruby-value">v:</span> <span class="ruby-identifier">v</span>, <span class="ruby-value">location:</span> <span class="ruby-identifier">location</span>)
2102
+ <span class="ruby-identifier">char_draw</span>(
2103
+ <span class="ruby-value">:layer</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-ivar">@d_piece_count_layer</span>,
2104
+ <span class="ruby-value">:v</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">v</span>,
2105
+ <span class="ruby-value">:text</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">count</span>.<span class="ruby-identifier">to_s</span>,
2106
+ <span class="ruby-value">:location</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">location</span>,
2107
+ <span class="ruby-value">:color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_count_font_color</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_font_color</span>], <span class="ruby-comment"># 地べたに描画するのでコントラスト比を下げるの重要</span>
2108
+ <span class="ruby-value">:font_scale</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_count_font_scale</span>],
2109
+ <span class="ruby-value">:stroke_color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_count_stroke_color</span>],
2110
+ <span class="ruby-value">:stroke_width</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_count_stroke_width</span>],
2111
+ <span class="ruby-value">:bold</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_count_bold</span>],
2112
+ )
2113
+ <span class="ruby-keyword">end</span>
2114
+ <span class="ruby-keyword">end</span></pre>
2115
+ </div>
2116
+ <p>駒数</p>
2117
+ </div>
2118
+
2119
+
2120
+ </div>
2121
+
2122
+ <div id="method-i-piece_image_draw" class="method-detail anchor-link ">
2123
+ <div class="method-header">
2124
+ <div class="method-heading">
2125
+ <a href="#method-i-piece_image_draw" title="Link to this method">
2126
+ <span class="method-name">piece_image_draw</span>
2127
+ <span class="method-args">(v:, soldier:)</span>
2128
+ </a>
2129
+ </div>
2130
+ </div>
2131
+
2132
+ <div class="method-controls">
2133
+ <details class="method-source-toggle">
2134
+ <summary>Source</summary>
2135
+ </details>
2136
+ </div>
2137
+
2138
+ <div class="method-description">
2139
+ <div class="method-source-code" id="piece_image_draw-source">
2140
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 49</span>
2141
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">piece_image_draw</span>(<span class="ruby-value">v:</span>, <span class="ruby-value">soldier:</span>)
2142
+ <span class="ruby-identifier">piece_path</span> = <span class="ruby-identifier">piece_image_info</span>.<span class="ruby-identifier">piece_path</span>(<span class="ruby-identifier">soldier</span>)
2143
+ <span class="ruby-identifier">scale</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_image_scale</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">piece_image_info</span>.<span class="ruby-identifier">default_scale</span>
2144
+ <span class="ruby-identifier">wh</span> = (<span class="ruby-identifier">cell_rect</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">scale</span>).<span class="ruby-identifier">collect</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:ceil</span>) <span class="ruby-comment"># =&gt; [105, 114]</span>
2145
+ <span class="ruby-identifier">cache_key</span> = [<span class="ruby-identifier">piece_path</span>, <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;x&quot;</span>)].<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;,&quot;</span>) <span class="ruby-comment"># =&gt; &quot;nureyon/BP0,105x114&quot;</span>
2146
+
2147
+ <span class="ruby-ivar">@piece_image_draw</span> <span class="ruby-operator">||=</span> {}
2148
+ <span class="ruby-identifier">image</span> = <span class="ruby-ivar">@piece_image_draw</span>[<span class="ruby-identifier">cache_key</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">yield_self</span> <span class="ruby-keyword">do</span>
2149
+ <span class="ruby-identifier">full_path</span> = <span class="ruby-constant">ASSETS_DIR</span>.<span class="ruby-identifier">join</span>(<span class="ruby-node">&quot;images/piece/#{piece_path}.#{piece_image_info.ext_name}&quot;</span>)
2150
+ <span class="ruby-identifier">image</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">full_path</span>).<span class="ruby-identifier">first</span>
2151
+ <span class="ruby-identifier">image</span>.<span class="ruby-identifier">resize_to_fill</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">wh</span>) <span class="ruby-comment"># 描画領域の大きさに調整(縮小)させる</span>
2152
+ <span class="ruby-keyword">end</span>
2153
+
2154
+ <span class="ruby-identifier">top_left</span> = <span class="ruby-constant">V</span>.<span class="ruby-identifier">one</span> <span class="ruby-operator">*</span> (<span class="ruby-value">1.0</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">scale</span>) <span class="ruby-operator">/</span> <span class="ruby-value">2</span> <span class="ruby-comment"># スケールが 0.8 なら左上から右下方向に 0.1 の位置から描画すればセルの真ん中に配置できる</span>
2155
+ <span class="ruby-ivar">@d_piece_layer</span>.<span class="ruby-identifier">composite!</span>(<span class="ruby-identifier">image</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">top_left</span>), <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">OverCompositeOp</span>)
2156
+ <span class="ruby-keyword">end</span></pre>
2157
+ </div>
2158
+
2159
+ </div>
2160
+
2161
+
2162
+ </div>
2163
+
2164
+ <div id="method-i-piece_image_info" class="method-detail anchor-link ">
2165
+ <div class="method-header">
2166
+ <div class="method-heading">
2167
+ <a href="#method-i-piece_image_info" title="Link to this method">
2168
+ <span class="method-name">piece_image_info</span>
2169
+ <span class="method-args">()</span>
2170
+ </a>
2171
+ </div>
2172
+ </div>
2173
+
2174
+ <div class="method-controls">
2175
+ <details class="method-source-toggle">
2176
+ <summary>Source</summary>
2177
+ </details>
2178
+ </div>
2179
+
2180
+ <div class="method-description">
2181
+ <div class="method-source-code" id="piece_image_info-source">
2182
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 346</span>
2183
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">piece_image_info</span>
2184
+ <span class="ruby-ivar">@piece_image_info</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">PieceImageInfo</span>.<span class="ruby-identifier">lookup</span>(<span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_image_key</span>])
2185
+ <span class="ruby-keyword">end</span></pre>
2186
+ </div>
2187
+ <p>portella, nureyon などの情報</p>
2188
+ </div>
2189
+
2190
+
2191
+ </div>
2192
+
2193
+ <div id="method-i-piece_pentagon_draw" class="method-detail anchor-link ">
2194
+ <div class="method-header">
2195
+ <div class="method-heading">
2196
+ <a href="#method-i-piece_pentagon_draw" title="Link to this method">
2197
+ <span class="method-name">piece_pentagon_draw</span>
2198
+ <span class="method-args">(v:, location:, piece: nil)</span>
2199
+ </a>
2200
+ </div>
2201
+ </div>
2202
+
2203
+ <div class="method-controls">
2204
+ <details class="method-source-toggle">
2205
+ <summary>Source</summary>
2206
+ </details>
2207
+ </div>
2208
+
2209
+ <div class="method-description">
2210
+ <div class="method-source-code" id="piece_pentagon_draw-source">
2211
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/pentagon.rb, line 65</span>
2212
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">piece_pentagon_draw</span>(<span class="ruby-value">v:</span>, <span class="ruby-value">location:</span>, <span class="ruby-value">piece:</span> <span class="ruby-keyword">nil</span>)
2213
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_pentagon_draw</span>]
2214
+ <span class="ruby-comment"># pentagon_box_debug(v)</span>
2215
+ <span class="ruby-identifier">draw_context</span>(<span class="ruby-ivar">@d_piece_layer</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
2216
+ <span class="ruby-identifier">w</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_pentagon_stroke_width</span>]
2217
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">w</span>.<span class="ruby-identifier">nonzero?</span>
2218
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke</span>(<span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_pentagon_stroke_color</span>])
2219
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke_width</span>(<span class="ruby-identifier">w</span>)
2220
+ <span class="ruby-keyword">end</span>
2221
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@s_pattern_layer</span>
2222
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill_pattern</span> = <span class="ruby-ivar">@s_pattern_layer</span> <span class="ruby-comment"># テクスチャが足りない場合は繰り返し敷き詰められる。だいたい64pxあればよい。余裕を見て 128x128 で作ろう</span>
2223
+ <span class="ruby-keyword">end</span>
2224
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span>(<span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_pentagon_fill_color</span>])
2225
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">polygon</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">pentagon_real_points</span>(<span class="ruby-value">v:</span> <span class="ruby-identifier">v</span>, <span class="ruby-value">location:</span> <span class="ruby-identifier">location</span>, <span class="ruby-value">scale:</span> <span class="ruby-identifier">piece_pentagon_scale</span>(<span class="ruby-identifier">piece</span>)))
2226
+ <span class="ruby-keyword">end</span>
2227
+ <span class="ruby-keyword">end</span>
2228
+ <span class="ruby-keyword">end</span></pre>
2229
+ </div>
2230
+
2231
+ </div>
2232
+
2233
+
2234
+ </div>
2235
+
2236
+ <div id="method-i-piece_pentagon_scale" class="method-detail anchor-link ">
2237
+ <div class="method-header">
2238
+ <div class="method-heading">
2239
+ <a href="#method-i-piece_pentagon_scale" title="Link to this method">
2240
+ <span class="method-name">piece_pentagon_scale</span>
2241
+ <span class="method-args">(piece)</span>
2242
+ </a>
2243
+ </div>
2244
+ </div>
2245
+
2246
+ <div class="method-controls">
2247
+ <details class="method-source-toggle">
2248
+ <summary>Source</summary>
2249
+ </details>
2250
+ </div>
2251
+
2252
+ <div class="method-description">
2253
+ <div class="method-source-code" id="piece_pentagon_scale-source">
2254
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/pentagon.rb, line 140</span>
2255
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">piece_pentagon_scale</span>(<span class="ruby-identifier">piece</span>)
2256
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_pentagon_scale</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">piece</span>.<span class="ruby-identifier">scale</span>
2257
+ <span class="ruby-keyword">end</span></pre>
2258
+ </div>
2259
+ <p>piece</p>
2260
+ </div>
2261
+
2262
+
2263
+ </div>
2264
+
2265
+ <div id="method-i-ps" class="method-detail anchor-link ">
2266
+ <div class="method-header">
2267
+ <div class="method-heading">
2268
+ <a href="#method-i-ps" title="Link to this method">
2269
+ <span class="method-name">ps</span>
2270
+ <span class="method-args">(v)</span>
2271
+ </a>
2272
+ </div>
2273
+ </div>
2274
+
2275
+ <div class="method-controls">
2276
+ <details class="method-source-toggle">
2277
+ <summary>Source</summary>
2278
+ </details>
2279
+ </div>
2280
+
2281
+ <div class="method-description">
2282
+ <div class="method-source-code" id="ps-source">
2283
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 233</span>
2284
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">ps</span>(<span class="ruby-identifier">v</span>)
2285
+ <span class="ruby-identifier">v</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">cell_rect</span>
2286
+ <span class="ruby-keyword">end</span></pre>
2287
+ </div>
2288
+ <p>pixel size</p>
2289
+ </div>
2290
+
2291
+
2292
+ </div>
2293
+
2294
+ <div id="method-i-px" class="method-detail anchor-link ">
2295
+ <div class="method-header">
2296
+ <div class="method-heading">
2297
+ <a href="#method-i-px" title="Link to this method">
2298
+ <span class="method-name">px</span>
2299
+ <span class="method-args">(v)</span>
2300
+ </a>
2301
+ </div>
2302
+ </div>
2303
+
2304
+ <div class="method-controls">
2305
+ <details class="method-source-toggle">
2306
+ <summary>Source</summary>
2307
+ </details>
2308
+ </div>
2309
+
2310
+ <div class="method-description">
2311
+ <div class="method-source-code" id="px-source">
2312
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 228</span>
2313
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">px</span>(<span class="ruby-identifier">v</span>)
2314
+ <span class="ruby-identifier">top_left</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">ps</span>(<span class="ruby-identifier">v</span>)
2315
+ <span class="ruby-keyword">end</span></pre>
2316
+ </div>
2317
+ <p>メモ化の効果なし</p>
2318
+ </div>
2319
+
2320
+
2321
+ </div>
2322
+
2323
+ <div id="method-i-render" class="method-detail anchor-link ">
2324
+ <div class="method-header">
2325
+ <div class="method-heading">
2326
+ <a href="#method-i-render" title="Link to this method">
2327
+ <span class="method-name">render</span>
2328
+ <span class="method-args">()</span>
2329
+ </a>
2330
+ </div>
2331
+ </div>
2332
+
2333
+ <div class="method-controls">
2334
+ <details class="method-source-toggle">
2335
+ <summary>Source</summary>
2336
+ </details>
2337
+ </div>
2338
+
2339
+ <div class="method-description">
2340
+ <div class="method-source-code" id="render-source">
2341
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 122</span>
2342
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">render</span>
2343
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">tagged</span>(<span class="ruby-ivar">@build_counter</span>) <span class="ruby-keyword">do</span>
2344
+ <span class="ruby-identifier">require</span> <span class="ruby-string">&quot;rmagick&quot;</span>
2345
+
2346
+ <span class="ruby-ivar">@hand_log</span> = <span class="ruby-identifier">container</span>.<span class="ruby-identifier">hand_logs</span>.<span class="ruby-identifier">last</span>
2347
+
2348
+ <span class="ruby-comment"># たまたまレイヤー単位でまとめられたけど本当はレイヤーを気にせずに「やりたいこと単位」でまとめるべき</span>
2349
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span> <span class="ruby-string">&quot;static layer&quot;</span>
2350
+ <span class="ruby-ivar">@s_canvas_layer</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">canvas_layer_create</span>
2351
+ <span class="ruby-ivar">@s_board_layer</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">board_layer_create</span>
2352
+ <span class="ruby-ivar">@s_lattice_layer</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">lattice_layer_create</span>
2353
+ <span class="ruby-ivar">@s_pattern_layer</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">pattern_layer_create</span>
2354
+
2355
+ <span class="ruby-comment"># こちらの stand_draw を見ればレイヤー単位でまとめるのは難しいことがわかる</span>
2356
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span> <span class="ruby-string">&quot;dynamic layer&quot;</span>
2357
+ <span class="ruby-identifier">dynamic_layer_setup</span>
2358
+ <span class="ruby-identifier">soldier_move_cell_draw</span> <span class="ruby-comment"># to d_move_layer</span>
2359
+ <span class="ruby-identifier">soldier_draw_all</span> <span class="ruby-comment"># to d_piece_layer</span>
2360
+ <span class="ruby-identifier">stand_draw</span> <span class="ruby-comment"># to d_piece_layer, d_piece_count_layer</span>
2361
+
2362
+ <span class="ruby-comment"># メモリが足りないとこのどこかで落ちる</span>
2363
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span> <span class="ruby-string">&quot;composite&quot;</span>
2364
+ <span class="ruby-identifier">current</span> = <span class="ruby-ivar">@s_canvas_layer</span>.<span class="ruby-identifier">composite</span>(<span class="ruby-ivar">@s_board_layer</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">OverCompositeOp</span>) <span class="ruby-comment"># 背景 + 物&#39;</span>
2365
+ <span class="ruby-identifier">current</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">composite</span>(<span class="ruby-ivar">@d_move_layer</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">OverCompositeOp</span>) <span class="ruby-comment"># 背景 + 物&#39;</span>
2366
+ <span class="ruby-identifier">current</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">composite</span>(<span class="ruby-ivar">@s_lattice_layer</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">OverCompositeOp</span>) <span class="ruby-comment"># 背景 + 物&#39;</span>
2367
+ <span class="ruby-identifier">current</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">composite</span>(<span class="ruby-identifier">with_shadow_only_font_pice</span>(<span class="ruby-ivar">@d_piece_layer</span>), <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">OverCompositeOp</span>) <span class="ruby-comment"># 背景 + 物&#39;</span>
2368
+ <span class="ruby-identifier">current</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">composite</span>(<span class="ruby-ivar">@d_piece_count_layer</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">OverCompositeOp</span>) <span class="ruby-comment"># 背景 + 物&#39;</span>
2369
+
2370
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span> <span class="ruby-string">&quot;condition_then_flip&quot;</span>
2371
+ <span class="ruby-identifier">current</span> = <span class="ruby-identifier">condition_then_flip</span>(<span class="ruby-identifier">current</span>)
2372
+
2373
+ <span class="ruby-identifier">turn_draw</span>(<span class="ruby-identifier">current</span>) <span class="ruby-comment"># レイヤーを作らず直接書き込み</span>
2374
+
2375
+ <span class="ruby-identifier">current</span> = <span class="ruby-identifier">condition_then_color_negate</span>(<span class="ruby-identifier">current</span>) <span class="ruby-comment"># 色反転</span>
2376
+
2377
+ <span class="ruby-ivar">@build_counter</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2378
+ <span class="ruby-identifier">current</span>
2379
+ <span class="ruby-keyword">end</span>
2380
+ <span class="ruby-keyword">end</span></pre>
2381
+ </div>
2382
+
2383
+ </div>
2384
+
2385
+
2386
+ </div>
2387
+
2388
+ <div id="method-i-round_radious" class="method-detail anchor-link ">
2389
+ <div class="method-header">
2390
+ <div class="method-heading">
2391
+ <a href="#method-i-round_radious" title="Link to this method">
2392
+ <span class="method-name">round_radious</span>
2393
+ <span class="method-args">()</span>
2394
+ </a>
2395
+ </div>
2396
+ </div>
2397
+
2398
+ <div class="method-controls">
2399
+ <details class="method-source-toggle">
2400
+ <summary>Source</summary>
2401
+ </details>
2402
+ </div>
2403
+
2404
+ <div class="method-description">
2405
+ <div class="method-source-code" id="round_radious-source">
2406
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 326</span>
2407
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">round_radious</span>
2408
+ <span class="ruby-identifier">cell_rect</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">outer_frame_radius</span>
2409
+ <span class="ruby-keyword">end</span></pre>
2410
+ </div>
2411
+ <p>角の丸め度合い</p>
2412
+ </div>
2413
+
2414
+
2415
+ </div>
2416
+
2417
+ <div id="method-i-soldier_draw" class="method-detail anchor-link ">
2418
+ <div class="method-header">
2419
+ <div class="method-heading">
2420
+ <a href="#method-i-soldier_draw" title="Link to this method">
2421
+ <span class="method-name">soldier_draw</span>
2422
+ <span class="method-args">(soldier)</span>
2423
+ </a>
2424
+ </div>
2425
+ </div>
2426
+
2427
+ <div class="method-controls">
2428
+ <details class="method-source-toggle">
2429
+ <summary>Source</summary>
2430
+ </details>
2431
+ </div>
2432
+
2433
+ <div class="method-description">
2434
+ <div class="method-source-code" id="soldier_draw-source">
2435
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 8</span>
2436
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">soldier_draw</span>(<span class="ruby-identifier">soldier</span>)
2437
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">piece_image_info</span>
2438
+ <span class="ruby-identifier">soldier_draw_by_image</span>(<span class="ruby-identifier">soldier</span>)
2439
+ <span class="ruby-keyword">else</span>
2440
+ <span class="ruby-identifier">soldier_draw_by_char</span>(<span class="ruby-identifier">soldier</span>)
2441
+ <span class="ruby-keyword">end</span>
2442
+ <span class="ruby-keyword">end</span></pre>
2443
+ </div>
2444
+
2445
+ </div>
2446
+
2447
+
2448
+ </div>
2449
+
2450
+ <div id="method-i-soldier_draw_all" class="method-detail anchor-link ">
2451
+ <div class="method-header">
2452
+ <div class="method-heading">
2453
+ <a href="#method-i-soldier_draw_all" title="Link to this method">
2454
+ <span class="method-name">soldier_draw_all</span>
2455
+ <span class="method-args">()</span>
2456
+ </a>
2457
+ </div>
2458
+ </div>
2459
+
2460
+ <div class="method-controls">
2461
+ <details class="method-source-toggle">
2462
+ <summary>Source</summary>
2463
+ </details>
2464
+ </div>
2465
+
2466
+ <div class="method-description">
2467
+ <div class="method-source-code" id="soldier_draw_all-source">
2468
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 4</span>
2469
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">soldier_draw_all</span>
2470
+ <span class="ruby-identifier">container</span>.<span class="ruby-identifier">board</span>.<span class="ruby-identifier">soldiers</span>.<span class="ruby-identifier">each</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-value">:soldier_draw</span>)) <span class="ruby-comment"># 駒を描画</span>
2471
+ <span class="ruby-keyword">end</span></pre>
2472
+ </div>
2473
+
2474
+ </div>
2475
+
2476
+
2477
+ </div>
2478
+
2479
+ <div id="method-i-soldier_draw_by_char" class="method-detail anchor-link ">
2480
+ <div class="method-header">
2481
+ <div class="method-heading">
2482
+ <a href="#method-i-soldier_draw_by_char" title="Link to this method">
2483
+ <span class="method-name">soldier_draw_by_char</span>
2484
+ <span class="method-args">(soldier)</span>
2485
+ </a>
2486
+ </div>
2487
+ </div>
2488
+
2489
+ <div class="method-controls">
2490
+ <details class="method-source-toggle">
2491
+ <summary>Source</summary>
2492
+ </details>
2493
+ </div>
2494
+
2495
+ <div class="method-description">
2496
+ <div class="method-source-code" id="soldier_draw_by_char-source">
2497
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 16</span>
2498
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">soldier_draw_by_char</span>(<span class="ruby-identifier">soldier</span>)
2499
+ <span class="ruby-identifier">v</span> = <span class="ruby-constant">V</span>[<span class="ruby-operator">*</span><span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">place</span>.<span class="ruby-identifier">to_xy</span>]
2500
+ <span class="ruby-identifier">location</span> = <span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">location</span>
2501
+ <span class="ruby-identifier">color</span> = <span class="ruby-keyword">nil</span>
2502
+ <span class="ruby-identifier">bold</span> = <span class="ruby-keyword">false</span>
2503
+
2504
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">hand_log</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">soldier</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">hand_log</span>.<span class="ruby-identifier">soldier</span>
2505
+ <span class="ruby-identifier">color</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:last_soldier_font_color</span>]
2506
+ <span class="ruby-identifier">bold</span> = <span class="ruby-keyword">true</span>
2507
+ <span class="ruby-keyword">end</span>
2508
+
2509
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">promoted</span>
2510
+ <span class="ruby-identifier">color</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:promoted_font_color</span>]
2511
+ <span class="ruby-keyword">end</span>
2512
+
2513
+ <span class="ruby-identifier">piece_pentagon_draw</span>(<span class="ruby-value">v:</span> <span class="ruby-identifier">v</span>, <span class="ruby-value">location:</span> <span class="ruby-identifier">location</span>, <span class="ruby-value">piece:</span> <span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">piece</span>) <span class="ruby-comment"># ☗☖</span>
2514
+
2515
+ <span class="ruby-identifier">char_draw</span>(
2516
+ <span class="ruby-value">:layer</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-ivar">@d_piece_layer</span>,
2517
+ <span class="ruby-value">:v</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">piece_char_adjust</span>(<span class="ruby-identifier">location</span>),
2518
+ <span class="ruby-value">:text</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">soldier_name</span>(<span class="ruby-identifier">soldier</span>),
2519
+ <span class="ruby-value">:location</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">location</span>,
2520
+ <span class="ruby-value">:color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">color</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:normal_piece_color_map</span>][<span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">piece</span>.<span class="ruby-identifier">key</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_font_color</span>],
2521
+ <span class="ruby-value">:bold</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">bold</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:soldier_font_bold</span>],
2522
+ <span class="ruby-value">:font_scale</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">soldier_font_scale</span>(<span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">piece</span>),
2523
+ )
2524
+ <span class="ruby-keyword">end</span></pre>
2525
+ </div>
2526
+
2527
+ </div>
2528
+
2529
+
2530
+ </div>
2531
+
2532
+ <div id="method-i-soldier_draw_by_image" class="method-detail anchor-link ">
2533
+ <div class="method-header">
2534
+ <div class="method-heading">
2535
+ <a href="#method-i-soldier_draw_by_image" title="Link to this method">
2536
+ <span class="method-name">soldier_draw_by_image</span>
2537
+ <span class="method-args">(soldier)</span>
2538
+ </a>
2539
+ </div>
2540
+ </div>
2541
+
2542
+ <div class="method-controls">
2543
+ <details class="method-source-toggle">
2544
+ <summary>Source</summary>
2545
+ </details>
2546
+ </div>
2547
+
2548
+ <div class="method-description">
2549
+ <div class="method-source-code" id="soldier_draw_by_image-source">
2550
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 44</span>
2551
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">soldier_draw_by_image</span>(<span class="ruby-identifier">soldier</span>)
2552
+ <span class="ruby-identifier">v</span> = <span class="ruby-constant">V</span>[<span class="ruby-operator">*</span><span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">place</span>.<span class="ruby-identifier">to_xy</span>]
2553
+ <span class="ruby-identifier">piece_image_draw</span>(<span class="ruby-value">v:</span> <span class="ruby-identifier">v</span>, <span class="ruby-value">soldier:</span> <span class="ruby-identifier">soldier</span>)
2554
+ <span class="ruby-keyword">end</span></pre>
2555
+ </div>
2556
+
2557
+ </div>
2558
+
2559
+
2560
+ </div>
2561
+
2562
+ <div id="method-i-soldier_font_scale" class="method-detail anchor-link ">
2563
+ <div class="method-header">
2564
+ <div class="method-heading">
2565
+ <a href="#method-i-soldier_font_scale" title="Link to this method">
2566
+ <span class="method-name">soldier_font_scale</span>
2567
+ <span class="method-args">(piece)</span>
2568
+ </a>
2569
+ </div>
2570
+ </div>
2571
+
2572
+ <div class="method-controls">
2573
+ <details class="method-source-toggle">
2574
+ <summary>Source</summary>
2575
+ </details>
2576
+ </div>
2577
+
2578
+ <div class="method-description">
2579
+ <div class="method-source-code" id="soldier_font_scale-source">
2580
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 133</span>
2581
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">soldier_font_scale</span>(<span class="ruby-identifier">piece</span>)
2582
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:soldier_font_scale</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">piece</span>.<span class="ruby-identifier">scale</span>
2583
+ <span class="ruby-keyword">end</span></pre>
2584
+ </div>
2585
+
2586
+ </div>
2587
+
2588
+
2589
+ </div>
2590
+
2591
+ <div id="method-i-soldier_move_cell_draw" class="method-detail anchor-link ">
2592
+ <div class="method-header">
2593
+ <div class="method-heading">
2594
+ <a href="#method-i-soldier_move_cell_draw" title="Link to this method">
2595
+ <span class="method-name">soldier_move_cell_draw</span>
2596
+ <span class="method-args">()</span>
2597
+ </a>
2598
+ </div>
2599
+ </div>
2600
+
2601
+ <div class="method-controls">
2602
+ <details class="method-source-toggle">
2603
+ <summary>Source</summary>
2604
+ </details>
2605
+ </div>
2606
+
2607
+ <div class="method-description">
2608
+ <div class="method-source-code" id="soldier_move_cell_draw-source">
2609
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 66</span>
2610
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">soldier_move_cell_draw</span>
2611
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_move_cell_fill_color</span>]
2612
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">hand_log</span>
2613
+ <span class="ruby-identifier">draw_context</span>(<span class="ruby-ivar">@d_move_layer</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
2614
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke</span>(<span class="ruby-string">&quot;transparent&quot;</span>)
2615
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_move_cell_fill_color</span>]
2616
+ <span class="ruby-identifier">cell_draw</span>(<span class="ruby-identifier">g</span>, <span class="ruby-identifier">current_place</span>)
2617
+ <span class="ruby-identifier">cell_draw</span>(<span class="ruby-identifier">g</span>, <span class="ruby-identifier">origin_place</span>)
2618
+ <span class="ruby-keyword">end</span>
2619
+ <span class="ruby-keyword">end</span>
2620
+ <span class="ruby-keyword">end</span>
2621
+ <span class="ruby-keyword">end</span></pre>
2622
+ </div>
2623
+
2624
+ </div>
2625
+
2626
+
2627
+ </div>
2628
+
2629
+ <div id="method-i-soldier_name" class="method-detail anchor-link ">
2630
+ <div class="method-header">
2631
+ <div class="method-heading">
2632
+ <a href="#method-i-soldier_name" title="Link to this method">
2633
+ <span class="method-name">soldier_name</span>
2634
+ <span class="method-args">(soldier)</span>
2635
+ </a>
2636
+ </div>
2637
+ </div>
2638
+
2639
+ <div class="method-controls">
2640
+ <details class="method-source-toggle">
2641
+ <summary>Source</summary>
2642
+ </details>
2643
+ </div>
2644
+
2645
+ <div class="method-description">
2646
+ <div class="method-source-code" id="soldier_name-source">
2647
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/soldier_methods.rb, line 104</span>
2648
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">soldier_name</span>(<span class="ruby-identifier">soldier</span>)
2649
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">piece</span>.<span class="ruby-identifier">key</span> <span class="ruby-operator">==</span> <span class="ruby-value">:king</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">location</span>.<span class="ruby-identifier">key</span> <span class="ruby-operator">==</span> <span class="ruby-value">:white</span>
2650
+ <span class="ruby-string">&quot;王&quot;</span> <span class="ruby-comment"># FIXME: ハードコーディングすんな</span>
2651
+ <span class="ruby-keyword">else</span>
2652
+ <span class="ruby-identifier">soldier</span>.<span class="ruby-identifier">any_name</span>
2653
+ <span class="ruby-keyword">end</span>
2654
+ <span class="ruby-keyword">end</span></pre>
2655
+ </div>
2656
+
2657
+ </div>
2658
+
2659
+
2660
+ </div>
2661
+
2662
+ <div id="method-i-stand_draw" class="method-detail anchor-link ">
2663
+ <div class="method-header">
2664
+ <div class="method-heading">
2665
+ <a href="#method-i-stand_draw" title="Link to this method">
2666
+ <span class="method-name">stand_draw</span>
2667
+ <span class="method-args">()</span>
2668
+ </a>
2669
+ </div>
2670
+ </div>
2671
+
2672
+ <div class="method-controls">
2673
+ <details class="method-source-toggle">
2674
+ <summary>Source</summary>
2675
+ </details>
2676
+ </div>
2677
+
2678
+ <div class="method-description">
2679
+ <div class="method-source-code" id="stand_draw-source">
2680
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/stand.rb, line 36</span>
2681
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">stand_draw</span>
2682
+ <span class="ruby-identifier">g</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:stand_piece_line_height</span>]
2683
+
2684
+ <span class="ruby-identifier">container</span>.<span class="ruby-identifier">players</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">player</span><span class="ruby-operator">|</span>
2685
+ <span class="ruby-identifier">location</span> = <span class="ruby-identifier">player</span>.<span class="ruby-identifier">location</span>
2686
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">location</span>.<span class="ruby-identifier">sign_dir</span>
2687
+
2688
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">player</span>.<span class="ruby-identifier">location</span>.<span class="ruby-identifier">key</span> <span class="ruby-operator">==</span> <span class="ruby-value">:black</span>
2689
+ <span class="ruby-identifier">v</span> = <span class="ruby-identifier">v_bottom_right_outer</span>
2690
+ <span class="ruby-keyword">else</span>
2691
+ <span class="ruby-identifier">v</span> = <span class="ruby-identifier">v_top_left_outer</span>
2692
+ <span class="ruby-keyword">end</span>
2693
+
2694
+ <span class="ruby-identifier">h</span> = <span class="ruby-constant">V</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">player</span>.<span class="ruby-identifier">piece_box</span>.<span class="ruby-identifier">count</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">g</span> <span class="ruby-comment"># 駒数に対応した高さ</span>
2695
+ <span class="ruby-identifier">v</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">s</span> <span class="ruby-comment"># 右下から右端中央にずらす</span>
2696
+ <span class="ruby-identifier">v</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">V</span>[<span class="ruby-identifier">params</span>[<span class="ruby-value">:stand_board_gap</span>], <span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">s</span> <span class="ruby-comment"># 盤と持駒の隙間を開ける</span>
2697
+
2698
+ <span class="ruby-identifier">face_pentagon_draw</span>(<span class="ruby-value">v:</span> <span class="ruby-identifier">v</span>, <span class="ruby-value">location:</span> <span class="ruby-identifier">location</span>) <span class="ruby-comment"># ☗☖</span>
2699
+
2700
+ <span class="ruby-identifier">v</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">V</span>[<span class="ruby-value">0</span>, <span class="ruby-value">1</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">g</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">s</span>
2701
+
2702
+ <span class="ruby-identifier">player</span>.<span class="ruby-identifier">piece_box</span>.<span class="ruby-identifier">each</span>.<span class="ruby-identifier">with_index</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span>(<span class="ruby-identifier">piece_key</span>, <span class="ruby-identifier">count</span>), <span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
2703
+ <span class="ruby-identifier">piece</span> = <span class="ruby-constant">Piece</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">piece_key</span>)
2704
+
2705
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_image_key</span>]
2706
+ <span class="ruby-identifier">soldier</span> = <span class="ruby-constant">Soldier</span>.<span class="ruby-identifier">create</span>(<span class="ruby-value">location:</span> <span class="ruby-identifier">location</span>, <span class="ruby-value">piece:</span> <span class="ruby-identifier">piece</span>, <span class="ruby-value">promoted:</span> <span class="ruby-keyword">false</span>, <span class="ruby-value">place:</span> <span class="ruby-constant">Place</span>.<span class="ruby-identifier">zero</span>)
2707
+ <span class="ruby-identifier">piece_image_draw</span>(<span class="ruby-value">v:</span> <span class="ruby-identifier">v</span>, <span class="ruby-value">soldier:</span> <span class="ruby-identifier">soldier</span>)
2708
+ <span class="ruby-keyword">else</span>
2709
+ <span class="ruby-comment"># 持駒の影</span>
2710
+ <span class="ruby-identifier">piece_pentagon_draw</span>(<span class="ruby-value">v:</span> <span class="ruby-identifier">v</span>, <span class="ruby-value">location:</span> <span class="ruby-identifier">location</span>, <span class="ruby-value">piece:</span> <span class="ruby-identifier">piece</span>)
2711
+
2712
+ <span class="ruby-comment"># 持駒</span>
2713
+ <span class="ruby-identifier">char_draw</span>(
2714
+ <span class="ruby-value">:layer</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-ivar">@d_piece_layer</span>,
2715
+ <span class="ruby-value">:v</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">piece_char_adjust</span>(<span class="ruby-identifier">location</span>),
2716
+ <span class="ruby-value">:text</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">piece</span>.<span class="ruby-identifier">name</span>,
2717
+ <span class="ruby-value">:location</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">location</span>,
2718
+ <span class="ruby-value">:color</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:stand_piece_color</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:piece_font_color</span>],
2719
+ <span class="ruby-value">:font_scale</span> <span class="ruby-operator">=&gt;</span> (<span class="ruby-identifier">params</span>[<span class="ruby-value">:stand_piece_font_scale</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:soldier_font_scale</span>]) <span class="ruby-operator">*</span> <span class="ruby-identifier">piece</span>.<span class="ruby-identifier">scale</span>,
2720
+ <span class="ruby-value">:bold</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:stand_piece_font_bold</span>]
2721
+ )
2722
+ <span class="ruby-keyword">end</span>
2723
+
2724
+ <span class="ruby-comment"># 持駒数</span>
2725
+ <span class="ruby-identifier">piece_count_draw</span>(<span class="ruby-value">v:</span> <span class="ruby-identifier">v</span>, <span class="ruby-value">count:</span> <span class="ruby-identifier">count</span>, <span class="ruby-value">location:</span> <span class="ruby-identifier">location</span>)
2726
+ <span class="ruby-identifier">v</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">V</span>[<span class="ruby-value">0</span>, <span class="ruby-value">1</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">g</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">s</span>
2727
+ <span class="ruby-keyword">end</span>
2728
+ <span class="ruby-keyword">end</span>
2729
+ <span class="ruby-keyword">end</span></pre>
2730
+ </div>
2731
+
2732
+ </div>
2733
+
2734
+
2735
+ </div>
2736
+
2737
+ <div id="method-i-star_draw" class="method-detail anchor-link ">
2738
+ <div class="method-header">
2739
+ <div class="method-heading">
2740
+ <a href="#method-i-star_draw" title="Link to this method">
2741
+ <span class="method-name">star_draw</span>
2742
+ <span class="method-args">(layer)</span>
2743
+ </a>
2744
+ </div>
2745
+ </div>
2746
+
2747
+ <div class="method-controls">
2748
+ <details class="method-source-toggle">
2749
+ <summary>Source</summary>
2750
+ </details>
2751
+ </div>
2752
+
2753
+ <div class="method-description">
2754
+ <div class="method-source-code" id="star_draw-source">
2755
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/board_methods.rb, line 50</span>
2756
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">star_draw</span>(<span class="ruby-identifier">layer</span>)
2757
+ <span class="ruby-identifier">draw_context</span>(<span class="ruby-identifier">layer</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
2758
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">stroke</span>(<span class="ruby-string">&quot;transparent&quot;</span>)
2759
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">fill</span>(<span class="ruby-identifier">star_fill_color</span>)
2760
+
2761
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:star_step</span>]
2762
+ (<span class="ruby-identifier">i</span><span class="ruby-operator">...</span><span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">w</span>).<span class="ruby-identifier">step</span>(<span class="ruby-identifier">i</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
2763
+ (<span class="ruby-identifier">i</span><span class="ruby-operator">...</span><span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">h</span>).<span class="ruby-identifier">step</span>(<span class="ruby-identifier">i</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">y</span><span class="ruby-operator">|</span>
2764
+ <span class="ruby-identifier">v</span> = <span class="ruby-constant">V</span>[<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>]
2765
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">circle</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">px</span>(<span class="ruby-identifier">v</span> <span class="ruby-operator">+</span> <span class="ruby-constant">V</span>.<span class="ruby-identifier">one</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:star_size</span>]))
2766
+ <span class="ruby-keyword">end</span>
2767
+ <span class="ruby-keyword">end</span>
2768
+ <span class="ruby-keyword">end</span>
2769
+ <span class="ruby-keyword">end</span></pre>
2770
+ </div>
2771
+
2772
+ </div>
2773
+
2774
+
2775
+ </div>
2776
+
2777
+ <div id="method-i-star_fill_color" class="method-detail anchor-link ">
2778
+ <div class="method-header">
2779
+ <div class="method-heading">
2780
+ <a href="#method-i-star_fill_color" title="Link to this method">
2781
+ <span class="method-name">star_fill_color</span>
2782
+ <span class="method-args">()</span>
2783
+ </a>
2784
+ </div>
2785
+ </div>
2786
+
2787
+ <div class="method-controls">
2788
+ <details class="method-source-toggle">
2789
+ <summary>Source</summary>
2790
+ </details>
2791
+ </div>
2792
+
2793
+ <div class="method-description">
2794
+ <div class="method-source-code" id="star_fill_color-source">
2795
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/board_methods.rb, line 143</span>
2796
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">star_fill_color</span>
2797
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:star_fill_color</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">inner_frame_lattice_color</span>
2798
+ <span class="ruby-keyword">end</span></pre>
2799
+ </div>
2800
+
2801
+ </div>
2802
+
2803
+
2804
+ </div>
2805
+
2806
+ <div id="method-i-texture_image" class="method-detail anchor-link ">
2807
+ <div class="method-header">
2808
+ <div class="method-heading">
2809
+ <a href="#method-i-texture_image" title="Link to this method">
2810
+ <span class="method-name">texture_image</span>
2811
+ <span class="method-args">()</span>
2812
+ </a>
2813
+ </div>
2814
+ </div>
2815
+
2816
+ <div class="method-controls">
2817
+ <details class="method-source-toggle">
2818
+ <summary>Source</summary>
2819
+ </details>
2820
+ </div>
2821
+
2822
+ <div class="method-description">
2823
+ <div class="method-source-code" id="texture_image-source">
2824
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/board_methods.rb, line 117</span>
2825
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">texture_image</span>
2826
+ <span class="ruby-ivar">@texture_image</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">yield_self</span> <span class="ruby-keyword">do</span>
2827
+ <span class="ruby-identifier">image</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">params</span>[<span class="ruby-value">:fg_file</span>].<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">first</span>
2828
+ <span class="ruby-identifier">image</span>.<span class="ruby-identifier">resize_to_fill!</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">ps</span>(<span class="ruby-identifier">outer_rect</span>))
2829
+
2830
+ <span class="ruby-comment"># 角を取る場合</span>
2831
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">outer_frame_radius</span>.<span class="ruby-identifier">nonzero?</span>
2832
+ <span class="ruby-identifier">mask</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">image</span>.<span class="ruby-identifier">columns</span>, <span class="ruby-identifier">image</span>.<span class="ruby-identifier">rows</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">background_color</span> = <span class="ruby-string">&quot;transparent&quot;</span> }
2833
+ <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Draw</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">tap</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">gc</span><span class="ruby-operator">|</span>
2834
+ <span class="ruby-identifier">gc</span>.<span class="ruby-identifier">stroke</span>(<span class="ruby-string">&quot;none&quot;</span>)
2835
+ <span class="ruby-identifier">gc</span>.<span class="ruby-identifier">stroke_width</span>(<span class="ruby-value">0</span>)
2836
+ <span class="ruby-identifier">gc</span>.<span class="ruby-identifier">fill</span>(<span class="ruby-string">&quot;white&quot;</span>) <span class="ruby-comment"># 透明以外であれば何でもよい</span>
2837
+ <span class="ruby-identifier">gc</span>.<span class="ruby-identifier">roundrectangle</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">mask</span>.<span class="ruby-identifier">columns</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">mask</span>.<span class="ruby-identifier">rows</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">round_radious</span>) <span class="ruby-comment"># 見たい部分を塗る</span>
2838
+ <span class="ruby-identifier">gc</span>.<span class="ruby-identifier">draw</span>(<span class="ruby-identifier">mask</span>)
2839
+ <span class="ruby-keyword">end</span>
2840
+ <span class="ruby-identifier">image</span>.<span class="ruby-identifier">composite!</span>(<span class="ruby-identifier">mask</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">CopyAlphaCompositeOp</span>) <span class="ruby-comment"># 角が取れる</span>
2841
+ <span class="ruby-keyword">end</span>
2842
+
2843
+ <span class="ruby-identifier">image</span>
2844
+ <span class="ruby-keyword">end</span>
2845
+ <span class="ruby-keyword">end</span></pre>
2846
+ </div>
2847
+ <p>盤テクスチャ</p>
2848
+ <ol><li>
2849
+ <p>テクスチャと同じサイズの透明の画像を準備</p>
2850
+ </li><li>
2851
+ <p>透明画像で表示したい部分を塗り潰す (このとき角だけ透明になっている)</p>
2852
+ </li><li>
2853
+ <p>その透明画像が金型なので元のテクスチャに押し当てる (CopyAlphaCompositeOp)</p>
2854
+ </li><li>
2855
+ <p>角が取れたテクスチャが出来上がる</p>
2856
+ </li></ol>
2857
+ </div>
2858
+
2859
+
2860
+ </div>
2861
+
2862
+ <div id="method-i-to_blob_binary" class="method-detail anchor-link ">
2863
+ <div class="method-header">
2864
+ <div class="method-heading">
2865
+ <a href="#method-i-to_blob_binary" title="Link to this method">
2866
+ <span class="method-name">to_blob_binary</span>
2867
+ <span class="method-args">()</span>
2868
+ </a>
2869
+ </div>
2870
+ </div>
2871
+
2872
+ <div class="method-controls">
2873
+ <details class="method-source-toggle">
2874
+ <summary>Source</summary>
2875
+ </details>
2876
+ </div>
2877
+
2878
+ <div class="method-description">
2879
+ <div class="method-source-code" id="to_blob_binary-source">
2880
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/helper.rb, line 24</span>
2881
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_blob_binary</span>
2882
+ <span class="ruby-identifier">image</span> = <span class="ruby-identifier">render</span>
2883
+ <span class="ruby-identifier">image</span>.<span class="ruby-identifier">format</span> = <span class="ruby-identifier">ext_name</span>
2884
+ <span class="ruby-identifier">image</span>.<span class="ruby-identifier">to_blob</span>
2885
+ <span class="ruby-keyword">end</span></pre>
2886
+ </div>
2887
+ <p>png や gif は問題ないが apng や mp4 の場合に失敗する → ImageList#format に設定しているせいっぽいそもそも画像リストを write(“foo.png”) にすると foo-0.png foo-1.png などと複数生成されるのだからwrite は拡張子に合わせて format を設定して to_blob の結果を write しているのではないことがわかる</p>
2888
+ </div>
2889
+
2890
+
2891
+ </div>
2892
+
2893
+ <div id="method-i-to_png24_binary" class="method-detail anchor-link ">
2894
+ <div class="method-header">
2895
+ <div class="method-heading">
2896
+ <a href="#method-i-to_png24_binary" title="Link to this method">
2897
+ <span class="method-name">to_png24_binary</span>
2898
+ <span class="method-args">()</span>
2899
+ </a>
2900
+ </div>
2901
+ </div>
2902
+
2903
+ <div class="method-controls">
2904
+ <details class="method-source-toggle">
2905
+ <summary>Source</summary>
2906
+ </details>
2907
+ </div>
2908
+
2909
+ <div class="method-description">
2910
+ <div class="method-source-code" id="to_png24_binary-source">
2911
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/helper.rb, line 39</span>
2912
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_png24_binary</span>
2913
+ <span class="ruby-constant">Tempfile</span>.<span class="ruby-identifier">create</span>([<span class="ruby-string">&quot;&quot;</span>, <span class="ruby-string">&quot;.png&quot;</span>]) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
2914
+ <span class="ruby-identifier">render</span>.<span class="ruby-identifier">write</span>(<span class="ruby-node">&quot;PNG24:#{t.path}&quot;</span>)
2915
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">binread</span>(<span class="ruby-identifier">t</span>.<span class="ruby-identifier">path</span>)
2916
+ <span class="ruby-keyword">end</span>
2917
+ <span class="ruby-keyword">end</span></pre>
2918
+ </div>
2919
+ <p>PNG24 を強制する (for zip)</p>
2920
+ </div>
2921
+
2922
+
2923
+ </div>
2924
+
2925
+ <div id="method-i-to_write_binary" class="method-detail anchor-link ">
2926
+ <div class="method-header">
2927
+ <div class="method-heading">
2928
+ <a href="#method-i-to_write_binary" title="Link to this method">
2929
+ <span class="method-name">to_write_binary</span>
2930
+ <span class="method-args">()</span>
2931
+ </a>
2932
+ </div>
2933
+ </div>
2934
+
2935
+ <div class="method-controls">
2936
+ <details class="method-source-toggle">
2937
+ <summary>Source</summary>
2938
+ </details>
2939
+ </div>
2940
+
2941
+ <div class="method-description">
2942
+ <div class="method-source-code" id="to_write_binary-source">
2943
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/helper.rb, line 31</span>
2944
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_write_binary</span>
2945
+ <span class="ruby-constant">Tempfile</span>.<span class="ruby-identifier">create</span>([<span class="ruby-string">&quot;&quot;</span>, <span class="ruby-node">&quot;.#{ext_name}&quot;</span>]) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
2946
+ <span class="ruby-identifier">render</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">t</span>.<span class="ruby-identifier">path</span>)
2947
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">binread</span>(<span class="ruby-identifier">t</span>.<span class="ruby-identifier">path</span>)
2948
+ <span class="ruby-keyword">end</span>
2949
+ <span class="ruby-keyword">end</span></pre>
2950
+ </div>
2951
+ <p>いったんファイル出力してから戻している時点で相当無駄があるが apng や mp4 の場合でも失敗しない</p>
2952
+ </div>
2953
+
2954
+
2955
+ </div>
2956
+
2957
+ <div id="method-i-top_left" class="method-detail anchor-link ">
2958
+ <div class="method-header">
2959
+ <div class="method-heading">
2960
+ <a href="#method-i-top_left" title="Link to this method">
2961
+ <span class="method-name">top_left</span>
2962
+ <span class="method-args">()</span>
2963
+ </a>
2964
+ </div>
2965
+ </div>
2966
+
2967
+ <div class="method-controls">
2968
+ <details class="method-source-toggle">
2969
+ <summary>Source</summary>
2970
+ </details>
2971
+ </div>
2972
+
2973
+ <div class="method-description">
2974
+ <div class="method-source-code" id="top_left-source">
2975
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 284</span>
2976
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">top_left</span>
2977
+ <span class="ruby-ivar">@top_left</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">center</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">cell_rect</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">lattice</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>
2978
+ <span class="ruby-keyword">end</span></pre>
2979
+ </div>
2980
+
2981
+ </div>
2982
+
2983
+
2984
+ </div>
2985
+
2986
+ <div id="method-i-transparent_layer" class="method-detail anchor-link ">
2987
+ <div class="method-header">
2988
+ <div class="method-heading">
2989
+ <a href="#method-i-transparent_layer" title="Link to this method">
2990
+ <span class="method-name">transparent_layer</span>
2991
+ <span class="method-args">(key)</span>
2992
+ </a>
2993
+ </div>
2994
+ </div>
2995
+
2996
+ <div class="method-controls">
2997
+ <details class="method-source-toggle">
2998
+ <summary>Source</summary>
2999
+ </details>
3000
+ </div>
3001
+
3002
+ <div class="method-description">
3003
+ <div class="method-source-code" id="transparent_layer-source">
3004
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/layer_methods.rb, line 45</span>
3005
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">transparent_layer</span>(<span class="ruby-identifier">key</span>)
3006
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span> { <span class="ruby-node">&quot;transparent_layer create for #{key} BEGIN&quot;</span> }
3007
+ <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Image</span>.<span class="ruby-identifier">new</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">image_rect</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">background_color</span> = <span class="ruby-string">&quot;transparent&quot;</span> }.<span class="ruby-identifier">tap</span> <span class="ruby-keyword">do</span>
3008
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span> { <span class="ruby-node">&quot;transparent_layer create for #{key} END&quot;</span> }
3009
+ <span class="ruby-keyword">end</span>
3010
+ <span class="ruby-keyword">end</span></pre>
3011
+ </div>
3012
+
3013
+ </div>
3014
+
3015
+
3016
+ </div>
3017
+
3018
+ <div id="method-i-turn_draw" class="method-detail anchor-link ">
3019
+ <div class="method-header">
3020
+ <div class="method-heading">
3021
+ <a href="#method-i-turn_draw" title="Link to this method">
3022
+ <span class="method-name">turn_draw</span>
3023
+ <span class="method-args">(layer)</span>
3024
+ </a>
3025
+ </div>
3026
+ </div>
3027
+
3028
+ <div class="method-controls">
3029
+ <details class="method-source-toggle">
3030
+ <summary>Source</summary>
3031
+ </details>
3032
+ </div>
3033
+
3034
+ <div class="method-description">
3035
+ <div class="method-source-code" id="turn_draw-source">
3036
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/turn_methods.rb, line 12</span>
3037
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">turn_draw</span>(<span class="ruby-identifier">layer</span>)
3038
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:turn_embed_key</span>] <span class="ruby-operator">==</span> <span class="ruby-string">&quot;is_turn_embed_on&quot;</span>
3039
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span> <span class="ruby-string">&quot;turn_draw&quot;</span>
3040
+
3041
+ <span class="ruby-identifier">pointsize</span> = <span class="ruby-identifier">cell_w</span> <span class="ruby-operator">*</span> <span class="ruby-value">0.75</span>
3042
+ <span class="ruby-identifier">w</span> = <span class="ruby-identifier">pointsize</span> <span class="ruby-operator">*</span> <span class="ruby-value">4</span>
3043
+ <span class="ruby-identifier">h</span> = <span class="ruby-identifier">pointsize</span>
3044
+ <span class="ruby-identifier">x</span> = <span class="ruby-identifier">pointsize</span> <span class="ruby-operator">*</span> <span class="ruby-value">0.3</span>
3045
+ <span class="ruby-identifier">y</span> = <span class="ruby-identifier">pointsize</span> <span class="ruby-operator">*</span> <span class="ruby-value">0.1</span>
3046
+
3047
+ <span class="ruby-comment"># r = cell_w * 0.5</span>
3048
+ <span class="ruby-comment"># @d_turn_layer = Magick::Image.new(w, h) { |e| e.background_color = &quot;transparent&quot; }</span>
3049
+
3050
+ <span class="ruby-comment"># gc = Magick::Draw.new</span>
3051
+ <span class="ruby-comment"># gc.fill(params[:piece_count_bg_color])</span>
3052
+ <span class="ruby-comment"># from = [x + w/2, y + h/2]</span>
3053
+ <span class="ruby-comment"># to = [x + w/2 + r, y + h/2]</span>
3054
+ <span class="ruby-comment"># gc.circle(*from, *to)</span>
3055
+ <span class="ruby-comment"># gc.draw(@d_turn_layer)</span>
3056
+
3057
+ <span class="ruby-identifier">gc</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">Draw</span>.<span class="ruby-identifier">new</span>
3058
+ <span class="ruby-identifier">gc</span>.<span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">layer</span>, <span class="ruby-identifier">w</span>, <span class="ruby-identifier">h</span>, <span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-node">&quot;#{@build_counter}&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
3059
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">font</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:font_bold</span>].<span class="ruby-identifier">to_s</span>
3060
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">fill</span> = <span class="ruby-string">&quot;hsla(0,0%,100%,1.0)&quot;</span>
3061
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">pointsize</span> = <span class="ruby-identifier">pointsize</span>
3062
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">stroke_width</span> = <span class="ruby-value">2</span>
3063
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">stroke</span> = <span class="ruby-string">&quot;hsla(0,0%,0%,0.75)&quot;</span>
3064
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">gravity</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">NorthWestGravity</span>
3065
+ <span class="ruby-keyword">end</span>
3066
+ <span class="ruby-keyword">end</span>
3067
+ <span class="ruby-keyword">end</span></pre>
3068
+ </div>
3069
+
3070
+ </div>
3071
+
3072
+
3073
+ </div>
3074
+
3075
+ <div id="method-i-v_bottom_right_outer" class="method-detail anchor-link ">
3076
+ <div class="method-header">
3077
+ <div class="method-heading">
3078
+ <a href="#method-i-v_bottom_right_outer" title="Link to this method">
3079
+ <span class="method-name">v_bottom_right_outer</span>
3080
+ <span class="method-args">()</span>
3081
+ </a>
3082
+ </div>
3083
+ </div>
3084
+
3085
+ <div class="method-controls">
3086
+ <details class="method-source-toggle">
3087
+ <summary>Source</summary>
3088
+ </details>
3089
+ </div>
3090
+
3091
+ <div class="method-description">
3092
+ <div class="method-source-code" id="v_bottom_right_outer-source">
3093
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 288</span>
3094
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">v_bottom_right_outer</span>
3095
+ <span class="ruby-ivar">@v_bottom_right_outer</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">V</span>[<span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">w</span>, <span class="ruby-identifier">lattice</span>.<span class="ruby-identifier">h</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
3096
+ <span class="ruby-keyword">end</span></pre>
3097
+ </div>
3098
+
3099
+ </div>
3100
+
3101
+
3102
+ </div>
3103
+
3104
+ <div id="method-i-v_top_left_outer" class="method-detail anchor-link ">
3105
+ <div class="method-header">
3106
+ <div class="method-heading">
3107
+ <a href="#method-i-v_top_left_outer" title="Link to this method">
3108
+ <span class="method-name">v_top_left_outer</span>
3109
+ <span class="method-args">()</span>
3110
+ </a>
3111
+ </div>
3112
+ </div>
3113
+
3114
+ <div class="method-controls">
3115
+ <details class="method-source-toggle">
3116
+ <summary>Source</summary>
3117
+ </details>
3118
+ </div>
3119
+
3120
+ <div class="method-description">
3121
+ <div class="method-source-code" id="v_top_left_outer-source">
3122
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 292</span>
3123
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">v_top_left_outer</span>
3124
+ <span class="ruby-ivar">@v_top_left_outer</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">V</span>[<span class="ruby-value">-1</span>, <span class="ruby-value">0</span>]
3125
+ <span class="ruby-keyword">end</span></pre>
3126
+ </div>
3127
+
3128
+ </div>
3129
+
3130
+
3131
+ </div>
3132
+
3133
+ <div id="method-i-vmin" class="method-detail anchor-link ">
3134
+ <div class="method-header">
3135
+ <div class="method-heading">
3136
+ <a href="#method-i-vmin" title="Link to this method">
3137
+ <span class="method-name">vmin</span>
3138
+ <span class="method-args">()</span>
3139
+ </a>
3140
+ </div>
3141
+ </div>
3142
+
3143
+ <div class="method-controls">
3144
+ <details class="method-source-toggle">
3145
+ <summary>Source</summary>
3146
+ </details>
3147
+ </div>
3148
+
3149
+ <div class="method-description">
3150
+ <div class="method-source-code" id="vmin-source">
3151
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/core_methods.rb, line 272</span>
3152
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">vmin</span>
3153
+ <span class="ruby-ivar">@vmin</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">image_rect</span>.<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">min</span>
3154
+ <span class="ruby-keyword">end</span></pre>
3155
+ </div>
3156
+
3157
+ </div>
3158
+
3159
+
3160
+ </div>
3161
+
3162
+ <div id="method-i-with_shadow" class="method-detail anchor-link ">
3163
+ <div class="method-header">
3164
+ <div class="method-heading">
3165
+ <a href="#method-i-with_shadow" title="Link to this method">
3166
+ <span class="method-name">with_shadow</span>
3167
+ <span class="method-args">(layer)</span>
3168
+ </a>
3169
+ </div>
3170
+ </div>
3171
+
3172
+ <div class="method-controls">
3173
+ <details class="method-source-toggle">
3174
+ <summary>Source</summary>
3175
+ </details>
3176
+ </div>
3177
+
3178
+ <div class="method-description">
3179
+ <div class="method-source-code" id="with_shadow-source">
3180
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/layer_methods.rb, line 65</span>
3181
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">with_shadow</span>(<span class="ruby-identifier">layer</span>)
3182
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:real_shadow_sigma</span>].<span class="ruby-identifier">nonzero?</span>
3183
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">layer</span>.<span class="ruby-identifier">shadow</span>( <span class="ruby-comment"># https://rmagick.github.io/image3.html#shadow</span>
3184
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:real_shadow_offset</span>],
3185
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:real_shadow_offset</span>],
3186
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:real_shadow_sigma</span>],
3187
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:real_shadow_opacity</span>])
3188
+ <span class="ruby-keyword">if</span> <span class="ruby-keyword">false</span>
3189
+ <span class="ruby-comment"># 間違った方法</span>
3190
+ <span class="ruby-comment"># 影のレイヤーは内部のオフセットがずれているだけなのでこの方法ではオフセットが効いてないように見える</span>
3191
+ <span class="ruby-identifier">layer</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">composite</span>(<span class="ruby-identifier">layer</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">OverCompositeOp</span>) <span class="ruby-comment"># 影の上に乗せる</span>
3192
+ <span class="ruby-keyword">else</span>
3193
+ <span class="ruby-comment"># 意図した通りに重ねる</span>
3194
+ <span class="ruby-identifier">list</span> = <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">ImageList</span>.<span class="ruby-identifier">new</span>
3195
+ <span class="ruby-identifier">list</span>.<span class="ruby-identifier">new_image</span>(<span class="ruby-identifier">layer</span>.<span class="ruby-identifier">columns</span>, <span class="ruby-identifier">layer</span>.<span class="ruby-identifier">rows</span>, <span class="ruby-constant">Magick</span><span class="ruby-operator">::</span><span class="ruby-constant">SolidFill</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;transparent&quot;</span>))
3196
+ <span class="ruby-identifier">list</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>
3197
+ <span class="ruby-identifier">list</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">layer</span>
3198
+ <span class="ruby-identifier">layer</span> = <span class="ruby-identifier">list</span>.<span class="ruby-identifier">flatten_images</span>
3199
+ <span class="ruby-keyword">end</span>
3200
+ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">destroy!</span>
3201
+ <span class="ruby-keyword">end</span>
3202
+ <span class="ruby-identifier">layer</span>
3203
+ <span class="ruby-keyword">end</span></pre>
3204
+ </div>
3205
+ <p>指定のレイヤーに影をつける</p>
3206
+ </div>
3207
+
3208
+
3209
+ </div>
3210
+
3211
+ <div id="method-i-with_shadow_only_font_pice" class="method-detail anchor-link ">
3212
+ <div class="method-header">
3213
+ <div class="method-heading">
3214
+ <a href="#method-i-with_shadow_only_font_pice" title="Link to this method">
3215
+ <span class="method-name">with_shadow_only_font_pice</span>
3216
+ <span class="method-args">(layer)</span>
3217
+ </a>
3218
+ </div>
3219
+ </div>
3220
+
3221
+ <div class="method-controls">
3222
+ <details class="method-source-toggle">
3223
+ <summary>Source</summary>
3224
+ </details>
3225
+ </div>
3226
+
3227
+ <div class="method-description">
3228
+ <div class="method-source-code" id="with_shadow_only_font_pice-source">
3229
+ <pre><span class="ruby-comment"># File lib/bioshogi/screen_image/layer_methods.rb, line 53</span>
3230
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">with_shadow_only_font_pice</span>(<span class="ruby-identifier">layer</span>)
3231
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">piece_image_info</span>
3232
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">piece_image_info</span>.<span class="ruby-identifier">custom_shadow_support</span>
3233
+ <span class="ruby-identifier">layer</span> = <span class="ruby-identifier">with_shadow</span>(<span class="ruby-identifier">layer</span>)
3234
+ <span class="ruby-keyword">end</span>
3235
+ <span class="ruby-keyword">else</span>
3236
+ <span class="ruby-identifier">layer</span> = <span class="ruby-identifier">with_shadow</span>(<span class="ruby-identifier">layer</span>)
3237
+ <span class="ruby-keyword">end</span>
3238
+ <span class="ruby-identifier">layer</span>
3239
+ <span class="ruby-keyword">end</span></pre>
3240
+ </div>
3241
+ <p>フォントでの駒のときだけ駒レイヤーに影をつける</p>
3242
+ </div>
3243
+
3244
+
3245
+ </div>
3246
+
3247
+ </section>
3248
+
3249
+ </section>
3250
+ </main>
3251
+