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
@@ -14,6 +14,7 @@ module Bioshogi
14
14
  delegate :board, :piece_box, :container, to: :player
15
15
  delegate :origin_soldier, :captured_soldier, to: :move_hand, allow_nil: true
16
16
  delegate :soldier, to: :hand
17
+ delegate :motion_key, to: :input
17
18
 
18
19
  def initialize(player, source, params = {})
19
20
  @player = player
@@ -56,11 +57,11 @@ module Bioshogi
56
57
  execute_after_process
57
58
 
58
59
  if captured_soldier
59
- piece_box_added(captured_soldier)
60
+ piece_box_added
60
61
  end
61
62
 
62
63
  if move_hand
63
- move_hand_process(move_hand)
64
+ move_hand_process
64
65
  end
65
66
 
66
67
  perform_analyzer
@@ -78,10 +79,10 @@ module Bioshogi
78
79
  def execute_after_process
79
80
  end
80
81
 
81
- def piece_box_added(captured_soldier)
82
+ def piece_box_added
82
83
  end
83
84
 
84
- def move_hand_process(move_hand)
85
+ def move_hand_process
85
86
  if move_hand.soldier.piece.key == :king
86
87
  player.king_place = move_hand.soldier.place
87
88
  end
@@ -114,7 +115,7 @@ module Bioshogi
114
115
  end
115
116
  end
116
117
 
117
- def skill_set
118
+ def tag_bundle
118
119
  end
119
120
  end
120
121
  end
@@ -1,63 +1,66 @@
1
1
  # frozen-string-literal: true
2
+
3
+ # |-------------+--------------------------------------+----------------------------------------------------------|
4
+ # | 属性 | 意味 | 備考 |
5
+ # |-------------+--------------------------------------+----------------------------------------------------------|
6
+ # | hirate_like | ほぼ平手の配置か? | |
7
+ # | minor | 一般的なソフトが対応してないものか? | 「手合割:トンボ」などと表記すると一般的なソフトはバグる |
8
+ # | handicap | △が初手を指すか? | |
9
+ # | x_taden | 銀多伝・金多伝を許可するか? | |
10
+ # |-------------+--------------------------------------+----------------------------------------------------------|
11
+
2
12
  module Bioshogi
3
13
  class PresetInfo
4
14
  include ApplicationMemoryRecord
