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
@@ -73,28 +73,36 @@ module Bioshogi
73
73
  @parser_options[:container_class] || Container::Basic
74
74
  end
75
75
 
76
+ def container_default_params
77
+ params = @parser_options.slice(*[
78
+ :analysis_feature,
79
+ :ki2_function,
80
+ :validate_feature,
81
+ :double_pawn_detect,
82
+ :warp_detect,
83
+ ])
84
+
85
+ # xparser を渡すのではなく必要なパラメータだけ渡す
86
+ params[:preset_info_or_nil] = preset_info_or_nil # 手合割
87
+ params[:win_side_location] = pi.header.win_side_location # 勝敗がついた側がわかっている (強)
88
+ params[:input_last_action_info] = pi.input_last_action_info # 結末 (都詰めなどの判定に必要)
89
+
90
+ params
91
+ end
92
+
76
93
  def container_new
77
- container_class.new.tap do |e|
78
- e.params.update(@parser_options.slice(*[
79
- :analysis_feature,
80
- :analysis_technique_feature,
81
- :ki2_function,
82
- :validate_feature,
83
- :validate_double_pawn_skip,
84
- :validate_warp_skip,
85
- ]))
86
- end
94
+ container_class.new(container_default_params)
87
95
  end
88
96
 
89
97
  # 画像生成のための container の初期状態を返す
90
98
  def container_for_image
91
- container = Container::Basic.new
92
- container.params.update({
93
- :analysis_feature => false,
94
- :analysis_technique_feature => false,
95
- :ki2_function => false,
96
- :validate_feature => false,
97
- })
99
+ params = {
100
+ :analysis_feature => false,
101
+ :ki2_function => false,
102
+ :validate_feature => false,
103
+ }
104
+
105
+ container = Container::Basic.new(params) # FIXME: Container::Fast を使うこと
98
106
  container_init(container) # FIXME: これ、必要ない SFEN を生成したりして遅い
99
107
  container
100
108
  end
@@ -106,7 +114,7 @@ module Bioshogi
106
114
  end
107
115
  end
108
116
 
109
- # FIXME: container の最初の状態をコピーしておく
117
+ # FIXME: container の最初の状態をコピーしておく → 知っていればいい情報だけをとっておく
110
118
  def initial_container
111
119
  @initial_container ||= container_new.tap do |e|
112
120
  container_init(e)
@@ -114,27 +122,49 @@ module Bioshogi
114
122
  end
115
123
 
116
124
  def container_init(container)
117
- if @pi.sfen_info
118
- container.placement_from_sfen(@pi.sfen_info)
125
+ if pi.sfen_info
126
+ container.placement_from_sfen(pi.sfen_info)
119
127
  else
120
128
  players_piece_box_set(container)
121
129
 
122
- if @pi.board_source
123
- container.board.placement_from_shape(@pi.board_source)
130
+ if pi.board_source
131
+ container.board.placement_from_shape(pi.board_source)
124
132
  else
125
133
  preset_info = PresetInfo[pi.header["手合割"]] || PresetInfo["平手"]
126
134
  container.placement_from_preset(preset_info.key)
127
135
  end
128
136
 
129
- if pi.force_location
130
- container.turn_info.turn_base = pi.force_location.code
131
- end
137
+ if false
138
+ # 本来はシンプルに次のようにすればいいのだけど、
139
+ # 「駒落ち」かつ「上手番」の2つの指定があったとき、両方指定すると 1 + 1 = 2 となり
140
+ # 逆に先手から始まってしまい、「【反則】下手の手番で上手が着手しました」となる
141
+ if pi.force_handicap
142
+ container.turn_info.handicap = pi.force_handicap
143
+ end
144
+ if pi.force_location
145
+ container.turn_info.turn_base = pi.force_location.code
146
+ end
147
+ else
148
+ # とりあえず優先して駒落ちフラグを設定する
149
+ if pi.force_handicap
150
+ container.turn_info.handicap = pi.force_handicap
151
+ end
132
152
 
