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
@@ -1,800 +0,0 @@
1
- # frozen-string-literal: true
2
-
3
- # :OPTIONAL: は考慮する必要があるもの。
4
-
5
- module Bioshogi
6
- module Analysis
7
- class TechniqueVerifyInfo
8
- include ApplicationMemoryRecord
9
- memory_record [
10
- {
11
- key: "金底の歩",
12
- description: "打ち歩が一番下の段でかつ、その上に自分の金がある",
13
- func: proc {
14
- #【条件1】「最下段」であること
15
- verify_if { soldier.bottom_spaces.zero? }
16
-
17
- #【条件2】上に自分の金があること
18
- verify_if do
19
- if v = soldier.relative_move_to(:up)
20
- if s = board[v]
21
- s.piece.key == :gold && own?(s)
22
- end
23
- end
24
- end
25
- },
26
- },
27
-
28
- {
29
- key: "一間竜",
30
- description: "上下左右の1つ離れたところのどこかに相手の玉がある",
31
- func: proc {
32
- verify_if do
33
- V.ikkenryu_vectors.any? do |e|
34
- if v = soldier.relative_move_to(e)
35
- if s = board[v]
36
- s.piece.key == :king && opponent?(s)
37
- end
38
- end
39
- end
40
- end
41
- },
42
- },
43
-
44
- {
45
- key: "こびん攻め",
46
- description: "玉または飛の斜めの歩を攻める",
47
- func: proc {
48
- #【条件1】2〜8筋であること (端の場合は「こびん」とは言わないため)
49
- verify_if { soldier.column_is_second_to_eighth? }
50
-
51
- #【条件2】相手が歩であること
52
- verify_if do
53
- if v = soldier.relative_move_to(:up)
54
- if s = board[v]
55
- s.piece.key == :pawn && s.normal? && opponent?(s)
56
- end
57
- end
58
- end
59
-
60
- #【条件3】桂馬の効きの位置に「玉」または「飛車」があること
61
- verify_if do
62
- V.keima_vectors.any? do |e|
63
- if v = soldier.relative_move_to(e)
64
- if s = board[v]
65
- (s.piece.key == :king || (s.piece.key == :rook && s.normal?)) && opponent?(s)
66
- end
67
- end
68
- end
69
- end
70
- },
71
- },
72
-
73
- {
74
- key: "位の確保",
75
- description: "中盤戦になる前に5段目の歩を銀で支える",
76
- func: proc {
77
- #【条件1】前線(6段目)にいること
78
- verify_if { soldier.kurai_sasae? }
79
-
80
- #【条件2】3〜7列であること (両端2列は「位」とは言わないため)
81
- verify_if { soldier.column_is_three_to_seven? }
82
-
83
- #【条件3】前に歩があること
84
- verify_if do
85
- if v = soldier.relative_move_to(:up)
86
- if s = board[v]
87
- s.piece.key == :pawn && s.normal? && own?(s)
88
- end
89
- end
90
- end
91
-
92
- #【条件4】歩の上に何もないこと (歩の上に何か駒があった場合は無効) :OPTIONAL:
93
- skip_if do
94
- if v = soldier.relative_move_to(:up_up)
95
- board[v]
96
- end
97
- end
98
- },
99
- },
100
-
101
- {
102
- key: "パンツを脱ぐ",
103
- description: "開戦前かつ、跳んだ桂が下から3つ目かつ、(近い方の)端から3つ目かつ、移動元の隣(端に近い方)に自分の玉がある",
104
- func: proc {
105
- #【条件1】下から3段目であること
106
- verify_if { soldier.bottom_spaces == 2 }
107
-
108
- #【条件2】端から3つ目であること
109
- verify_if { soldier.column_spaces_min == 2 }
110
-
111
- #【条件3】動元は「端から2つ目」であること (▲41から飛んだ場合を除外する)
112
- verify_if { origin_soldier.column_spaces_min == 1 }
113
-
114
- #【条件4】移動元の端側に「玉」があること
115
- verify_if do
116
- if v = origin_soldier.relative_move_to(soldier.left_or_right_to_closer_side)
117
- if s = board[v]
118
- s.piece.key == :king && own?(s)
119
- end
120
- end
121
- end
122
- },
123
- },
124
-
125
- ################################################################################ 銀
126
-
127
- {
128
- key: "腹銀",
129
- description: "銀を打ったか移動させたとき左右どちらかに相手の玉がある",
130
- func: proc {
131
- verify_if do
132
- V.left_right_vectors.any? do |e|
133
- if v = soldier.relative_move_to(e)
134
- if s = board[v]
135
- s.piece.key == :king && opponent?(s)
136
- end
137
- end
138
- end
139
- end
140
- },
141
- },
142
-
143
- {
144
- key: "尻銀",
145
- description: "銀を打ったか移動させたとき下に相手の玉がある",
146
- func: proc {
147
- verify_if do
148
- if v = soldier.relative_move_to(:down)
149
- if s = board[v]
150
- s.piece.key == :king && opponent?(s)
151
- end
152
- end
153
- end
154
- },
155
- },
156
-
157
- {
158
- key: "肩銀",
159
- description: "銀を打ったか移動させたとき左斜め前か右斜め前に玉がある",
160
- func: proc {
161
- verify_if do
162
- V.bishop_naname_mae_vectors.any? do |up_left|
163
- if v = soldier.relative_move_to(up_left)
164
- if s = board[v]
165
- s.piece.key == :king && opponent?(s)
166
- end
167
- end
168
- end
169
- end
170
- },
171
- },
172
-
173
- {
174
- key: "裾銀",
175
- description: "銀を打ったか移動させたとき左斜め後か右斜め後に玉がある",
176
- func: proc {
177
- verify_if do
178
- V.wariuchi_vectors.any? do |down_left|
179
- if v = soldier.relative_move_to(down_left)
180
- if s = board[v]
181
- s.piece.key == :king && opponent?(s)
182
- end
183
- end
184
- end
185
- end
186
- },
187
- },
188
-
189
- {
190
- key: "頭銀",
191
- description: "銀を打ったか移動させたとき前に相手の玉がある",
192
- func: proc {
193
- verify_if do
194
- if v = soldier.relative_move_to(:up)
195
- if s = board[v]
196
- s.piece.key == :king && opponent?(s)
197
- end
198
- end
199
- end
200
- },
201
- },
202
-
203
- ################################################################################ 金
204
-
205
- {
206
- key: "腹金",
207
- description: "金を打ったか移動させたとき左右どちらかに相手の玉がある",
208
- func: proc {
209
- instance_eval(&TechniqueVerifyInfo[:"腹銀"].func)
210
- },
211
- },
212
-
213
- {
214
- key: "尻金",
215
- description: "金を打ったか移動させたとき下に相手の玉がある",
216
- func: proc {
217
- instance_eval(&TechniqueVerifyInfo[:"尻銀"].func)
218
- },
219
- },
220
-
221
- {
222
- key: "肩金",
223
- description: "金を打ったか移動させたとき左斜め前か右斜め前に玉がある",
224
- func: proc {
225
- instance_eval(&TechniqueVerifyInfo[:"肩銀"].func)
226
- },
227
- },
228
-
229
- {
230
- key: "裾金",
231
- description: "金を打ったか移動させたとき左斜め後か右斜め後に玉がある",
232
- func: proc {
233
- instance_eval(&TechniqueVerifyInfo[:"裾銀"].func)
234
- },
235
- },
236
-
237
- {
238
- key: "頭金",
239
- description: "金を打ったか移動させたとき前に相手の玉がある",
240
- func: proc {
241
- instance_eval(&TechniqueVerifyInfo[:"頭銀"].func)
242
- },
243
- },
244
-
245
- ################################################################################
246
-
247
- {
248
- key: "垂れ歩",
249
- description: "打った歩の前が空で次に成れる余地がある場合",
250
- func: proc {
251
- #【条件1】2, 3, 4 段目であること
252
- verify_if { soldier.tarefu_desuka? }
253
-
254
- #【条件2】先が空であること
255
- verify_if do
256
- if v = soldier.relative_move_to(:up)
257
- board.empty_cell?(v)
258
- end
259
- end
260
- },
261
- },
262
-
263
- # 単に「18角打」をチェックした方がいい → やめ → 自力判定する
264
- {
265
- key: "遠見の角",
266
- description: "打った角の位置が下から2番目かつ近い方の端から1番目(つまり自分の香の上の位置)",
267
- func: proc {
268
- #【条件1】中盤以降であること (そうしないと序盤の77角打まで該当してしまう) :OPTIONAL:
269
- verify_if { executor.container.outbreak_turn }
270
-
271
- #【条件2】自陣から打っていること
272
- verify_if { soldier.own_side? }
273
-
274
- #【条件3】端から打っていること
275
- if false
276
- verify_if { soldier.column_is_edge? }
277
- end
278
-
279
- #【条件4】相手の陣地に直通しているかつ長さが 5 以上であること
280
- verify_if do
281
- threshold = 5 # 成立するステップ数。4 だとマッチしすぎるため 5 にする
282
- V.bishop_naname_mae_vectors.any? do |up_left| # 左上と右上を試す
283
- matched = false
284
- step = 0 # 斜めの効きの数 (駒に衝突したらそこも含める)
285
- Dimension::Row.dimension_size.times do |i|
286
- if v = soldier.relative_move_to(up_left, magnification: 1 + i)
287
- step += 1 # 効きの数+1
288
- if step >= threshold && v.opp_side?(location) # 相手の陣地に入れるか?
289
- matched = true
290
- break
291
- end
292
- board[v] and break # 相手の駒または自分の駒がある場合は終わる
293
- else
294
- break # 外に出た
295
- end
296
- end
297
- matched
298
- end
299
- end
300
- },
301
- },
302
-
303
- {
304
- key: "割り打ちの銀",
305
- description: "打った銀の後ろの左右両方に相手の飛か金がある",
306
- func: proc {
307
- verify_if do
308
- V.wariuchi_vectors.all? do |e|
309
- if v = soldier.relative_move_to(e)
310
- if s = board[v]
311
- if opponent?(s)
312
- (s.piece.key == :rook && s.normal?) || s.piece.key == :gold
313
- end
314
- end
315
- end
316
- end
317
- end
318
- },
319
- },
320
-
321
- {
322
- key: "たすきの銀",
323
- description: "打った銀の斜め前に飛があり対極に金がある",
324
- func: proc {
325
- verify_if do
326
- V.tasuki_vectors.any? do |up_left, down_right|
327
- if v = soldier.relative_move_to(up_left)
328
- if s = board[v]
329
- if s.piece.key == :rook && s.normal? && opponent?(s) # 左上に飛車がある
330
- if v = soldier.relative_move_to(down_right)
331
- if s = board[v]
332
- (s.piece.key == :gold || (s.piece.key == :silver && s.promoted)) && opponent?(s) # 右下に金または成銀がある
333
- end
334
- end
335
- end
336
- end
337
- end
338
- end
339
- end
340
- },
341
- },
342
-
343
- {
344
- key: "たすきの角",
345
- description: "打った角の斜め前に飛があり対極に金がある",
346
- func: proc {
347
- instance_eval(&TechniqueVerifyInfo[:"たすきの銀"].func)
348
- },
349
- },
350
-
351
- {
352
- key: "桂頭の銀",
353
- description: "打った銀の上に相手の桂がある",
354
- func: proc {
355
- #【条件1】上に相手の桂がある
356
- verify_if do
357
- if v = soldier.relative_move_to(:up)
358
- if s = board[v]
359
- s.piece.key == :knight && s.normal? && opponent?(s)
360
- end
361
- end
362
- end
363
-
364
- #【条件2】「22銀」や「82銀」ではないこと :OPTIONAL:
365
- # - 端玉に対しての腹銀が「桂頭の銀」扱いになる場合が多いため除外している
366
- # - ただ本当に21や81の桂に対して「桂頭の銀」をかましている場合もなくはない
367
- skip_if do
368
- soldier.column_is_second_or_eighth? && soldier.top_spaces == 1
369
- end
370
- },
371
- },
372
-
373
- {
374
- key: "歩頭の桂",
375
- description: "打ったまたは移動した桂の上に相手の歩がある",
376
- func: proc {
377
- verify_if do
378
- if v = soldier.relative_move_to(:up)
379
- if s = board[v]
380
- s.piece.key == :pawn && s.normal? && opponent?(s)
381
- end
382
- end
383
- end
384
- },
385
- },
386
-
387
- {
388
- key: "金頭の桂",
389
- description: "打ったまたは移動した桂の上に相手の金がある",
390
- func: proc {
391
- verify_if do
392
- if v = soldier.relative_move_to(:up)
393
- if s = board[v]
394
- s.piece.key == :gold && opponent?(s)
395
- end
396
- end
397
- end
398
- },
399
- },
400
-
401
- {
402
- key: "銀ばさみ",
403
- description: "動かした歩の左右どちらかに相手の銀があり、その向こうに自分の歩がある。また歩の前に何もないこと。",
404
- func: proc {
405
- #【条件1】「同歩」でないこと
406
- skip_if do
407
- if move_hand = executor.move_hand
408
- move_hand.captured_soldier
409
- end
410
- end
411
-
412
- #【条件2】進めた歩の前が空であること
413
- verify_if do
414
- if v = soldier.relative_move_to(:up)
415
- board.empty_cell?(v)
416
- end
417
- end
418
-
419
- # 左右どちらかが成立していること
420
- verify_if do
421
- V.ginbasami_verctors.any? do |right, right_right, right_right_up|
422
- #【条件3】右に相手の銀ある
423
- yield_self {
424
- if v = soldier.relative_move_to(right)
425
- if s = board[v]
426
- s.piece.key == :silver && s.normal? && opponent?(s)
427
- end
428
- end
429
- } or next
430
-
431
- #【条件4】右右に自分の歩がある
432
- yield_self {
433
- if v = soldier.relative_move_to(right_right)
434
- if s = board[v]
435
- s.piece.key == :pawn && s.normal? && own?(s)
436
- end
437
- end
438
- } or next
439
-
440
- #【条件5】右右上が空である
441
- if v = soldier.relative_move_to(right_right_up)
442
- board.empty_cell?(v)
443
- end
444
- end
445
- end
446
- },
447
- },
448
-
449
- {
450
- key: "端玉には端歩",
451
- description: nil,
452
- func: proc {
453
- #【条件1】端であること
454
- verify_if { soldier.column_is_edge? }
455
-
456
- #【条件2】上が相手の歩であること (▲16歩△14歩の状態で▲15歩としたということ)
457
- verify_if do
458
- if v = soldier.relative_move_to(:up)
459
- if s = board[v]
460
- s.piece.key == :pawn && s.normal? && opponent?(s)
461
- end
462
- end
463
- end
464
-
465
- #【条件3】奥に相手の玉がいること (13→12→11と探す)
466
- verify_if do
467
- # この 2 は 15 - 2 = 13 の 2 で、15を基点にしているとすれば14に歩があり13から調べるため
468
- # Dimension::Row.dimension_size は書かなくてもいい
469
- (2..).any? do |y|
470
- if v = soldier.relative_move_to(:up, magnification: y)
471
- if s = board[v]
472
- if s.piece.key == :king && opponent?(s)
473
- true
474
- else
475
- break # 駒があるが玉でない場合は切り上げる
476
- end
477
- end
478
- else
479
- break # 一番上まで調べたが玉はいなかった
480
- end
481
- end
482
- end
483
-
484
- #【条件4】下に「自分の香飛龍」 (17→18→19と探す)
485
- verify_if do
486
- # この 2 は突いた歩の 2 つ下から香を調べるため
487
- (2..).any? do |y|
488
- if v = soldier.relative_move_to(:down, magnification: y)
489
- if s = board[v]
490
- if s.boar_mode? && own?(s) # 「自分の香飛龍」か?
491
- true
492
- else
493
- break # 駒があるが「自分の香飛龍」ではなかったため切り上げる
494
- end
495
- end
496
- else
497
- break # 一番下まで調べたが「自分の香飛龍」はいなかった
498
- end
499
- end
500
- end
501
- },
502
- },
503
-
504
- {
505
- key: "田楽刺し",
506
- description: "角の頭に打ってその奥に玉などの大駒がある",
507
- func: proc {
508
- verify_if do
509
- mode = :walk_to_bishop
510
- (1..).each do |y|
511
- if v = soldier.relative_move_to(:up, magnification: y)
512
- if s = board[v]
513
- if opponent?(s)
514
- case mode
515
- when :walk_to_bishop # 角を探す
516
- if s.piece.key == :bishop && s.normal?
517
- mode = :walk_to_dengaku_target
518
- end
519
- when :walk_to_dengaku_target # 大駒を探す
520
- if s.piece.dengaku_target
521
- mode = :dengaku_matched
522
- break
523
- end
524
- else
525
- raise "must not happen"
526
- end
527
- else
528
- break # 自分の駒が間にある場合は田楽指しではない
529
- end
530
- else
531
- # 駒がない場合はさらに奥に進む
532
- end
533
- else
534
- break # 盤の外に出た場合は終わる
535
- end
536
- end
537
- mode == :dengaku_matched
538
- end
539
- },
540
- },
541
-
542
- {
543
- # https://yokohamayanke.com/1078/ によると金底の香の状態でも「下段の香」として紹介されている
544
- # いろんな条件を考えたが結局「下段」のみのチェックとする
545
- key: "下段の香",
546
- description: "打った香が一番下",
547
- func: proc {
548
- #【条件1】「最下段」であること
549
- verify_if { soldier.bottom_spaces.zero? }
550
- },
551
- },
552
-
553
- {
554
- key: "ふんどしの桂",
555
- description: "打った桂の2つ前の左右に自分より価値の高い相手の駒がある",
556
- func: proc {
557
- verify_if do
558
- V.keima_vectors.all? do |e|
559
- if v = soldier.relative_move_to(e)
560
- if s = board[v]
561
- if opponent?(s)
562
- s.abs_weight > soldier.abs_weight
563
- end
564
- end
565
- end
566
- end
567
- end
568
- },
569
- },
570
-
571
- {
572
- key: "控えの桂",
573
- description: "打った桂の利きにある相手の駒を集め、それが1つ以上かつすべて歩である",
574
- func: proc {
575
- #【条件1】打った位置が6段目以降である
576
- verify_if { soldier.top_spaces >= Dimension::Row.promotable_depth + 2 }
577
-
578
- # 打った桂の利きの2箇所にある相手の駒を取得する
579
- soldiers = V.keima_vectors.collect { |e|
580
- if v = soldier.relative_move_to(e)
581
- if s = board[v]
582
- if opponent?(s)
583
- s
584
- end
585
- end
586
- end
587
- }.compact
588
-
589
- # 【条件2】 相手の駒は1つ以上ある
590
- verify_if { !soldiers.empty? }
591
-
592
- # 【条件3】 相手の駒は「歩」である
593
- verify_if do
594
- soldiers.all? { |e| e.piece.key == :pawn }
595
- end
596
- },
597
- },
598
-
599
- {
600
- key: "土下座の歩",
601
- description: nil,
602
- func: proc {
603
- #【条件1】8,9段目であること
604
- verify_if { soldier.bottom_spaces < 2 }
605
-
606
- #【条件2】一つ上が空であること
607
- verify_if do
608
- if v = soldier.relative_move_to(:up)
609
- board.empty_cell?(v)
610
- end
611
- end
612
-
613
- #【条件3】二つ上に相手の前に進める駒があること (成銀や馬があっても土下座の対象とする)
614
- verify_if do
615
- if v = soldier.relative_move_to(:up_up)
616
- if s = board[v]
617
- if opponent?(s)
618
- s.piece.maesusumeru || s.promoted
619
- end
620
- end
621
- end
622
- end
623
- },
624
- },
625
-
626
- {
627
- key: "たたきの歩",
628
- description: "取ると取り返せるような場合もたたきの歩として判別されるのであまり正しくない",
629
- func: proc {
630
- #【条件1】打った位置が1から4段目である
631
- verify_if { soldier.top_spaces.between?(1, Dimension::Row.promotable_depth) }
632
-
633
- #【条件2】相手が「成駒」または「飛金銀香玉」である
634
- verify_if do
635
- if v = soldier.relative_move_to(:up)
636
- if s = board[v]
637
- if opponent?(s)
638
- s.promoted || s.piece.tatakare_target
639
- end
640
- end
641
- end
642
- end
643
-
644
- #【条件3】打った歩に結びついている利きがないこと
645
- # とするのが本当は正しいのだけど大変なので
646
- # 「打った位置の後ろに自分の(前に進めることのできる)駒がないこと」だけを判定している
647
- skip_if do
648
- if v = soldier.relative_move_to(:down)
649
- if s = board[v]
650
- if own?(s)
651
- s.promoted || s.piece.maesusumeru
652
- end
653
- end
654
- end
655
- end
656
-
657
- #【条件4】連打の歩ではないこと :OPTIONAL:
658
- skip_if do
659
- if hand_log = executor.container.hand_logs[-2] # 前回の自分の手
660
- if drop_hand = hand_log.drop_hand # 打った手
661
- if s = drop_hand.soldier # 駒
662
- Assertion.assert { own?(s) }
663
- s.piece.key == :pawn && s.place == soldier.relative_move_to(:up)
664
- end
665
- end
666
- end
667
- end
668
- },
669
- },
670
-
671
- {
672
- key: "継ぎ歩",
673
- description: "条件が成立しない方を先に判定した方が早めに打ち切れるので2手目1手目の順で見る",
674
- func: proc {
675
- # 0手前: ▲25歩打 継ぎ歩 したらここに来る
676
-
677
- # 2手前: ▲24歩(25) 突き
678
- verify_if do
679
- if hand_log = executor.container.hand_logs[-2]
680
- if s = hand_log.move_hand&.soldier # 最初を突き捨てとするため hand ではなく move_hand にしている
681
- if s.piece.key == :pawn && s.normal? && own?(s)
682
- s.place == soldier.relative_move_to(:up)
683
- end
684
- end
685
- end
686
- end
687
-
688
- # 1手前: △24同歩 取らされる
689
- verify_if do
690
- if hand_log = executor.container.hand_logs[-1]
691
- if s = hand_log.move_hand&.soldier
692
- if s.piece.key == :pawn && s.normal? && opponent?(s)
693
- s.place == soldier.relative_move_to(:up)
694
- end
695
- end
696
- end
697
- end
698
- },
699
- },
700
-
701
- {
702
- key: "連打の歩",
703
- description: "",
704
- func: proc {
705
- # 0手前: ▲25歩打 継ぎ歩 したらここに来る
706
-
707
- # 2手前: ▲24歩打
708
- verify_if do
709
- if hand_log = executor.container.hand_logs[-2]
710
- if s = hand_log.drop_hand&.soldier
711
- if s.piece.key == :pawn && own?(s)
712
- s.place == soldier.relative_move_to(:up)
713
- end
714
- end
715
- end
716
- end
717
-
718
- # 1手前: △24同何か 取らされる
719
- verify_if do
720
- if hand_log = executor.container.hand_logs[-1]
721
- if s = hand_log.move_hand&.soldier
722
- if opponent?(s)
723
- s.place == soldier.relative_move_to(:up)
724
- end
725
- end
726
- end
727
- end
728
- },
729
- },
730
-
731
- {
732
- key: "継ぎ桂",
733
- description: "継ぐのは前なので打った桂の2つ後ろの左右のどちらかに自分の桂がある",
734
- func: proc {
735
- verify_if do
736
- V.tsugikei_vectors.any? do |e|
737
- if v = soldier.relative_move_to(e)
738
- if s = board[v]
739
- s.piece.key == :knight && s.normal? && own?(s)
740
- end
741
- end
742
- end
743
- end
744
- },
745
- },
746
-
747
- {
748
- key: "跳ね違いの桂",
749
- description: "移動元から見て移動してない方に相手が1手前に移動した桂があるか?",
750
- func: proc {
751
- verify_if do
752
- # △33桂(21)▲13桂成(25)で考える
753
- # 跳ね違いは相手の桂を捌けなくする目的でもあるため「成っていない桂」のチェックとする
754
- V.keima_vectors.any? do |e|
755
- if v = origin_soldier.relative_move_to(e) # 25から33と13を見る
756
- if s = board[v] # そこにある駒
757
- if opponent?(s) && s.piece.key == :knight && s.normal? # その駒は相手の駒かつ桂
758
- if hand_log = executor.container.hand_logs[-1] # それは1手前に「動かした」駒か?
759
- hand_log&.move_hand&.soldier == s
760
- end
761
- end
762
- end
763
- end
764
- end
765
- end
766
- },
767
- },
768
-
769
- {
770
- key: "入玉",
771
- description: "玉が4段目から3段目に移動した",
772
- func: proc {
773
- verify_if { soldier.just_nyuugyoku? }
774
- verify_if { origin_soldier.atoippo_nyuugyoku? }
775
- },
776
- },
777
-
778
- {
779
- key: "角不成",
780
- description: "相手陣地に入るときと出るときの両方チェックする",
781
- func: proc {
782
- verify_if { origin_soldier.tsugini_nareru_on?(place) }
783
- },
784
- },
785
-
786
- {
787
- key: "飛車不成",
788
- description: "角不成と同じ方法でよい",
789
- func: proc {
790
- verify_if { origin_soldier.tsugini_nareru_on?(place) }
791
- },
792
- },
793
- ]
794
- end
795
- end
796
- end
797
- # ~> -:8:in `<class:TechniqueVerifyInfo>': uninitialized constant Bioshogi::Analysis::TechniqueVerifyInfo::ApplicationMemoryRecord (NameError)
798
- # ~> from -:7:in `<module:Analysis>'
799
- # ~> from -:6:in `<module:Bioshogi>'
800
- # ~> from -:5:in `<main>'