5
- # special_piece:
6
- # 大駒があるか?
7
- # 大駒がないのに「居飛車」と言うのはおかしいので special_piece を確認する
8
- #
9
- # minor:
10
- # 一般的なソフトが対応してないものか?
11
- # 逆算で安易に「手合割:トンボ」と表記しないようにするため
12
- # と一般的なソフトはなにそれ状態になり初期配置を用意できない
13
- #
14
- # handicap:
15
- # △が初手を指すモードか?
16
- #
17
15
  memory_record [
18
- { key: "平手", minor: false, handicap: false, special_piece: true, piece_boxes: { black: "", white: "", }, },
19
- { key: "香落ち", minor: false, handicap: true, special_piece: true, piece_boxes: { black: "", white: "", }, },
20
- { key: "右香落ち", minor: true, handicap: true, special_piece: true, piece_boxes: { black: "", white: "", }, },
21
- { key: "角落ち", minor: false, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, },
22
- { key: "飛車落ち", minor: false, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, },
23
- { key: "飛香落ち", minor: false, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, },
24
- { key: "二枚落ち", minor: false, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, },
25
- { key: "二枚持ち", minor: true, handicap: true, special_piece: false, piece_boxes: { black: "飛角", white: "", }, }, # これは盤の情報から逆算できない。「二枚落ち」と判定されてしまうため、根本的にロジックを変更しないといけない。
26
- { key: "三枚落ち", minor: false, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, }, # 1849/03/15 伊藤宗印 vs 天満屋 の手合割にある
27
- { key: "四枚落ち", minor: false, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, },
28
- { key: "六枚落ち", minor: false, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, },
29
- { key: "トンボ", minor: true, handicap: true, special_piece: true, piece_boxes: { black: "", white: "", }, },
30
- { key: "八枚落ち", minor: false, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, },
31
- { key: "十枚落ち", minor: false, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, },
32
- { key: "十九枚落ち", minor: true, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, },
33
- { key: "二十枚落ち", minor: true, handicap: true, special_piece: false, piece_boxes: { black: "", white: "", }, },
34
- { key: "青空将棋", minor: true, handicap: false, special_piece: true, piece_boxes: { black: "", white: "", }, },
35
- { key: "バリケード将棋", minor: true, handicap: false, special_piece: true, piece_boxes: { black: "飛角香", white: "飛角香", }, },
36
- { key: "5五将棋", minor: true, handicap: false, special_piece: true, piece_boxes: { black: "", white: "", }, },
16
+ { key: "平手", major: true, handicap: false, hirate_like: true, x_taden: true, piece_boxes: { black: "", white: "", }, },
17
+ { key: "香落ち", major: true, handicap: true, hirate_like: true, x_taden: true, piece_boxes: { black: "", white: "", }, },
18
+ { key: "右香落ち", major: false, handicap: true, hirate_like: true, x_taden: true, piece_boxes: { black: "", white: "", }, },
19
+ { key: "角落ち", major: true, handicap: true, hirate_like: false, x_taden: true, piece_boxes: { black: "", white: "", }, },
20
+ { key: "飛車落ち", major: true, handicap: true, hirate_like: false, x_taden: true, piece_boxes: { black: "", white: "", }, },
21
+ { key: "飛香落ち", major: true, handicap: true, hirate_like: false, x_taden: true, piece_boxes: { black: "", white: "", }, },
22
+ { key: "二枚落ち", major: true, handicap: true, hirate_like: false, x_taden: true, piece_boxes: { black: "", white: "", }, },
23
+ { key: "二枚持ち", major: false, handicap: true, hirate_like: false, x_taden: true, piece_boxes: { black: "飛角", white: "", }, }, # これは盤の情報から逆算できない。「二枚落ち」と判定されてしまうため、根本的にロジックを変更しないといけない。
24
+ { key: "三枚落ち", major: true, handicap: true, hirate_like: false, x_taden: true, piece_boxes: { black: "", white: "", }, }, # 1849/03/15 伊藤宗印 vs 天満屋 の手合割にある
25
+ { key: "四枚落ち", major: true, handicap: true, hirate_like: false, x_taden: true, piece_boxes: { black: "", white: "", }, },
26
+ { key: "六枚落ち", major: true, handicap: true, hirate_like: false, x_taden: true, piece_boxes: { black: "", white: "", }, },
27
+ { key: "トンボ", major: false, handicap: true, hirate_like: false, x_taden: false, piece_boxes: { black: "", white: "", }, },
28
+ { key: "八枚落ち", major: true, handicap: true, hirate_like: false, x_taden: false, piece_boxes: { black: "", white: "", }, },
29
+ { key: "十枚落ち", major: true, handicap: true, hirate_like: false, x_taden: false, piece_boxes: { black: "", white: "", }, },
30
+ { key: "十九枚落ち", major: false, handicap: true, hirate_like: false, x_taden: false, piece_boxes: { black: "", white: "", }, },
31
+ { key: "二十枚落ち", major: false, handicap: true, hirate_like: false, x_taden: false, piece_boxes: { black: "", white: "", }, },
32
+ { key: "青空将棋", major: false, handicap: false, hirate_like: false, x_taden: false, piece_boxes: { black: "", white: "", }, },
33
+ { key: "バリケード将棋", major: false, handicap: false, hirate_like: false, x_taden: false, piece_boxes: { black: "飛角香", white: "飛角香", }, },
34
+ { key: "5五将棋", major: false, handicap: false, hirate_like: false, x_taden: false, piece_boxes: { black: "", white: "", }, },
37
35
  ]
38
36
 
39
37
  class << self