133
- if pi.force_handicap
134
- container.turn_info.handicap = pi.force_handicap
153
+ # 次に「希望の手番」を設定する。force_location としているがもう force ではなくなっている。
154
+ case
155
+ when container.turn_info.handicap && pi.force_location&.key == :white
156
+ # 「駒落ち(設定済み)」x「△開始」= さわらない
157
+ when !container.turn_info.handicap && pi.force_location&.key == :black
158
+ # 「平手」x「▲開始」= さわらない
159
+ when pi.force_location
160
+ # 「平手」x「△開始」
161
+ # 「駒落ち」x「▲開始」
162
+ container.turn_info.turn_base = pi.force_location.code
163
+ end
135
164
  end
136
165
  end
137
- container.before_run_process # 最初の状態を記録
166
+
167
+ container.after_setup # 最初の状態を記録 (MEMO: ここで呼ぶのはおかしくないか?)
138
168
  end
139
169
 
140
170
  # 持駒を反映する
@@ -147,31 +177,44 @@ module Bioshogi
147
177
  # 盤面の指定があるとき、盤面だけを見て、手合割を得る
148
178
  def board_preset_info
149
179
  @board_preset_info ||= yield_self do
150
- if @pi.board_source
151
- Board.guess_preset_info(@pi.board_source)
180
+ if pi.board_source
181
+ Board.guess_preset_info(pi.board_source)
152
182
  end
153
183
  end
154
184
  end
155
185
 
156
186
  # 手合割
157
187
  def preset_info
158
- @preset_info ||= @pi.force_preset_info
159
- @preset_info ||= initial_container.board.preset_info
160
- @preset_info ||= PresetInfo[pi.header["手合割"]]
161
- @preset_info ||= PresetInfo["平手"]
188
+ @preset_info ||= preset_info_or_nil || PresetInfo["平手"]
189
+ end
190
+
191
+ # 手合割(なければ nil)
192
+ def preset_info_or_nil
193
+ unless defined?(@preset_info_or_nil)
194
+ @preset_info_or_nil ||= pi.force_preset_info
195
+ @preset_info_or_nil ||= initial_container.board.preset_info(major_only: false)
196
+ @preset_info_or_nil ||= PresetInfo[pi.header["手合割"]]
197
+ # # 天空の城をスプリントから除外したいが開発環境では途中の局面から判定(有効)にしたいための苦肉の策
198
+ # @preset_info_or_nil ||= PresetInfo[pi.header["X-初期配置"]]
199
+ end
200
+
201
+ @preset_info_or_nil
162
202
  end
163
203
 
204
+ # # 天空の城をスプリントから除外したいが開発環境では途中の局面から判定(有効)にしたいための苦肉の策
205
+ # def initial_preset
206
+ # @initial_preset ||= PresetInfo[pi.header["初期配置"]] # 特殊
207
+ # end
208
+
164
209
  def container_run_all(container)
165
210
  Runner.new(self, container).call
166
211
  if @parser_options[:analysis_feature]
167
- SkillEmbed.new(self, container).call
168
- StyleEmbed.new(self, container).call
169
- end
170
- end
212
+ pi.header.object.update(container.to_header_h)
171
213
 
172
- # FIXME: これは skill_embed のなかだけにあればよくね?
173
- def skill_set_hash
174
- @skill_set_hash ||= {}
214
+ if e = pi.output_last_action_info
215
+ pi.header["結末"] = e.kakinoki_word
216
+ end
217
+ end
175
218
  end
176
219
 
177
220
  # FIXME: メソッドが重複してね?
@@ -189,71 +232,10 @@ module Bioshogi
189
232
  end
190
233
 
191
234
  def judgment_message
192
- if e = last_action_info
235
+ if e = pi.output_last_action_info
193
236
  e.judgment_message(container)
194
237
  end
195
238
  end