40
- def lookup(key)
41
- key = key.to_s
42
- key = key.sub(/[55五][55五々]/, "5五") # 五々将棋 -> 5五将棋
43
- key = key.sub(/(.)車/, '\1') # 飛車 香車 -> 飛 香
44
- key = key.sub(/飛落/, "飛車落")
45
- key = key.sub(/裸玉/, "十九枚落ち")
46
- key = key.sub(/詰将棋/, "平手")
47
- key = key.sub(/落\z/, "落ち") # 香落 -> 香落ち
48
- super
38
+ def key_cast(key)
39
+ if key.kind_of?(String)
40
+ key = key.sub(/[55五][55五々]/, "5五") # 五々将棋 -> 5五将棋
41
+ key = key.sub(/(.)車/, '\1') # 飛車 香車 -> 飛 香
42
+ key = key.sub(/飛落/, "飛車落")
43
+ key = key.sub(/詰将棋/, "平手")
44
+ key = key.sub(/落\z/, "落ち") # 香落 -> 香落ち
45
+ end
46
+ key
49
47
  end
50
48
 
51
49
  # 一般的なものに絞る
52
- def major_list
53
- @major_list ||= reject(&:minor)
50
+ def major_only
51
+ @major_only ||= find_all(&:major)
52
+ end
53
+
54
+ # 一般的でないものに絞る
55
+ def minor_only
56
+ @minor_only ||= reject(&:major)
54
57
  end
55
58
 
56
59
  # 持駒の比較は別途行う必要あり
57
60
  def lookup_by_soldiers(soldiers, options = {})
58
61
  options = {
59
- :optimize => false, # 速くなる (気がするだけでほとんど効果がない)
60
- :inclusion_minor => false, # トンボなど一般的な名前も含めるか?
62
+ :optimize => false, # 速くなる (気がするだけでほとんど効果がない)
63
+ :major_only => false, # true: トンボなど一般的な名前も含めない
61
64
  }.merge(options)
62
65
 
63
66
  if options[:optimize]
@@ -78,10 +81,10 @@ module Bioshogi
78
81
  # end
79
82
  else
80
83
  sorted_soldiers = soldiers.sort
81
- if options[:inclusion_minor]
82
- list = to_a
84
+ if options[:major_only]
85
+ list = major_only
83
86
  else
84
- list = major_list
87
+ list = to_a
85
88
  end
86
89
  list.find { |e| sorted_soldiers == e.sorted_soldiers }
87
90
  end
@@ -125,6 +128,10 @@ module Bioshogi
125
128
  handicap ? 1 : 0
126
129
  end
127
130
 
128
- include Analysis::ShapeInfoRelation
131
+ def start_locaction
132
+ @start_locaction ||= Location.fetch(handicap ? :white : :black)
133
+ end
134
+
135
+ include Analysis::ShapeInfoAccessor
129
136
  end
130
137
  end
@@ -15,9 +15,13 @@ module Bioshogi
15
15
  # line で stroke を使うと fill + stroke で二重に同じところを塗るっぽい
16
16
  # だから半透明にしても濃くなる
17
17
  # なので fill だけにする
18
+ # しかし、そうすると今度は 2px 以上が描画できなくなるのでやっぱり stroke も入れておく
18
19
  def lattice_draw(layer)
19
20
  draw_context(layer) do |g|
20
- g.fill(inner_frame_lattice_color) # 塗り潰し色で line する (stroke と勘違いしがち)
21
+ g.stroke_width(lattice_stroke_width) # 2px 以上の場合はこれがいる
22
+ g.stroke(inner_frame_lattice_color) # (↑のときの色)
23
+ g.fill = inner_frame_lattice_color # 線の中心線の色(1pxだけならこれだけあればいい)
24
+
21
25
  (1...lattice.w).each do |x|
22
26
  line_draw(g, V[x, 0], V[x, lattice.h])
23
27
  end
@@ -3,7 +3,7 @@ module Bioshogi
3
3
  class PieceFontWeightInfo
4
4
  include ApplicationMemoryRecord
5
5
  memory_record [
6
- { key: :is_piece_font_weight_auto, name: "おまかせ", to_params: { }, },
6
+ { key: :is_piece_font_weight_auto, name: "おまかせ", to_params: {}, },
7
7
  { key: :is_piece_font_weight_normal, name: "細字", to_params: { soldier_font_bold: false, stand_piece_font_bold: false, }, },
8
8
  { key: :is_piece_font_weight_bold, name: "太字", to_params: { soldier_font_bold: true, stand_piece_font_bold: true, }, },
9
9
  ]
@@ -8,11 +8,11 @@ module Bioshogi
8
8
  ]
9
9
 
10
10
  class << self
11
- def lookup(v)
12
- if v
13
- v = v.downcase
14
- super
11
+ def key_cast(key)
12
+ if key
13
+ key = key.downcase
15
14
  end
15
+ key
16
16
  end
17
17
  end
18
18
 
@@ -1,4 +1,5 @@
1
1
  # frozen-string-literal: true
2
+
2
3
  module Bioshogi
3
4
  class SfenImporter
4
5
  def initialize(container, sfen_info)
@@ -16,7 +17,7 @@ module Bioshogi
16
17
  @sfen_info.piece_counts.each do |location_key, counts|
17
18
  @container.player_at(location_key).piece_box.set(counts)
18
19
  end
19
- @container.before_run_process
20
+ @container.after_setup
20
21
  end
21
22
 
22
23
  def import_all
@@ -4,7 +4,7 @@ module Bioshogi
4
4
  module SimpleModel
5
5
  def initialize(attributes)
6
6
  attributes.each do |k, v|
7
- public_send("#{k}=", v)
7
+ send("#{k}=", v)
8
8
  end
9
9
 
10
10
  super()
@@ -0,0 +1,109 @@
1
+ module Bioshogi
2
+ class Soldier
3
+ # 手筋判定用
4
+ concern :DetectorMethods do
5
+ Place::DELEGATE_METHODS_WITH_LOCATION.each do |name|
6
+ define_method(name) do |*args, **options|
7
+ place.public_send(name, location, *args, **options)
8
+ end
9
+ end
10
+
11
+ delegate *Place::DIRECT_DELEGATE_METHODS, to: :place
12
+
13
+ ################################################################################
14
+
15
+ # 後手は先手目線として計算する
16
+ #
17
+ # Soldier.from_str("▲55玉").vector_from(Soldier.from_str("▲56玉")) == V.up
18
+ # Soldier.from_str("▲55玉").vector_from(Soldier.from_str("▲54玉")) == V.down
19
+ # Soldier.from_str("▲55玉").vector_from(Soldier.from_str("▲45玉")) == V.left
20
+ # Soldier.from_str("▲55玉").vector_from(Soldier.from_str("▲65玉")) == V.right
21
+ #
22
+ # Soldier.from_str("△55玉").vector_from(Soldier.from_str("△56玉")) == V.down
23
+ # Soldier.from_str("△55玉").vector_from(Soldier.from_str("△54玉")) == V.up
24
+ # Soldier.from_str("△55玉").vector_from(Soldier.from_str("△45玉")) == V.right
25
+ # Soldier.from_str("△55玉").vector_from(Soldier.from_str("△65玉")) == V.left
26
+ def vector_from(from)
27
+ white_then_flip.place.vector_from(from.white_then_flip.place)
28
+ end
29
+
30
+ def vector_to(to)
31
+ white_then_flip.place.vector_to(to.white_then_flip.place)
32
+ end
33
+
34
+ # a から b を見たとき b は左右どちらにいるか?
35
+ # relative_move_to に渡せる抽象化した向きを返す
36
+ # def left_or_light_from_a_to_b(a, b)
37
+ # v1 = a.white_then_flip.place.column.value
38
+ # v2 = b.white_then_flip.place.column.value
39
+ # case
40
+ # when v1 < v2
41
+ # :left
42
+ # when v1 > v2
43
+ # :right
44
+ # end
45
+ # end
46
+
47
+ ################################################################################
48
+
49
+ # 前に一直線に進めるタイプか?
50
+ def boar_mode?
51
+ (piece.key == :lance && normal?) || piece.key == :rook
52
+ end
53
+
54
+ ################################################################################ for SoldierLookupTableMethods
55
+
56
+ def to_key1
57
+ :"#{location.key}/#{piece.key}"
58
+ end
59
+
60
+ def to_key2
61
+ :"#{location.key}/#{piece.key}/#{promoted}"
62
+ end
63
+
64
+ ################################################################################ for XmotionAnalyzer, MotionAnalyzer
65
+
66
+ def motion_key(drop_hand)
67
+ [piece.key, promoted, !!drop_hand]
68
+ end
69
+
70
+ ################################################################################ for BoardPieceCountsMethods
71
+
72
+ # def location_with_piece
73
+ # [location.key, piece.key]
74
+ # end
75
+
76
+ ################################################################################
77
+
78
+ # 駒の重さ(=価値) 常にプラス
79
+ def abs_weight
80
+ piece.any_weight(promoted)
81
+ end
82
+
83
+ # 駒の重さ(=価値)。先手視点。後手ならマイナスになる
84
+ def relative_weight
85
+ abs_weight * location.sign_dir
86
+ end
87
+
88
+ # 敵への駒の圧力(終盤度)
89
+ def pressure_level(area = 4)
90
+ case
91
+ when top_spaces < area
92
+ if promoted
93
+ piece.promoted_attack_level
94
+ else
95
+ piece.attack_level
96
+ end
97
+ when bottom_spaces < area
98
+ if promoted
99
+ -piece.promoted_defense_level
100
+ else
101
+ -piece.defense_level
102
+ end
103
+ else
104
+ 0
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
@@ -3,6 +3,10 @@
3
3
  module Bioshogi