196
-
197
- def last_action_info
198
- @last_action_info ||= yield_self do
199
- key = nil
200
-
201
- # エラーなら最優先
202
- unless key
203
- if @pi.error_message
204
- key = :ILLEGAL_MOVE
205
- end
206
- end
207
-
208
- # 元の棋譜の記載を優先 (CSA語, 柿木語 のみ対応)
209
- unless key
210
- if @pi.last_action_params
211
- v = @pi.last_action_params[:last_action_key]
212
- if LastActionInfo[v]
213
- key = v
214
- end
215
- end
216
- end
217
-
218
- # 何の指定もないときだけ投了とする
219
- unless key
220
- unless @pi.last_action_params
221
- key = :TORYO
222
- end
223
- end
224
-
225
- LastActionInfo[key]
226
- end
227
- end
228
-
229
- def used_seconds_at(index)
230
- @pi.move_infos.dig(index, :used_seconds).to_i
231
- end
232
-
233
- def error_message_part(comment_mark = "*")
234
- if @pi.error_message
235
- v = @pi.error_message.strip + "\n"
236
- s = "-" * 76 + "\n"
237
- [s, *v.lines, s].collect {|e| "#{comment_mark} #{e}" }.join
238
- end
239
- end
240
-
241
- # 勝った側を返す
242
- # nil の場合もある
243
- def win_side_location(container)
244
- # 勝者が明示されている場合
245
- # SHOGI-EXTEND 側からは常に勝者を入れている
246
- # これは切断されたときどちらが切断してどちらが勝ったのか手番では判断できないため
247
- if v = @pi.header["勝者"]
248
- Location.fetch(v)
249
- else
250
- # 明示されていないかつ「投了」「時間切れ」「詰み」で終わった場合のみ、手番による勝者を信じる
251
- # これは入玉の場合「指した方が負け」になるケースがあるため、入玉などは除外しないといけない
252
- if @pi.win_player_collect_p
253
- container.win_player.location
254
- end
255
- end
256
- end
257
239
  end
258
240
  end
259
241
  end
@@ -1,4 +1,5 @@
1
1
  # frozen-string-literal: true
2
+
2
3
  #
3
4
  # CSA標準棋譜ファイル形式
4
5
  # http://www.computer-shogi.org/protocol/record_v22.html ← 見れなくなった
@@ -46,38 +47,43 @@ module Bioshogi
46
47
  end
47
48
  end
48
49
 
50
+ attr_accessor :formatter
51
+ attr_accessor :params
52
+
49
53
  def initialize(formatter, params = {})
50
54
  @formatter = formatter
51
55
  @params = self.class.default_params.merge(params)
52
56
  end
53
57
 
54
58
  def to_s
55
- @formatter.container_run_once
59
+ formatter.container_run_once
56
60
 
57
61
  out = []
58
62
  out << "V#{CSA_VERSION}\n"
59
63
 
60
- if @params[:has_header]
64
+ if params[:has_header]
61
65
  out << header_content
62
66
  end
63
67
 
64
68
  obj = Container::Basic.new
65
- @formatter.container_init(obj) # なぜ?
66
- out << obj.to_csa(@params)
69
+ formatter.container_init(obj) # なぜ?
70
+ out << obj.to_csa(params)
67
71
 
68
72
  out << body_hands
69
73
 
70
- if @params[:has_footer]
71
- out << footer_content
74
+ if params[:has_footer]
75
+ if e = footer_content
76
+ out << e
77
+ end
72
78
  end
73
79
 
74
- if @formatter.pi.error_message
75
- out << @formatter.error_message_part(Parser::CsaParser::SYSTEM_COMMENT_CHAR)
80
+ if formatter.pi.error_message
81
+ out << formatter.pi.error_message_part(Parser::CsaParser::SYSTEM_COMMENT_CHAR)
76
82
  end
77
83
 
78
84
  out = out.join
79
85
 
80
- if @params[:oneline]
86
+ if params[:oneline]
81
87
  out = out.gsub(/\n/, ",")
82
88
  else
83
89
  out += "\n"
@@ -91,7 +97,7 @@ module Bioshogi
91
97
 
92
98
  def header_content