4
4
  class Soldier
5
5
  class << self
6
+ # 文字列から盤上の駒を生成する
7
+ #
8
+ # Soldier.from_str("▲76歩") # => <Bioshogi::Soldier "▲7六歩">
9
+ # Soldier.from_str("76歩", location: :white) # => <Bioshogi::Soldier "△7六歩">
6
10
  def from_str(str, attributes = {})
7
11
  if str.kind_of?(self)
8
12
  return str
@@ -18,7 +22,7 @@ module Bioshogi
18
22
  if v = attributes[:location]
19
23
  location = Location[v]
20
24
  end
21
- attrs = {place: Place.fetch(md[:place]), location: location}
25
+ attrs = { place: Place.fetch(md[:place]), location: location }
22
26
  new_with_promoted(md[:piece], attrs)
23
27
  end
24
28
 
@@ -44,7 +48,7 @@ module Bioshogi
44
48
  end
45
49
 
46
50
  # 先後それぞれの形を指定する
47
- # Soldier.preset_soldiers(white: "裸玉", black: "裸玉").collect(&:name) # => ["▲5九玉", "△5一玉"]
51
+ # Soldier.preset_soldiers(white: "十九枚落ち", black: "十九枚落ち").collect(&:name) # => ["▲5九玉", "△5一玉"]
48
52
  def preset_soldiers(preset_key)
49
53
  PresetInfo.fetch(preset_key || :"平手").sorted_soldiers
50
54
  end
@@ -55,7 +59,7 @@ module Bioshogi
55
59
  end
56
60
 
57
61
  include SimpleModel
58
- include TechniqueMatcherMethods
62
+ include DetectorMethods
59
63
  include ScreenImage::SoldierModelMethods
60
64
 
61
65
  attr_accessor :piece
@@ -82,10 +86,19 @@ module Bioshogi
82
86
  { piece: piece, promoted: promoted, place: place, location: location }
83
87
  end
84
88
 
89
+ def merge(attributes)
90
+ self.class.create(self.attributes.merge(attributes))
91
+ end
92
+
93
+ ################################################################################
94
+
85
95
  # 手合割などを調べる際に並び順で異なるオブジェクトと見なされないようにするためだけに用意した
86
96
  # だから何をキーにしてもよい。place は基本ユニークなのでこれで並べる
97
+ # FIXME: 不具合の元になりそう
87
98
  def <=>(other)
88
- place <=> other.place
99
+ if other
100
+ place <=> other.place
101
+ end
89
102
  end
90
103
 
91
104
  def ==(other)
@@ -100,6 +113,8 @@ module Bioshogi
100
113
  attributes.hash
101
114
  end
102
115
 
116
+ ################################################################################
117
+
103
118
  # 180度回転
104
119
  def flip
105
120
  self.class.create(piece: piece, promoted: promoted, place: place.flip, location: location.flip)
@@ -119,6 +134,8 @@ module Bioshogi
119
134
  end
120
135
  end
121
136
 
137
+ ################################################################################
138
+
122
139
  def all_vectors