93
99
  CsaHeaderInfo.collect { |e|
94
- if v = @formatter.pi.header[e.kif_side_key].presence
100
+ if v = formatter.pi.header[e.kif_side_key].presence
95
101
  if e.as_csa
96
102
  v = e.instance_exec(v, &e.as_csa)
97
103
  end
@@ -108,12 +114,12 @@ module Bioshogi
108
114
  # 2. container.turn_info を利用して container.turn_info.base_location.csa_sign を参照
109
115
  # ↑どちらも違う
110
116
  # 3. これが正しい
111
- out << @formatter.container.turn_info.turn_offset_zero_location.csa_sign + "\n"
117
+ out << formatter.container.turn_info.turn_offset_zero_location.csa_sign + "\n"
112
118
 
113
- if @formatter.container.hand_logs.present?
114
- list = @formatter.container.hand_logs.collect.with_index do |e, i|
115
- if @formatter.pi.clock_exist?
116
- [e.to_csa, "T#{@formatter.used_seconds_at(i)}"].join(",")
119
+ if formatter.container.hand_logs.present?
120
+ list = formatter.container.hand_logs.collect.with_index do |e, i|
121
+ if formatter.pi.clock_exist?
122
+ [e.to_csa, "T#{formatter.pi.used_seconds_at(i)}"].join(",")
117
123
  else
118
124
  e.to_csa
119
125
  end
@@ -124,22 +130,22 @@ module Bioshogi
124
130
  out.join
125
131
  end
126
132
 
127
- # 将棋倶楽部24の棋譜は先手の手番で後手が投了できる「反則勝ち」が last_action_key 入っているたため、LastActionInfo を fetch できない
133
+ # 将棋倶楽部24の棋譜は先手の手番で後手が投了できる「反則勝ち」が入っているたため、LastActionInfo を fetch できない
128
134
  # なので仕方なく TORYO にしている。これは実際には後手が投了したのに先手が投了したことになってしまう表記なのでおかしい
129
135
  # これは将棋倶楽部24に仕様を正してもらうか、CSA 側でそれに対応するキーワードを用意してもらうしかない
130
136
  def footer_content
131
- av = []
132
- hv = @formatter.pi.last_action_params || { last_action_key: "TORYO" }
133
- last_action_info = LastActionInfo[hv[:last_action_key]] || LastActionInfo[:TORYO]
134
- av << "%#{last_action_info.csa_key}"
135
- if v = hv[:used_seconds]
136
- av << "T#{v}"
137
+ if e = formatter.pi.input_last_action_info
138
+ av = []
139
+ av << "%#{e.csa_key}"
140
+ if v = formatter.pi.last_used_seconds
141
+ av << "T#{v}"
142
+ end
143
+ av.join(",") + "\n"
137
144
  end
138
- av.join(",") + "\n"
139
145
  end
140
146
 
141
147
  def separator
142
- if @params[:compact]
148
+ if params[:compact]
143
149
  ","
144
150
  else
145
151
  "\n"
@@ -26,7 +26,7 @@ module Bioshogi
26
26
  # 固定幅で整列
27
27
  # 値が小さいと揃わない場合がある
28
28
  def fixed_width_body_hands
29
- @formatter.container.hand_logs.group_by.with_index {|_, i| i / @params[:column_max] }.values.collect { |v|
29
+ @formatter.container.hand_logs.group_by.with_index { |_, i| i / @params[:column_max] }.values.collect { |v|
30
30
  v.collect { |e|
31
31
  s = e.to_ki2(with_location: true, same_suffix: @params[:same_suffix])
32
32
  mb_ljust(s, @params[:column_width])
@@ -33,14 +33,14 @@ module Bioshogi
33
33
  def body_hands
34
34
  @formatter.container.hand_logs.collect.with_index { |e, i|
35
35
  if @main_clock
36
- @main_clock.add(@formatter.used_seconds_at(i))
36
+ @main_clock.add(@formatter.pi.used_seconds_at(i))
37
37
  end
38
38
  s = e.to_kif(char_type: :formal_sheet)
39
39
  s = mb_ljust(s, @params[:hand_width])
40
40
  n = "%*d" % [@params[:number_width], i.next]
41
41
  s = [n, s, @main_clock].compact.join(" ")
42
42
  s = s.rstrip + "\n"
43
- if v = e.to_skill_set_kif_comment
43
+ if v = e.kif_comment
44
44
  s += v
45
45
  end
46
46
  s
@@ -53,8 +53,8 @@ module Bioshogi
53
53
  left_part = nil
54
54
  right_part = nil
55
55
 
56
- if @formatter.last_action_info
57
- if kakinoki_word = @formatter.last_action_info.kakinoki_word
56
+ if @formatter.pi.output_last_action_info
57
+ if kakinoki_word = @formatter.pi.output_last_action_info.kakinoki_word
58
58
  left_part = "%*d %s" % [
59
59
  @params[:number_width],
60
60
  @formatter.container.hand_logs.size.next,
@@ -62,12 +62,10 @@ module Bioshogi
62
62
  ]
63
63
  end
64
64
 
65
- if @formatter.pi.last_action_params
66
- if used_seconds = @formatter.pi.last_action_params[:used_seconds]
67
- if @main_clock
68
- @main_clock.add(used_seconds)
69
- right_part = @main_clock.to_s
70
- end
65
+ if v = @formatter.pi.last_used_seconds
66
+ if @main_clock
67
+ @main_clock.add(v)
68
+ right_part = @main_clock.to_s
71
69
  end
72
70
  end
73
71
 
@@ -42,10 +42,10 @@ module Bioshogi
42
42
  if s = @formatter.judgment_message
43
43
  out << "#{s}\n"
44
44
  end
45
- if s = illegal_judgement_message
46
- out << s
45
+ if s = @formatter.pi.illegal_judgement_message
46
+ out << "*#{s}\n"
47
47
  end
48
- out << @formatter.error_message_part
48
+ out << @formatter.pi.error_message_part
49
49
  end
50
50
 
51
51
  out.join
@@ -68,8 +68,8 @@ module Bioshogi
68
68
  end
69
69
 
70
70
  def header_part_string
71
- m = @formatter.initial_container
72
- if e = m.board.preset_info
71
+ m = @formatter.initial_container # FIXME: かなり臭う。初期状態が正しく入っているのか怪しい。
72
+ if e = m.board.preset_info(major_only: true) # 読めないソフトがあるため「右香落ち」や「トンボ」を除外する
73
73
  # 手合割がわかる場合
74
74
  @header["手合割"] = e.name
75
75
  mochigoma_delete_if_blank # 手合割がわかるとき持駒が空なら消す
@@ -82,7 +82,7 @@ module Bioshogi
82
82
  end
83
83
 
84
84
  def raw_header_part_hash
85
- @header.object.collect { |key, value|
85
+ hv = @header.object.collect { |key, value|
86
86
  if value
87
87
  if e = CsaHeaderInfo[key]
88
88
  if e.as_kif
@@ -92,6 +92,10 @@ module Bioshogi
92
92
  [key, value]
93
93
  end
94
94
  }.compact.to_h
95
+
96
+ # hv = hv.merge(@formatter.container.to_header_h)
97
+
98
+ hv.compact_blank
95
99
  end
96
100
 
97
101
  def raw_header_part_string
@@ -115,17 +119,6 @@ module Bioshogi
115
119
  end
116
120
  end
117
121
 
118
- # 将棋倶楽部24の棋譜だけに存在する、自分の手番で相手が投了したときの文言に対応する
119
- # "*" のあとにスペースを入れると、激指でコメントの先頭にスペースが入ってしまうため、仕方なくくっつけている
120
- def illegal_judgement_message
121
- if @formatter.pi.last_action_params
122
- v = @formatter.pi.last_action_params[:last_action_key]
123
- unless LastActionInfo[v]
124
- "*#{v}\n"
125
- end
126
- end
127
- end
128
-
129
122
  # 全角対応 ljust
130
123
  #
131
124
  # mb_ljust("あ", 3) # => "あ "
@@ -12,6 +12,7 @@ module Bioshogi
12
12
  end
13
13
 
14
14
  def call
15
+ container.before_execute_all
15
16
  begin
16
17
  @formatter.pi.move_infos.each.with_index do |info, i|
17
18
  if @formatter.parser_options[:debug]
@@ -20,10 +21,10 @@ module Bioshogi
20
21
  if @formatter.parser_options[:callback]
21
22
  @formatter.parser_options[:callback].call(container)
22
23
  end
23
- if @formatter.parser_options[:turn_limit] && container.turn_info.display_turn >= @formatter.parser_options[:turn_limit]
24
+ if @formatter.parser_options[:turn_max] && container.turn_info.display_turn >= @formatter.parser_options[:turn_max]
24
25
  break
25
26
  end
26
- container.execute(info[:input], used_seconds: formatter.used_seconds_at(i))
27
+ container.execute(info[:input], used_seconds: formatter.pi.used_seconds_at(i))
27
28
  end
28
29
  rescue CommonError => error
29
30
  if v = @formatter.parser_options[:typical_error_case]
@@ -38,6 +39,7 @@ module Bioshogi
38
39
  raise error
39
40
  end
40
41
  end
42
+ container.after_execute_all
41
43
  end
42
44
  end
43
45
  end
@@ -0,0 +1,72 @@
1
+ # frozen-string-literal: true
2
+
3
+ # Swars::User::Stat::FrequencyExtractor.high_accuracy
4
+ # >> |-----|
5
+ # >> | 515 |
6
+ # >> |-----|
7
+ # >> |-----+-----------------------|
8
+ # >> | key | ratio |
9
+ # >> |-----+-----------------------|
10
+ # >> | 杏 | 0.0012432623567665045 |
11
+ # >> | 全 | 0.002663247067491629 |
12
+ # >> | 圭 | 0.0026711358306407544 |
13
+ # >> | と | 0.009093115889395976 |
14
+ # >> | 龍 | 0.017298266838485784 |
15
+ # >> | 馬 | 0.019454151941932046 |
16
+ # >> | 香 | 0.023406805585627757 |
17
+ # >> | 桂 | 0.06559815350942172 |
18
+ # >> | 玉 | 0.08727810239208346 |
19
+ # >> | 角 | 0.09229347386967632 |
20
+ # >> | 飛 | 0.09975018682220436 |
21
+ # >> | 金 | 0.1051636332294009 |
22
+ # >> | 銀 | 0.1780809228105882 |
23
+ # >> | 歩 | 0.2960055418562846 |
24
+ # >> |-----+-----------------------|
25
+ # >> [{:key=>"杏", :ratio=>0.0012432623567665045},
26
+ # >> {:key=>"全", :ratio=>0.002663247067491629},
27
+ # >> {:key=>"圭", :ratio=>0.0026711358306407544},
28
+ # >> {:key=>"と", :ratio=>0.009093115889395976},
29
+ # >> {:key=>"龍", :ratio=>0.017298266838485784},
30
+ # >> {:key=>"馬", :ratio=>0.019454151941932046},
31
+ # >> {:key=>"香", :ratio=>0.023406805585627757},
32
+ # >> {:key=>"桂", :ratio=>0.06559815350942172},
33
+ # >> {:key=>"玉", :ratio=>0.08727810239208346},
34
+ # >> {:key=>"角", :ratio=>0.09229347386967632},
35
+ # >> {:key=>"飛", :ratio=>0.09975018682220436},
36
+ # >> {:key=>"金", :ratio=>0.1051636332294009},
37
+ # >> {:key=>"銀", :ratio=>0.1780809228105882},
38
+ # >> {:key=>"歩", :ratio=>0.2960055418562846}]
39
+
40
+ module Bioshogi
41
+ class FreqPieceInfo
42
+ include ApplicationMemoryRecord
43
+ memory_record [
44
+ { key: "杏", ratio: 0.0012432623567665045, },
45
+ { key: "全", ratio: 0.002663247067491629, },
46
+ { key: "圭", ratio: 0.0026711358306407544, },
47
+ { key: "と", ratio: 0.009093115889395976, },
48
+ { key: "龍", ratio: 0.017298266838485784, },
49
+ { key: "馬", ratio: 0.019454151941932046, },
50
+ { key: "香", ratio: 0.023406805585627757, },
51
+ { key: "桂", ratio: 0.06559815350942172, },
52
+ { key: "玉", ratio: 0.08727810239208346, },
53
+ { key: "角", ratio: 0.09229347386967632, },
54
+ { key: "飛", ratio: 0.09975018682220436, },
55
+ { key: "金", ratio: 0.1051636332294009, },
56
+ { key: "銀", ratio: 0.1780809228105882, },
57
+ { key: "歩", ratio: 0.2960055418562846, },
58
+ ]
59
+
60
+ def soldier
61
+ @soldier ||= Soldier.from_str("▲55#{name}")
62
+ end
63
+
64
+ def to_counts_key
65
+ @to_counts_key ||= soldier.to_counts_key
66
+ end
67
+
68
+ def two_char_key
69
+ @two_char_key ||= to_counts_key.to_s
70
+ end
71
+ end
72
+ end
@@ -24,7 +24,7 @@ module Bioshogi
24
24
  player.piece_box.add(soldier.piece.key => 1)
25
25
  end
26
26
 
27
- def soldier_for_counts
27
+ def used_soldier
28
28
  soldier
29
29
  end
30
30
 
@@ -39,6 +39,55 @@ module Bioshogi
39
39
  origin_soldier.tsugini_nareru_on?(soldier.place)
40
40
  end
41
41
 
42
+ # 駒を取った場合、自分より弱い駒を取った?
43
+ # 厳密な比較ではなく、玉・大駒・小駒で決める
44
+ # def jibunyori_yowai_komawo_totta?
45
+ # if captured_soldier
46
+ # soldier.piece.category_score > captured_soldier.piece.category_score
47
+ # end
48
+ # end
49
+
50
+ ################################################################################
51
+
52
+ # 右に移動した歩数
53
+ def right_move_length
54
+ soldier.white_then_flip.place.column.value - origin_soldier.white_then_flip.place.column.value
55
+ end
56
+
57
+ # 左に移動した歩数
58
+ def left_move_length
59
+ -right_move_length
60
+ end
61
+
62
+ # 下に移動した歩数
63
+ def down_move_length
64
+ soldier.white_then_flip.place.row.value - origin_soldier.white_then_flip.place.row.value
65
+ end
66
+
67
+ # 上に移動した歩数
68
+ def up_move_length
69
+ -down_move_length
70
+ end
71
+
72
+ ################################################################################
73
+
74
+ # 移動差分をベクトルとして返す
75
+ #
76
+ # Hand::Move.create(soldier: Soldier.from_str("▲55玉"), origin_soldier: Soldier.from_str("▲56玉")).move_vector == V.up
77
+ # Hand::Move.create(soldier: Soldier.from_str("▲55玉"), origin_soldier: Soldier.from_str("▲54玉")).move_vector == V.down
78
+ # Hand::Move.create(soldier: Soldier.from_str("▲55玉"), origin_soldier: Soldier.from_str("▲45玉")).move_vector == V.left
79
+ # Hand::Move.create(soldier: Soldier.from_str("▲55玉"), origin_soldier: Soldier.from_str("▲65玉")).move_vector == V.right
80
+ #
81
+ # Hand::Move.create(soldier: Soldier.from_str("△55玉"), origin_soldier: Soldier.from_str("△56玉")).move_vector == V.down
82
+ # Hand::Move.create(soldier: Soldier.from_str("△55玉"), origin_soldier: Soldier.from_str("△54玉")).move_vector == V.up
83
+ # Hand::Move.create(soldier: Soldier.from_str("△55玉"), origin_soldier: Soldier.from_str("△45玉")).move_vector == V.right
84
+ # Hand::Move.create(soldier: Soldier.from_str("△55玉"), origin_soldier: Soldier.from_str("△65玉")).move_vector == V.left
85
+ def move_vector
86
+ soldier.white_then_flip.vector_from(origin_soldier.white_then_flip)
87
+ end
88
+
89
+ ################################################################################
90
+
42
91
  # 人間には読みやすいがパースは大変
43
92
  # ・不成がわからない
44
93
  def to_kif(options = {})
@@ -79,7 +128,7 @@ module Bioshogi
79
128
  ].join
80
129
  end
81
130
 
82
- def soldier_for_counts
131
+ def used_soldier
83
132
  origin_soldier
84
133
  end
85
134