123
140
  piece.all_vectors(promoted: promoted, location: location)
124
141
  end
@@ -131,10 +148,6 @@ module Bioshogi
131
148
  v ||= all_vectors.any? { |e| place.vector_add(e) } # ちょっとでも動ける?
132
149
  end
133
150
 
134
- def merge(attributes)
135
- self.class.create(self.attributes.merge(attributes))
136
- end
137
-
138
151
  ################################################################################ Utility
139
152
 
140
153
  # 自分を移動元の状態と考えて to に移動したとき成れるか?
@@ -193,6 +206,10 @@ module Bioshogi
193
206
  piece.any_name(promoted, options)
194
207
  end
195
208
 
209
+ def xxx_kiri(options = {})
210
+ piece.xxx_kiri(promoted, options)
211
+ end
212
+
196
213
  def yomiage
197
214
  piece.yomiage(promoted)
198
215
  end
@@ -213,6 +230,10 @@ module Bioshogi
213
230
  piece.csa.any_name(promoted)
214
231
  end
215
232
 
233
+ def to_counts_key
234
+ piece.to_counts_key(promoted)
235
+ end
236
+
216
237
  def to_akf
217
238
  {
218
239
  :piece => piece.key,
@@ -1,4 +1,5 @@
1
1
  # frozen-string-literal: true
2
+
2
3
  #
3
4
  # soldier_box = SoldierBox.new
4
5
  # soldier_box << Soldier.from_str("△5一玉")
@@ -1,4 +1,5 @@
1
1
  # frozen-string-literal: true
2
+
2
3
  module Bioshogi
3
4
  module SoldierWalker
4
5
  extend self
@@ -1,3 +1,7 @@
1
+ task :prepare do
2
+ require "bioshogi"
3
+ end
4
+
1
5
  desc "bundle update (alias)"
2
6
  task :bu => :bundle_update
3
7
 
@@ -0,0 +1,7 @@
1
+ desc "2ch棋譜読み込み変換テスト(MAX=xxx)"
2
+ task "extreme_detect" => :prepare do
3
+ Bioshogi::ExtremeDetect.new.call
4
+ end
5
+
6
+ desc "alias to extreme_detect"
7
+ task :"2" => :extreme_detect
@@ -0,0 +1,5 @@
1
+ desc "戦法判定処理量確認 (最適化の効果が大きい戦法ランキング)"
2
+ task :bm do
3
+ require "bioshogi"
4
+ Bioshogi::Analysis::PerformanceBenchmark.new.call
5
+ end
@@ -0,0 +1,11 @@
1
+ require "rdoc/task"
2
+
3
+ RDoc::Task.new do |rdoc|
4
+ # rdoc.main = "README.md" # 最初に表示されるページ(任意)
5
+ rdoc.rdoc_dir = "rdoc" # 出力先ディレクトリ(デフォルト: doc)
6
+ # rdoc.title = "My Project Documentation" # ドキュメントタイトル(任意)
7
+
8
+ # ドキュメント対象ファイル(ここをプロジェクトに合わせて調整)
9
+ # rdoc.rdoc_files.include("lib/**/*.rb", "README.md")
10
+ rdoc.rdoc_files.include("lib/**/*.rb")
11
+ end
@@ -0,0 +1,7 @@
1
+ task :r => :report
2
+
3
+ desc "レポート"
4
+ task :report do
5
+ require "bioshogi"
6
+ Bioshogi::Analysis::TagReporter.new.call
7
+ end
@@ -6,3 +6,8 @@ task :tactic_stat do
6
6
  require "bioshogi"
7
7
  Bioshogi::Analysis::TacticStat.new.call
8
8
  end
9
+
10
+ desc "変換テスト"
11
+ task :nc => :prepare do
12
+ Bioshogi::Analysis::NormalizeCheck.new.call
13
+ end
@@ -0,0 +1,8 @@
1
+ desc "戦法判定確認"
2
+ task :tactic_detector do
3
+ require "bioshogi"
4
+ Bioshogi::Analysis::TacticDetector.new.call
5
+ end
6
+
7
+ desc "alias to tactic_detector"
8
+ task :v => :tactic_detector