bioshogi 0.0.13 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (640) hide show
  1. checksums.yaml +4 -4
  2. data/.dumbjump +4 -0
  3. data/A/342/206/222B/342/206/222C/345/233/262/343/201/204.txt +14 -0
  4. data/A/342/206/222B/342/206/222C/346/210/246/346/263/225.txt +96 -0
  5. data/Gemfile.lock +18 -16
  6. data/README.org +6 -6
  7. data/bioshogi.gemspec +2 -2
  8. data/lib/bioshogi/ai/brain.rb +6 -7
  9. data/lib/bioshogi/ai/versus.rb +1 -1
  10. data/lib/bioshogi/{explain/skill_monitor.rb → analysis/analyzer.rb} +152 -41
  11. data/lib/bioshogi/{explain/monitor_mod.rb → analysis/analyzer_mod.rb} +29 -18
  12. data/lib/bioshogi/analysis/attack_info.rb +316 -0
  13. data/lib/bioshogi/{explain/tech_accessor.rb → analysis/basic_accessor.rb} +34 -19
  14. data/lib/bioshogi/{explain → analysis}/board_piller_methods.rb +10 -10
  15. data/lib/bioshogi/{explain → analysis}/chaos_info.rb +1 -1
  16. data/lib/bioshogi/analysis/defense_info.rb +178 -0
  17. data/lib/bioshogi/analysis/file_normalizer.rb +54 -0
  18. data/lib/bioshogi/analysis/frequency.rb +376 -0
  19. data/lib/bioshogi/{explain → analysis}/group_info.rb +1 -1
  20. data/lib/bioshogi/analysis/note_info.rb +100 -0
  21. data/lib/bioshogi/analysis/rocket_analyzer.rb +104 -0
  22. data/lib/bioshogi/{explain → analysis}/sect_info.rb +1 -1
  23. data/lib/bioshogi/{explain → analysis}/shape_info.rb +1512 -531
  24. data/lib/bioshogi/{explain → analysis}/shape_info_relation.rb +2 -2
  25. data/lib/bioshogi/{explain → analysis}/skill_set.rb +8 -3
  26. data/lib/bioshogi/analysis/style_accessor.rb +48 -0
  27. data/lib/bioshogi/analysis/style_info.rb +15 -0
  28. data/lib/bioshogi/analysis/tactic_hit_turn_table.rb +413 -0
  29. data/lib/bioshogi/{explain → analysis}/tactic_hit_turn_table_generator.rb +34 -32
  30. data/lib/bioshogi/{explain → analysis}/tactic_info.rb +56 -33
  31. data/lib/bioshogi/analysis/tactic_stat.rb +14 -0
  32. data/lib/bioshogi/analysis/tactic_validator.rb +60 -0
  33. data/lib/bioshogi/analysis/technique_info.rb +62 -0
  34. data/lib/bioshogi/analysis/technique_matcher_helper.rb +8 -0
  35. data/lib/bioshogi/analysis/technique_verify_info.rb +627 -0
  36. data/lib/bioshogi/{explain//346/211/213/347/255/213 → analysis//345/202/231/350/200/203}//343/203/255/343/202/261/343/203/203/343/203/210.kif +8 -11
  37. data/lib/bioshogi/{explain → analysis}//345/202/231/350/200/203//345/205/245/347/216/211.kif +6 -4
  38. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/220/215/344/272/272/343/201/253/345/256/232/350/267/241/343/201/252/343/201/227.kif +98 -0
  39. data/lib/bioshogi/analysis//345/202/231/350/200/203//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 +155 -0
  40. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/244/247/351/247/222/345/205/250/343/203/226/343/203/203/343/203/201.kif +80 -0
  41. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/345/261/205/351/243/233/350/273/212.kif +10 -0
  42. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/346/212/227/345/275/242.kif +11 -0
  43. 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 +11 -0
  44. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/347/251/264/347/206/212.kif +122 -0
  45. data/lib/bioshogi/{explain → analysis}//345/202/231/350/200/203//345/261/205/351/243/233/350/273/212.kif +2 -4
  46. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/200/245/346/210/246.kif +54 -0
  47. 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 +15 -0
  48. 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 +10 -0
  49. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/214/201/344/271/205/346/210/246.kif +162 -0
  50. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/214/257/343/202/212/351/243/233/350/273/212.kif +11 -0
  51. data/lib/bioshogi/{explain → analysis}//345/202/231/350/200/203//347/233/270/345/205/245/347/216/211.kif +3 -3
  52. data/lib/bioshogi/{explain → analysis}//345/202/231/350/200/203//347/233/270/345/261/205/347/216/211.kif +7 -5
  53. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/345/261/205/351/243/233/350/273/212.kif +32 -0
  54. 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 +16 -0
  55. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/347/251/264/347/206/212.kif +87 -0
  56. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/237/242/345/200/211/346/226/26024/346/211/213/347/265/204.kif +39 -0
  57. 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 +39 -0
  58. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/237/255/346/211/213/346/225/260.kif +29 -0
  59. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/251/264/347/206/212.kif +122 -0
  60. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/251/264/347/206/212/343/201/256/345/247/277/347/204/274/343/201/215.kif +122 -0
  61. data/lib/bioshogi/analysis//345/202/231/350/200/203//350/203/214/346/260/264/343/201/256/351/231/243.kif +154 -0
  62. data/lib/bioshogi/analysis//345/202/231/350/200/203//350/247/222/344/270/215/346/210/220.kif +23 -0
  63. data/lib/bioshogi/analysis//345/202/231/350/200/203//350/247/222/344/272/244/346/217/233/345/236/213.kif +17 -0
  64. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/203/275/350/251/260/343/202/201.kif +90 -0
  65. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/225/267/346/211/213/346/225/260.kif +355 -0
  66. data/lib/bioshogi/{explain → analysis}//345/202/231/350/200/203//351/243/233/350/273/212/344/270/215/346/210/220.kif +2 -4
  67. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/247/222/346/237/261.kif +193 -0
  68. data/lib/bioshogi/{explain → 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 +9 -5
  69. 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 +43 -0
  70. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//343/201/204/343/201/241/343/201/224/345/233/262/343/201/204.kif +10 -8
  71. data/lib/bioshogi/{explain → 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 +19 -10
  72. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//343/201/232/343/202/214/347/276/216/346/277/203.kif +6 -6
  73. 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 +42 -0
  74. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//343/201/270/343/201/223/343/201/277/347/237/242/345/200/211.kif +7 -7
  75. 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 +110 -0
  76. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//343/202/250/343/203/253/343/203/242/345/233/262/343/201/204.kif +6 -4
  77. 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 +119 -0
  78. data/lib/bioshogi/{explain → 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 +7 -5
  79. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/202/256/345/233/262/343/201/204.kif +178 -0
  80. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//343/202/253/343/202/277/345/233/262/343/201/204.kif +14 -10
  81. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//343/202/253/343/203/213/345/233/262/343/201/204.kif +8 -5
  82. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//343/202/253/343/203/213/347/274/266/345/233/262/343/201/204.kif +3 -3
  83. 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 +32 -0
  84. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//343/202/253/343/203/226/343/203/210/347/276/216/346/277/203.kif +9 -6
  85. data/lib/bioshogi/{explain → 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 +13 -6
  86. data/lib/bioshogi/{explain → 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 +7 -7
  87. data/lib/bioshogi/{explain → 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 +9 -8
  88. 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 +48 -0
  89. 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 +117 -0
  90. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//343/203/223/343/203/203/343/202/2604.kif +16 -10
  91. data/lib/bioshogi/{explain → 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 +12 -10
  92. 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 +169 -0
  93. 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 +45 -0
  94. data/lib/bioshogi/{explain → 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 +6 -3
  95. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//344/270/200/346/226/207/345/255/227/347/237/242/345/200/211.kif +5 -4
  96. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/255/344/275/217/343/201/276/343/201/204.kif +125 -0
  97. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/255/345/216/237/345/233/262/343/201/204.kif +34 -0
  98. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//344/270/262/343/202/253/343/203/204/345/233/262/343/201/204.kif +10 -10
  99. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/215/207/347/224/260/347/276/216/346/277/203.kif +5 -3
  100. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/217/263/347/237/242/345/200/211.kif +11 -7
  101. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/236/232/347/251/264/347/206/212.kif +66 -0
  102. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/233/233/346/236/232/347/276/216/346/277/203.kif +12 -10
  103. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/233/233/346/236/232/351/212/200/345/206/240.kif +16 -8
  104. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/233/233/346/256/265/347/253/257/347/216/211.kif +13 -7
  105. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/233/233/346/256/265/347/253/257/347/216/2112.kif +1 -3
  106. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/233/233/350/247/222/347/237/242/345/200/211.kif +10 -7
  107. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/234/237/345/261/205/347/237/242/345/200/211.kif +7 -5
  108. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/235/212/344/270/273/347/276/216/346/277/203.kif +48 -0
  109. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/244/247/345/261/261/347/276/216/346/277/203.kif +9 -7
  110. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/244/247/347/233/276/345/233/262/343/201/204.kif +6 -5
  111. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/247/351/232/205/345/233/262/343/201/204.kif +23 -0
  112. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/244/251/345/256/210/351/226/243/345/233/262/343/201/204.kif +7 -5
  113. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/244/251/345/256/210/351/226/243/347/276/216/346/277/203.kif +10 -9
  114. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/351/207/216/347/237/242/345/200/211.kif +40 -0
  115. 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 +155 -0
  116. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/261/205/347/216/211.kif +10 -6
  117. data/lib/bioshogi/{explain → 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 +9 -21
  118. 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 +56 -0
  119. 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 +138 -0
  120. 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 +51 -0
  121. data/lib/bioshogi/{explain → 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 +8 -8
  122. 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 +57 -0
  123. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/267/246/345/261/261/345/233/262/343/201/204.kif +6 -4
  124. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//345/267/246/347/276/216/346/277/203.kif +7 -7
  125. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//346/202/252/345/275/242/347/237/242/345/200/211.kif +5 -3
  126. data/lib/bioshogi/{explain → 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 +7 -5
  127. data/lib/bioshogi/{explain → 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 +15 -9
  128. data/lib/bioshogi/{explain → 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 +17 -11
  129. data/lib/bioshogi/{explain → 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 +7 -5
  130. data/lib/bioshogi/{explain → 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 +12 -7
  131. data/lib/bioshogi/{explain → 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 +7 -6
  132. data/lib/bioshogi/{explain → 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 +8 -8
  133. data/lib/bioshogi/{explain → 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 +6 -6
  134. data/lib/bioshogi/{explain → 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 +10 -9
  135. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//346/226/207/351/216/256/345/233/262/343/201/204.kif +10 -6
  136. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//346/226/260/345/236/213/351/233/201/346/234/250.kif +6 -4
  137. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//346/227/251/345/233/262/343/201/204.kif +5 -5
  138. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/234/250/346/235/221/347/276/216/346/277/203.kif +53 -0
  139. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//346/235/276/345/260/276/346/265/201/347/251/264/347/206/212.kif +12 -9
  140. data/lib/bioshogi/{explain → 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 +8 -5
  141. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//346/265/201/343/202/214/347/237/242/345/200/211.kif +10 -6
  142. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/265/201/347/267/232/347/237/242/345/200/211.kif +65 -0
  143. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/204/241/346/225/265/345/233/262/343/201/204.kif +20 -0
  144. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//347/204/241/350/262/254/344/273/273/347/237/242/345/200/211.kif +6 -5
  145. 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 +50 -0
  146. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/211/207/347/251/264/347/206/212.kif +51 -0
  147. 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 +34 -0
  148. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//347/211/207/351/212/200/345/206/240.kif +9 -8
  149. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//347/237/242/345/200/211/346/227/251/345/233/262/343/201/204.kif +9 -6
  150. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//347/237/242/345/200/211/347/251/264/347/206/212.kif +9 -7
  151. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//347/245/236/345/220/211/346/265/201/347/251/264/347/206/212.kif +10 -8
  152. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/251/272/344/270/255/346/245/274/351/226/243.kif +59 -0
  153. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/253/257/347/216/211/351/212/200/345/206/240.kif +63 -0
  154. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/256/261/345/205/245/343/202/212/345/250/230.kif +49 -0
  155. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//347/264/231/347/251/264/347/206/212.kif +12 -9
  156. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/267/217/347/237/242/345/200/211.kif +139 -0
  157. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/276/216/346/277/203/345/233/262/343/201/204.kif +37 -0
  158. 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 +52 -0
  159. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/210/237/345/233/262/343/201/204.kif +31 -0
  160. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//350/210/237/345/233/262/343/201/204DX.kif +9 -5
  161. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/217/212/346/260/264/347/237/242/345/200/211.kif +63 -0
  162. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//350/217/261/347/237/242/345/200/211.kif +10 -6
  163. data/lib/bioshogi/{explain → 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 +8 -6
  164. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//350/243/276/345/233/272/343/202/201.kif +8 -6
  165. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//350/247/222/347/237/242/345/200/211.kif +6 -6
  166. data/lib/bioshogi/{explain → 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 +6 -4
  167. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//350/261/206/350/205/220/347/237/242/345/200/211.kif +11 -9
  168. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/200/243/347/233/237/347/276/216/346/277/203.kif +7 -5
  169. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/207/221/345/244/232/344/274/235.kif +4 -1
  170. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/207/221/347/204/241/345/217/214.kif +17 -8
  171. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/207/221/347/233/276/345/233/262/343/201/204.kif +7 -5
  172. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/237/242/345/200/211.kif +50 -0
  173. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/207/221/347/276/216/346/277/203.kif +14 -8
  174. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/207/221/351/226/200/347/237/242/345/200/211.kif +8 -6
  175. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/212/200/345/206/240.kif +10 -8
  176. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240/347/251/264/347/206/212.kif +93 -0
  177. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/212/200/345/244/232/344/274/235.kif +7 -4
  178. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/347/237/242/345/200/211.kif +46 -0
  179. 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 +52 -0
  180. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/347/276/216/346/277/203.kif +52 -0
  181. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/232/205/347/237/242/345/200/211.kif +8 -8
  182. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/233/242/343/202/214/351/207/221/347/204/241/345/217/214.kif +8 -8
  183. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/233/262/351/232/240/343/202/214/347/216/211.kif +42 -0
  184. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/253/230/347/237/242/345/200/211.kif +9 -7
  185. data/lib/bioshogi/{explain → analysis}//345/233/262/343/201/204//351/253/230/347/276/216/346/277/203/345/233/262/343/201/204.kif +9 -8
  186. data/lib/bioshogi/{explain//346/210/246/345/236/213/2/346/211/213/347/233/256/342/226/263/357/274/223 → analysis//346/210/246/346/263/225/2/346/211/213/347/233/256/342/226/2633}/343/203/213/351/243/233/346/210/246/346/263/225.kif +16 -9
  187. 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 +10 -0
  188. 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 +10 -0
  189. 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
  190. data/lib/bioshogi/analysis//346/210/246/346/263/225/3/342/206/2224/342/206/2223/346/210/246/346/263/225.kif +25 -0
  191. data/lib/bioshogi/{explain//346/210/246/345/236/213/4/346/211/213/347/233/256/342/226/263/357/274/223 → 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 +5 -4
  192. data/lib/bioshogi/analysis//346/210/246/346/263/225/5/346/211/213/347/210/206/345/274/276.kif +46 -0
  193. data/lib/bioshogi/analysis//346/210/246/346/263/225/5/347/255/213/344/275/215/345/217/226/343/202/212.kif +48 -0
  194. 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 +17 -0
  195. data/lib/bioshogi/{explain//346/210/246/345/236/213//357/274/226 → analysis//346/210/246/346/263/225/6}/347/255/213/344/275/215/345/217/226/343/202/212.kif +12 -8
  196. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}/GAVA/350/247/222.kif +10 -6
  197. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}/UFO/351/212/200.kif +9 -7
  198. 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 +127 -0
  199. data/lib/bioshogi/analysis//346/210/246/346/263/225/xaby/350/247/222/346/210/246/346/263/225.kif +17 -0
  200. data/lib/bioshogi/{explain//346/210/246/345/236/213//342/226/262/357/274/224 → 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 +9 -7
  201. data/lib/bioshogi/{explain//346/210/246/345/236/213//342/226/262/357/274/224 → 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 +9 -8
  202. data/lib/bioshogi/{explain//346/210/246/345/236/213//342/226/262/357/274/224 → 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 +9 -7
  203. data/lib/bioshogi/{explain//346/210/246/345/236/213//342/226/262/357/274/225 → analysis//346/210/246/346/263/225//342/226/2625}/344/270/203/351/207/221/346/210/246/346/263/225.kif +16 -10
  204. data/lib/bioshogi/{explain//346/210/246/345/236/213//342/226/262/357/274/225 → 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 +9 -7
  205. data/lib/bioshogi/{explain//346/210/246/345/236/213//342/226/263/357/274/222 → analysis//346/210/246/346/263/225//342/226/2632}/344/270/211/346/255/251/346/210/246/346/263/225.kif +8 -6
  206. data/lib/bioshogi/{explain//346/210/246/345/236/213//342/226/263/357/274/223 → analysis//346/210/246/346/263/225//342/226/2633}/344/270/211/346/241/202/346/210/246/346/263/225.kif +8 -6
  207. data/lib/bioshogi/{explain//346/210/246/345/236/213//342/226/263/357/274/223 → 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 +11 -6
  208. data/lib/bioshogi/{explain//346/210/246/345/236/213/33 → 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 +9 -7
  209. data/lib/bioshogi/{explain//346/210/246/345/236/213//342/226/263/357/274/223 → analysis//346/210/246/346/263/225//342/226/2633}/344/270/211/351/243/233/346/210/246/346/263/225.kif +17 -11
  210. data/lib/bioshogi/{explain//346/210/246/345/236/213//342/226/263/357/274/224 → analysis//346/210/246/346/263/225//342/226/2634}/344/272/224/350/247/222/346/210/246/346/263/225.kif +8 -6
  211. 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 +94 -0
  212. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +5 -6
  213. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +7 -5
  214. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//343/201/215/357/275/215/343/201/215/357/275/215/351/207/221.kif +8 -8
  215. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +7 -5
  216. 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 +178 -0
  217. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//343/201/262/343/201/255/343/202/212/351/243/233/350/273/212.kif +8 -6
  218. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +12 -8
  219. 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 +96 -0
  220. 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 +110 -0
  221. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//343/202/246/343/202/275/347/237/242/345/200/211.kif +5 -4
  222. 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 +144 -0
  223. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +12 -9
  224. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//343/202/253/343/203/213/343/202/253/343/203/213/351/207/221.kif +9 -7
  225. 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 +39 -0
  226. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +8 -6
  227. data/lib/bioshogi/{explain//346/210/246/345/236/213//344/270/255/347/224/260/345/212/237XP.kif → 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} +15 -8
  228. 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 +114 -0
  229. 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 +55 -0
  230. 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 +127 -0
  231. 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 +27 -0
  232. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +20 -5
  233. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +22 -10
  234. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +10 -7
  235. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +10 -7
  236. 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 +123 -0
  237. 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 +127 -0
  238. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//343/203/210/343/203/236/343/203/233/343/203/274/343/202/257.kif +9 -7
  239. 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 +31 -0
  240. 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 +76 -0
  241. 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 +95 -0
  242. 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 +42 -0
  243. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +6 -4
  244. 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 +53 -0
  245. 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 +47 -0
  246. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +6 -5
  247. 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 -0
  248. 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 +49 -0
  249. 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 +175 -0
  250. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//343/203/254/343/202/260/343/202/271/343/203/232.kif +13 -10
  251. 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 +119 -0
  252. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//344/270/200/347/233/264/347/267/232/347/251/264/347/206/212.kif +16 -14
  253. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/351/226/223/351/243/233/350/273/212.kif +22 -0
  254. 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 +42 -0
  255. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/346/256/265/345/217/263/347/216/211.kif +140 -0
  256. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//344/270/211/351/226/223/351/243/233/350/273/212.kif +9 -7
  257. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +9 -7
  258. 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 +38 -0
  259. 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 +49 -0
  260. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +15 -9
  261. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +14 -8
  262. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//344/270/255/345/216/237/351/243/233/350/273/212.kif +10 -11
  263. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/272/247/351/243/233/350/273/212.kif +61 -0
  264. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +8 -6
  265. 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 +183 -0
  266. 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 +27 -0
  267. 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 +36 -0
  268. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//344/271/235/351/226/223/351/243/233/350/273/212.kif +18 -6
  269. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +11 -9
  270. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//345/205/210/346/211/213/344/270/255/351/243/233/350/273/212.kif +5 -4
  271. 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 +8 -0
  272. data/lib/bioshogi/{explain//346/210/246/345/236/213//345/210/235/346/211/213/357/274/227 → 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 +8 -6
  273. 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 +11 -0
  274. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//345/212/233/346/210/246.kif +7 -5
  275. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +9 -7
  276. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//345/213/207/346/260/227/346/265/201.kif +9 -7
  277. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +12 -10
  278. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//345/216/237/345/247/213/344/270/255/351/243/233/350/273/212.kif +5 -4
  279. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//345/216/237/345/247/213/346/243/222/351/212/200.kif +9 -7
  280. 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 +31 -0
  281. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +12 -5
  282. data/lib/bioshogi/{explain//346/210/246/345/236/213//345/217/263/345/233/233/351/226/223/351/243/233/350/273/212.kif → 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} +11 -9
  283. 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 -0
  284. data/lib/bioshogi/{explain//345/233/262/343/201/204 → analysis//346/210/246/346/263/225}//345/217/263/347/216/211.kif +10 -10
  285. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/220/214/345/236/213/347/237/242/345/200/211.kif +60 -0
  286. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +7 -6
  287. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//345/233/233/346/211/213/350/247/222.kif +11 -8
  288. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/233/233/351/226/223/351/243/233/350/273/212.kif +17 -0
  289. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +9 -7
  290. 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 +154 -0
  291. 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 +102 -0
  292. 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 +13 -0
  293. 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 +33 -0
  294. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/254/211/351/207/216/346/265/201.kif +121 -0
  295. 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 +194 -0
  296. 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/201/237/343/201/223/351/207/221/346/210/246/346/263/225.kif +70 -0
  297. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +11 -13
  298. 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/346/243/222/351/212/200.kif +154 -0
  299. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +9 -7
  300. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +11 -7
  301. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +3 -4
  302. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/261/261/347/224/260/345/256/232/350/267/241.kif +45 -0
  303. data/lib/bioshogi/{explain//346/210/246/345/236/213//347/237/242/345/200/211 → analysis//346/210/246/346/263/225/}/345/267/246/347/276/216/346/277/203/346/200/245/346/210/246.kif +14 -7
  304. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +10 -8
  305. 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 +41 -0
  306. 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 +23 -0
  307. 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 +41 -0
  308. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/345/254/211/351/207/216/346/265/201.kif +134 -0
  309. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +11 -7
  310. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/347/237/263/347/224/260/346/265/201.kif +21 -0
  311. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/347/261/263/351/225/267/347/216/211.kif +139 -0
  312. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//346/226/260/351/242/250/350/273/212.kif +7 -7
  313. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/351/254/274/346/256/272/343/201/227.kif +37 -0
  314. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/227/251/347/237/263/347/224/260.kif +16 -0
  315. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//346/232/264/351/212/200.kif +11 -8
  316. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//346/234/250/346/235/221/345/256/232/350/267/241.kif +17 -10
  317. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +5 -4
  318. 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 +112 -0
  319. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/347/216/211.kif +26 -0
  320. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//346/243/222/351/207/221.kif +9 -7
  321. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/351/212/200.kif +41 -0
  322. 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 +94 -0
  323. 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 +39 -0
  324. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +15 -9
  325. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +8 -5
  326. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//346/250/252/346/255/251/345/217/226/343/202/212.kif +8 -6
  327. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +14 -9
  328. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//347/216/211/351/240/255/344/275/215/345/217/226/343/202/212.kif +11 -7
  329. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/216/211/351/240/255/351/212/200.kif +121 -0
  330. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +5 -6
  331. 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 +10 -0
  332. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/346/216/233/343/201/213/343/202/212.kif +20 -0
  333. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +8 -6
  334. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//347/233/270/346/250/252/346/255/251/345/217/226/343/202/212.kif +11 -11
  335. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//347/233/270/347/255/213/351/201/225/343/201/204/350/247/222.kif +12 -8
  336. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//347/234/237/351/203/250/346/265/201.kif +21 -11
  337. 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 +85 -0
  338. 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 +37 -0
  339. data/lib/bioshogi/{explain//345/233/262/343/201/204 → analysis//346/210/246/346/263/225}//347/237/242/345/200/211/345/217/263/347/216/211.kif +7 -5
  340. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//347/237/242/345/200/211/346/243/222/351/212/200.kif +12 -8
  341. 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 +38 -0
  342. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//347/237/263/347/224/260/346/265/201.kif +8 -6
  343. 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 +41 -0
  344. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//347/250/262/345/272/255/346/210/246/346/263/225.kif +8 -7
  345. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +6 -7
  346. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//347/251/264/350/247/222/346/210/246/346/263/225.kif +20 -13
  347. 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 +60 -0
  348. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//347/253/257/346/243/222/351/212/200.kif +12 -10
  349. 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 +45 -0
  350. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//347/255/213/351/201/225/343/201/204/350/247/222.kif +16 -9
  351. 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 +56 -0
  352. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +18 -7
  353. data/lib/bioshogi/{explain//345/233/262/343/201/204 → analysis//346/210/246/346/263/225}//347/263/270/350/260/267/346/265/201/345/217/263/347/216/211.kif +13 -8
  354. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +18 -8
  355. data/lib/bioshogi/{explain//345/233/262/343/201/204 → analysis//346/210/246/346/263/225}//347/276/275/347/224/237/346/265/201/345/217/263/347/216/211.kif +9 -7
  356. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +6 -7
  357. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +12 -9
  358. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//350/204/207/343/202/267/343/202/271/343/203/206/343/203/240.kif +8 -8
  359. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//350/205/260/346/216/233/343/201/221/351/212/200.kif +12 -9
  360. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +14 -8
  361. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +15 -12
  362. data/lib/bioshogi/{explain//346/210/246/345/236/213/ → 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 +23 -14
  363. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +17 -12
  364. 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 +24 -0
  365. data/lib/bioshogi/{explain//346/210/246/345/236/213//350/217/234/343/200/205/346/262/263/346/265/201/342/226/263/357/274/224 → 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 +5 -4
  366. 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 +168 -0
  367. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +9 -7
  368. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +9 -8
  369. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/242/226/351/243/233/350/273/212.kif +261 -0
  370. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +9 -7
  371. 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 +116 -0
  372. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//350/247/222/346/217/233/343/202/217/343/202/212.kif +8 -5
  373. 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 +137 -0
  374. 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 +162 -0
  375. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +12 -7
  376. data/lib/bioshogi/{explain//346/210/246/345/236/213//350/247/222/346/217/233/343/202/217/343/202/212/346/226/260/345/236/213.kif → 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} +9 -8
  377. 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 +52 -0
  378. 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 +13 -0
  379. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//350/247/222/351/240/255/346/255/251/346/210/246/346/263/225.kif +5 -6
  380. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/266/205/346/200/245/346/210/246.kif +38 -0
  381. data/lib/bioshogi/{explain//346/210/246/345/236/213//350/266/205/351/200/237/342/226/262/357/274/223/344/270/203/351/212/200.kif → 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} +13 -9
  382. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/200/206/346/243/222/351/212/200.kif +42 -0
  383. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//351/201/240/345/261/261/346/265/201.kif +12 -11
  384. 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 +43 -0
  385. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/207/221/346/262/242/346/265/201.kif +11 -0
  386. 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 +51 -0
  387. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//351/207/221/351/212/200/346/251/213.kif +14 -11
  388. 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 +40 -0
  389. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//351/212/200/351/233/262/351/233/200.kif +12 -8
  390. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/214/206/345/210/200/346/210/246/346/263/225.kif +54 -0
  391. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//351/216/226/351/216/214/351/212/200.kif +11 -8
  392. data/lib/bioshogi/{explain//346/210/246/345/236/213/ → analysis//346/210/246/346/263/225//351/226/223/345/256/256}/344/271/205/345/244/242/346/265/201.kif +10 -6
  393. 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 -0
  394. data/lib/bioshogi/{explain//346/210/246/345/236/213//351/230/252/347/224/260/346/265/201/345/220/221 → 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 +13 -6
  395. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +13 -7
  396. 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 +14 -0
  397. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/200/345/210/272/343/201/227.kif +94 -0
  398. data/lib/bioshogi/{explain//345/233/262/343/201/204 → analysis//346/210/246/346/263/225}//351/233/201/346/234/250/345/217/263/347/216/211.kif +13 -9
  399. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//351/235/222/351/207/216/346/265/201.kif +9 -7
  400. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//351/242/250/350/273/212.kif +8 -7
  401. 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 +102 -0
  402. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +9 -7
  403. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +11 -9
  404. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//351/253/230/347/224/260/346/265/201/345/267/246/347/216/211.kif +15 -11
  405. 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 +54 -0
  406. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/254/274/346/256/272/343/201/227.kif +26 -0
  407. 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 +43 -0
  408. data/lib/bioshogi/{explain//346/210/246/345/236/213 → 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 +5 -6
  409. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//351/263/245/345/210/272/343/201/227.kif +9 -7
  410. data/lib/bioshogi/{explain//346/210/246/345/236/213 → analysis//346/210/246/346/263/225}//351/267/272/345/256/256/345/256/232/350/267/241.kif +12 -6
  411. 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 +25 -0
  412. 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 +22 -0
  413. 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 +22 -0
  414. 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 +22 -0
  415. 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 +24 -0
  416. 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 +28 -0
  417. 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 +35 -0
  418. 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 +35 -0
  419. 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 +44 -0
  420. data/lib/bioshogi/{explain → 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 +0 -4
  421. data/lib/bioshogi/{explain → analysis}//346/211/213/347/255/213//343/203/221/343/203/263/343/203/204/343/202/222/350/204/261/343/201/220.kif +11 -15
  422. data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/200/351/226/223/347/253/234.kif +21 -0
  423. data/lib/bioshogi/analysis//346/211/213/347/255/213//344/275/215/343/201/256/347/242/272/344/277/235.kif +50 -0
  424. data/lib/bioshogi/{explain → 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 +0 -4
  425. 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 +22 -0
  426. data/lib/bioshogi/{explain → analysis}//346/211/213/347/255/213//345/236/202/343/202/214/346/255/251.kif +0 -4
  427. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/260/273/351/212/200.kif +32 -0
  428. data/lib/bioshogi/{explain → analysis}//346/211/213/347/255/213//345/271/275/351/234/212/350/247/222.kif +7 -5
  429. data/lib/bioshogi/{explain → analysis}//346/211/213/347/255/213//346/241/202/351/240/255/343/201/256/351/212/200.kif +0 -4
  430. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/351/240/255/343/201/256/346/241/202.kif +34 -0
  431. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/224/260/346/245/275/345/210/272/343/201/227.kif +34 -0
  432. 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 +21 -0
  433. 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 +22 -0
  434. data/lib/bioshogi/{explain → analysis}//346/211/213/347/255/213//347/266/231/343/201/216/346/241/202.kif +2 -6
  435. data/lib/bioshogi/analysis//346/211/213/347/255/213//347/266/231/343/201/216/346/255/251.kif +46 -0
  436. data/lib/bioshogi/{explain → analysis}//346/211/213/347/255/213//350/205/271/351/212/200.kif +13 -10
  437. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/200/243/346/211/223/343/201/256/346/255/251.kif +29 -0
  438. data/lib/bioshogi/{explain → analysis}//346/211/213/347/255/213//351/201/240/350/246/213/343/201/256/350/247/222.kif +15 -9
  439. data/lib/bioshogi/{explain → analysis}//346/211/213/347/255/213//351/207/221/345/272/225/343/201/256/346/255/251.kif +0 -4
  440. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/212/200/343/201/260/343/201/225/343/201/277.kif +29 -0
  441. data/lib/bioshogi/{explain → 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 +13 -9
  442. data/lib/bioshogi/analysis.rb +4 -0
  443. data/lib/bioshogi/application_memory_record.rb +4 -11
  444. data/lib/bioshogi/assertion.rb +6 -2
  445. data/lib/bioshogi/assets/images/background/matrix.png +0 -0
  446. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_club24.png +0 -0
  447. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_paper.png +0 -0
  448. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_piyo.png +0 -0
  449. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_real.png +0 -0
  450. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_shape.png +0 -0
  451. data/lib/bioshogi/assets/kifu_formats/sample.ki2 +3 -3
  452. data/lib/bioshogi/board/basic.rb +1 -1
  453. data/lib/bioshogi/board/csa_formatter.rb +2 -2
  454. data/lib/bioshogi/board/kakinoki_formatter.rb +5 -5
  455. data/lib/bioshogi/board/reader_methods.rb +8 -4
  456. data/lib/bioshogi/board_parser/compare_board_parser.rb +27 -4
  457. data/lib/bioshogi/board_parser/kakinoki_board_parser.rb +2 -2
  458. data/lib/bioshogi/container/checkmate_yomiage.rb +1 -1
  459. data/lib/bioshogi/container/core_methods.rb +2 -2
  460. data/lib/bioshogi/container/execute_methods.rb +1 -1
  461. data/lib/bioshogi/container/fast.rb +1 -1
  462. data/lib/bioshogi/container/simple.rb +1 -1
  463. data/lib/bioshogi/converter.rb +6 -2
  464. data/lib/bioshogi/csa_header_info.rb +2 -0
  465. data/lib/bioshogi/dimension/base.rb +49 -10
  466. data/lib/bioshogi/dimension/column.rb +131 -0
  467. data/lib/bioshogi/dimension/module_methods.rb +19 -20
  468. data/lib/bioshogi/dimension/row.rb +128 -0
  469. data/lib/bioshogi/errors.rb +2 -2
  470. data/lib/bioshogi/extreme_validator.rb +1 -1
  471. data/lib/bioshogi/formatter/animation/demo_builder.rb +1 -1
  472. data/lib/bioshogi/formatter/core.rb +25 -5
  473. data/lib/bioshogi/formatter/last_action_info.rb +26 -22
  474. data/lib/bioshogi/formatter/skill_embed.rb +147 -34
  475. data/lib/bioshogi/formatter/style_embed.rb +27 -0
  476. data/lib/bioshogi/formatter/sugatayaki_validator.rb +96 -0
  477. data/lib/bioshogi/hand/drop.rb +1 -1
  478. data/lib/bioshogi/hand/move.rb +6 -6
  479. data/lib/bioshogi/input_adapter/ki2_adapter.rb +10 -10
  480. data/lib/bioshogi/input_adapter/shared_validation.rb +1 -1
  481. data/lib/bioshogi/kanji_number.rb +0 -45
  482. data/lib/bioshogi/kifu_format_info.rb +5 -5
  483. data/lib/bioshogi/location.rb +22 -2
  484. data/lib/bioshogi/official_formatter.rb +37 -37
  485. data/lib/bioshogi/order_info.rb +5 -3
  486. data/lib/bioshogi/parser/base.rb +2 -2
  487. data/lib/bioshogi/parser/pi.rb +11 -0
  488. data/lib/bioshogi/piece/piece_scale.rb +9 -8
  489. data/lib/bioshogi/piece/piece_score.rb +14 -0
  490. data/lib/bioshogi/piece/piece_vector.rb +16 -10
  491. data/lib/bioshogi/piece.rb +33 -69
  492. data/lib/bioshogi/place.rb +155 -62
  493. data/lib/bioshogi/player/other_methods.rb +26 -6
  494. data/lib/bioshogi/player/soldier_methods.rb +2 -2
  495. data/lib/bioshogi/player.rb +1 -1
  496. data/lib/bioshogi/player_executor/base.rb +2 -2
  497. data/lib/bioshogi/player_executor/human.rb +1 -1
  498. data/lib/bioshogi/player_executor/{without_monitor.rb → without_analyzer.rb} +1 -1
  499. data/lib/bioshogi/preset_info.rb +1 -1
  500. data/lib/bioshogi/screen_image/core_methods.rb +3 -3
  501. data/lib/bioshogi/screen_image/pentagon.rb +2 -2
  502. data/lib/bioshogi/screen_image/soldier_methods.rb +1 -1
  503. data/lib/bioshogi/screen_image/stand.rb +5 -5
  504. data/lib/bioshogi/single_clock.rb +6 -6
  505. data/lib/bioshogi/soldier/technique_matcher_methods.rb +51 -0
  506. data/lib/bioshogi/soldier.rb +14 -79
  507. data/lib/bioshogi/soldier_walker.rb +1 -1
  508. data/lib/bioshogi/stat.rb +7 -0
  509. data/lib/bioshogi/tasks/chore.rake +1 -1
  510. data/lib/bioshogi/tasks/clean.rake +1 -1
  511. data/lib/bioshogi/tasks/demo.rake +2 -2
  512. data/lib/bioshogi/tasks/generate.rake +5 -5
  513. data/lib/bioshogi/tasks/normalize.rake +4 -4
  514. data/lib/bioshogi/tasks/{test.rake → spec.rake} +8 -6
  515. data/lib/bioshogi/tasks/tactic.rake +8 -0
  516. data/lib/bioshogi/tasks/tactic_validator.rake +1 -1
  517. data/lib/bioshogi/turn_info.rb +3 -3
  518. data/lib/bioshogi/v/preset_vectors.rb +129 -0
  519. data/lib/bioshogi/v.rb +4 -2
  520. data/lib/bioshogi/version.rb +1 -1
  521. data/lib/bioshogi.rb +13 -5
  522. data//347/275/256/343/201/215/346/217/233/343/201/210/346/216/250/345/245/250.txt +57 -0
  523. metadata +451 -353
  524. data/lib/bioshogi/dimension/place_x.rb +0 -27
  525. data/lib/bioshogi/dimension/place_y.rb +0 -57
  526. data/lib/bioshogi/explain/attack_info.rb +0 -199
  527. data/lib/bioshogi/explain/defense_info.rb +0 -130
  528. data/lib/bioshogi/explain/distribution_ratio.rb +0 -1895
  529. data/lib/bioshogi/explain/distribution_ratio_generator.rb +0 -48
  530. data/lib/bioshogi/explain/file_normalizer.rb +0 -20
  531. data/lib/bioshogi/explain/note_info.rb +0 -63
  532. data/lib/bioshogi/explain/tactic_hit_turn_table.rb +0 -320
  533. data/lib/bioshogi/explain/tactic_validator.rb +0 -40
  534. data/lib/bioshogi/explain/technique_info.rb +0 -28
  535. data/lib/bioshogi/explain/technique_matcher_info.rb +0 -298
  536. data/lib/bioshogi/explain//345/202/231/350/200/203//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 +0 -19
  537. data/lib/bioshogi/explain//345/202/231/350/200/203//345/244/247/351/247/222/345/205/250/346/266/210/345/244/261.kif +0 -19
  538. data/lib/bioshogi/explain//345/202/231/350/200/203//345/257/276/346/212/227/345/236/213.kif +0 -12
  539. data/lib/bioshogi/explain//345/202/231/350/200/203//345/257/276/346/214/257/343/202/212.kif +0 -12
  540. data/lib/bioshogi/explain//345/202/231/350/200/203//346/214/257/343/202/212/351/243/233/350/273/212.kif +0 -12
  541. data/lib/bioshogi/explain//345/202/231/350/200/203//347/233/270/345/261/205/351/243/233/350/273/212.kif +0 -8
  542. data/lib/bioshogi/explain//345/202/231/350/200/203//347/233/270/346/214/257/343/202/212.kif +0 -16
  543. data/lib/bioshogi/explain//345/202/231/350/200/203//350/203/214/346/260/264/343/201/256/351/231/243.kif +0 -34
  544. data/lib/bioshogi/explain//345/202/231/350/200/203//350/247/222/344/270/215/346/210/220.kif +0 -16
  545. data/lib/bioshogi/explain//345/202/231/350/200/203//351/247/222/346/237/261.kif +0 -48
  546. data/lib/bioshogi/explain//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 +0 -25
  547. data/lib/bioshogi/explain//345/233/262/343/201/204//343/202/242/343/203/222/343/203/253/345/233/262/343/201/204.kif +0 -148
  548. data/lib/bioshogi/explain//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 +0 -40
  549. data/lib/bioshogi/explain//345/233/262/343/201/204//343/202/253/343/202/256/345/233/262/343/201/204.kif +0 -40
  550. data/lib/bioshogi/explain//345/233/262/343/201/204//343/202/253/343/203/226/343/203/210/345/233/262/343/201/204.kif +0 -29
  551. data/lib/bioshogi/explain//345/233/262/343/201/204//343/203/204/343/203/216/351/212/200/345/236/213/345/217/263/347/216/211.kif +0 -45
  552. data/lib/bioshogi/explain//345/233/262/343/201/204//343/203/204/343/203/216/351/212/200/351/233/201/346/234/250.kif +0 -113
  553. data/lib/bioshogi/explain//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 +0 -96
  554. data/lib/bioshogi/explain//345/233/262/343/201/204//344/270/211/346/211/213/345/233/262/343/201/204.kif +0 -23
  555. data/lib/bioshogi/explain//345/233/262/343/201/204//344/270/211/346/256/265/345/217/263/347/216/211.kif +0 -50
  556. data/lib/bioshogi/explain//345/233/262/343/201/204//344/270/255/344/275/217/343/201/276/343/201/204.kif +0 -71
  557. data/lib/bioshogi/explain//345/233/262/343/201/204//344/270/255/345/216/237/345/233/262/343/201/204.kif +0 -69
  558. data/lib/bioshogi/explain//345/233/262/343/201/204//345/235/212/344/270/273/347/276/216/346/277/203.kif +0 -79
  559. data/lib/bioshogi/explain//345/233/262/343/201/204//345/244/251/351/207/216/347/237/242/345/200/211.kif +0 -76
  560. data/lib/bioshogi/explain//345/233/262/343/201/204//345/257/214/345/243/253/350/246/213/347/237/242/345/200/211.kif +0 -45
  561. data/lib/bioshogi/explain//345/233/262/343/201/204//345/261/205/351/243/233/350/273/212/347/251/264/347/206/212.kif +0 -76
  562. data/lib/bioshogi/explain//345/233/262/343/201/204//346/234/250/346/235/221/347/276/216/346/277/203.kif +0 -88
  563. data/lib/bioshogi/explain//345/233/262/343/201/204//347/204/241/346/225/265/345/233/262/343/201/204.kif +0 -136
  564. data/lib/bioshogi/explain//345/233/262/343/201/204//347/211/207/347/276/216/346/277/203/345/233/262/343/201/204.kif +0 -68
  565. data/lib/bioshogi/explain//345/233/262/343/201/204//347/251/272/344/270/255/346/245/274/351/226/243.kif +0 -126
  566. data/lib/bioshogi/explain//345/233/262/343/201/204//347/253/257/347/216/211/351/212/200/345/206/240.kif +0 -88
  567. data/lib/bioshogi/explain//345/233/262/343/201/204//347/256/261/345/205/245/343/202/212/345/250/230.kif +0 -72
  568. data/lib/bioshogi/explain//345/233/262/343/201/204//347/267/217/347/237/242/345/200/211.kif +0 -78
  569. data/lib/bioshogi/explain//345/233/262/343/201/204//347/276/216/346/277/203/345/233/262/343/201/204.kif +0 -52
  570. data/lib/bioshogi/explain//345/233/262/343/201/204//347/276/216/346/277/203/347/206/212/345/233/262/343/201/204.kif +0 -50
  571. data/lib/bioshogi/explain//345/233/262/343/201/204//350/210/237/345/233/262/343/201/204.kif +0 -67
  572. data/lib/bioshogi/explain//345/233/262/343/201/204//350/217/212/346/260/264/347/237/242/345/200/211.kif +0 -93
  573. data/lib/bioshogi/explain//345/233/262/343/201/204//350/247/222/346/217/233/343/202/217/343/202/212/345/217/263/347/216/211.kif +0 -45
  574. data/lib/bioshogi/explain//345/233/262/343/201/204//351/207/221/347/237/242/345/200/211.kif +0 -78
  575. data/lib/bioshogi/explain//345/233/262/343/201/204//351/212/200/345/206/240/347/251/264/347/206/212.kif +0 -89
  576. data/lib/bioshogi/explain//345/233/262/343/201/204//351/212/200/347/237/242/345/200/211.kif +0 -72
  577. data/lib/bioshogi/explain//345/233/262/343/201/204//351/212/200/347/253/213/343/201/241/347/237/242/345/200/211.kif +0 -90
  578. data/lib/bioshogi/explain//345/233/262/343/201/204//351/212/200/347/276/216/346/277/203.kif +0 -77
  579. data/lib/bioshogi/explain//346/210/246/345/236/213/2/346/211/213/347/233/256/342/226/26374/346/255/251/346/210/246/346/263/225.kif +0 -10
  580. data/lib/bioshogi/explain//346/210/246/345/236/213/5/347/255/213/344/275/215/345/217/226/343/202/212/344/270/255/351/243/233/350/273/212.kif +0 -16
  581. data/lib/bioshogi/explain//346/210/246/345/236/213/xaby/350/247/222/346/210/246/346/263/225.kif +0 -18
  582. data/lib/bioshogi/explain//346/210/246/345/236/213//342/226/262/357/274/223/344/270/203/351/212/200/346/210/246/346/263/225.kif +0 -74
  583. data/lib/bioshogi/explain//346/210/246/345/236/213//342/226/262/357/274/227/344/272/214/351/243/233/344/272/234/346/200/245/346/210/246.kif +0 -100
  584. data/lib/bioshogi/explain//346/210/246/345/236/213//342/226/262/357/274/227/345/205/253/351/243/233/346/210/246/346/263/225.kif +0 -12
  585. data/lib/bioshogi/explain//346/210/246/345/236/213//342/226/262/357/274/230/344/272/224/351/243/233/350/273/212/346/210/246/346/263/225.kif +0 -77
  586. data/lib/bioshogi/explain//346/210/246/345/236/213//343/201/257/343/201/217/345/274/217/345/233/233/351/226/223/351/243/233/350/273/212.kif +0 -34
  587. data/lib/bioshogi/explain//346/210/246/345/236/213//343/202/204/343/201/260/343/203/234/343/203/274/343/202/272/346/265/201.kif +0 -35
  588. data/lib/bioshogi/explain//346/210/246/345/236/213//343/202/242/343/203/222/343/203/253/346/210/246/346/263/225.kif +0 -65
  589. data/lib/bioshogi/explain//346/210/246/345/236/213//343/202/250/343/203/253/343/203/242/346/200/245/346/210/246.kif +0 -44
  590. data/lib/bioshogi/explain//346/210/246/345/236/213//343/202/253/343/203/213/343/202/253/343/203/213/351/212/200.kif +0 -83
  591. data/lib/bioshogi/explain//346/210/246/345/236/213//343/202/264/343/202/255/343/202/262/343/203/263/344/270/255/351/243/233/350/273/212.kif +0 -16
  592. data/lib/bioshogi/explain//346/210/246/345/236/213//343/203/204/343/203/216/351/212/200/344/270/255/351/243/233/350/273/212.kif +0 -103
  593. data/lib/bioshogi/explain//346/210/246/345/236/213//343/203/216/343/203/274/343/202/254/343/203/274/343/203/211/346/210/246/346/263/225.kif +0 -34
  594. data/lib/bioshogi/explain//346/210/246/345/236/213//343/203/235/343/203/263/343/203/235/343/203/263/346/241/202.kif +0 -115
  595. data/lib/bioshogi/explain//346/210/246/345/236/213//343/203/241/343/202/244/343/203/211/343/202/267/343/202/271/343/203/206/343/203/240.kif +0 -14
  596. data/lib/bioshogi/explain//346/210/246/345/236/213//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 +0 -29
  597. data/lib/bioshogi/explain//346/210/246/345/236/213//344/270/200/346/211/213/346/220/215/350/247/222/346/217/233/343/202/217/343/202/212.kif +0 -14
  598. data/lib/bioshogi/explain//346/210/246/345/236/213//344/270/200/351/226/223/351/243/233/350/273/212.kif +0 -63
  599. data/lib/bioshogi/explain//346/210/246/345/236/213//344/270/200/351/226/223/351/243/233/350/273/212/347/251/264/347/206/212.kif +0 -30
  600. data/lib/bioshogi/explain//346/210/246/345/236/213//344/270/255/351/243/233/350/273/212/345/267/246/347/251/264/347/206/212.kif +0 -95
  601. data/lib/bioshogi/explain//346/210/246/345/236/213//344/270/270/345/261/261/343/203/257/343/202/257/343/203/201/343/203/263.kif +0 -23
  602. data/lib/bioshogi/explain//346/210/246/345/236/213//345/210/235/346/211/213/357/274/223/345/205/255/346/255/251/346/210/246/346/263/225.kif +0 -11
  603. data/lib/bioshogi/explain//346/210/246/345/236/213//345/217/263/345/233/233/351/226/223/351/243/233/350/273/212/346/200/245/346/210/246.kif +0 -79
  604. data/lib/bioshogi/explain//346/210/246/345/236/213//345/233/233/351/226/223/351/243/233/350/273/212.kif +0 -60
  605. data/lib/bioshogi/explain//346/210/246/345/236/213//345/234/260/344/270/213/351/211/204/351/243/233/350/273/212.kif +0 -102
  606. data/lib/bioshogi/explain//346/210/246/345/236/213//345/241/232/347/224/260/343/202/271/343/203/232/343/202/267/343/203/243/343/203/253.kif +0 -95
  607. data/lib/bioshogi/explain//346/210/246/345/236/213//345/254/211/351/207/216/346/265/201.kif +0 -9
  608. data/lib/bioshogi/explain//346/210/246/345/236/213//345/267/246/347/276/216/346/277/203/346/200/245/346/210/246.kif +0 -76
  609. data/lib/bioshogi/explain//346/210/246/345/236/213//345/271/263/347/233/256.kif +0 -110
  610. data/lib/bioshogi/explain//346/210/246/345/236/213//346/211/213/345/276/227/350/247/222/344/272/244/346/217/233/345/236/213.kif +0 -14
  611. data/lib/bioshogi/explain//346/210/246/345/236/213//346/211/213/346/220/215/350/247/222/344/272/244/346/217/233/345/236/213.kif +0 -12
  612. data/lib/bioshogi/explain//346/210/246/345/236/213//346/226/260/344/270/270/345/261/261/343/203/257/343/202/257/343/203/201/343/203/263.kif +0 -24
  613. data/lib/bioshogi/explain//346/210/246/345/236/213//346/226/260/345/254/211/351/207/216/346/265/201.kif +0 -15
  614. data/lib/bioshogi/explain//346/210/246/345/236/213//346/226/260/347/237/263/347/224/260/346/265/201.kif +0 -90
  615. data/lib/bioshogi/explain//346/210/246/345/236/213//346/226/260/347/261/263/351/225/267/347/216/211.kif +0 -10
  616. data/lib/bioshogi/explain//346/210/246/345/236/213//346/226/260/351/254/274/346/256/272/343/201/227.kif +0 -113
  617. data/lib/bioshogi/explain//346/210/246/345/236/213//346/227/251/347/237/263/347/224/260.kif +0 -68
  618. data/lib/bioshogi/explain//346/210/246/345/236/213//346/243/222/347/216/211.kif +0 -80
  619. data/lib/bioshogi/explain//346/210/246/345/236/213//346/243/222/351/212/200.kif +0 -65
  620. data/lib/bioshogi/explain//346/210/246/345/236/213//346/243/256/344/270/213/343/202/267/343/202/271/343/203/206/343/203/240.kif +0 -118
  621. data/lib/bioshogi/explain//346/210/246/345/236/213//347/216/211/351/240/255/351/212/200.kif +0 -68
  622. data/lib/bioshogi/explain//346/210/246/345/236/213//347/233/270/346/214/257/343/202/212/351/243/233/350/273/212.kif +0 -14
  623. data/lib/bioshogi/explain//346/210/246/345/236/213//347/233/270/346/216/233/343/201/213/343/202/212.kif +0 -45
  624. data/lib/bioshogi/explain//346/210/246/345/236/213//347/237/242/345/200/211/344/270/255/351/243/233/350/273/212.kif +0 -71
  625. data/lib/bioshogi/explain//346/210/246/345/236/213//347/253/213/347/237/263/346/265/201/345/233/233/351/226/223/351/243/233/350/273/212.kif +0 -43
  626. data/lib/bioshogi/explain//346/210/246/345/236/213//350/217/205/344/272/225/346/265/201/344/270/211/351/226/223/351/243/233/350/273/212.kif +0 -23
  627. data/lib/bioshogi/explain//346/210/246/345/236/213//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 +0 -24
  628. data/lib/bioshogi/explain//346/210/246/345/236/213//350/242/226/351/243/233/350/273/212.kif +0 -60
  629. data/lib/bioshogi/explain//346/210/246/345/236/213//350/247/222/344/272/244/346/217/233/345/236/213.kif +0 -19
  630. data/lib/bioshogi/explain//346/210/246/345/236/213//350/247/222/344/272/244/346/217/233/346/214/257/343/202/212/351/243/233/350/273/212.kif +0 -64
  631. data/lib/bioshogi/explain//346/210/246/345/236/213//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 +0 -76
  632. data/lib/bioshogi/explain//346/210/246/345/236/213//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 +0 -76
  633. data/lib/bioshogi/explain//346/210/246/345/236/213//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 +0 -12
  634. data/lib/bioshogi/explain//346/210/246/345/236/213//350/266/205/346/200/245/346/210/246.kif +0 -28
  635. data/lib/bioshogi/explain//346/210/246/345/236/213//351/203/275/346/210/220/346/265/201/342/226/263/357/274/223/344/270/200/351/207/221.kif +0 -28
  636. data/lib/bioshogi/explain//346/210/246/345/236/213//351/231/275/345/213/225/346/214/257/343/202/212/351/243/233/350/273/212.kif +0 -62
  637. data/lib/bioshogi/explain//346/210/246/345/236/213//351/233/200/345/210/272/343/201/227.kif +0 -140
  638. data/lib/bioshogi/explain//346/210/246/345/236/213//351/254/274/346/256/272/343/201/227.kif +0 -173
  639. data/lib/bioshogi/explain//346/210/246/345/236/213//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 +0 -73
  640. data/lib/bioshogi/explain//346/210/246/345/236/213//357/274/224/342/206/222/357/274/223/346/210/246/346/263/225.kif +0 -72
@@ -3,39 +3,38 @@
3
3
  module Bioshogi
4
4
  module Dimension
5
5
  module ModuleMethods
6
- # 一時的に盤面のサイズを変更する(テスト用)
7
- #
8
- # before do
9
- # @size_save = Dimension.wh_change([3, 5])
10
- # end
11
- # after do
12
- # Dimension.wh_change(@size_save)
13
- # end
14
- #
15
- def wh_change(wsize, &block)
16
- save_value = dimension_wh
17
- h, v = wsize
18
- PlaceX.dimension_set(h)
19
- PlaceY.dimension_set(v)
6
+ def change(wh, &block)
7
+ save_value = current_size
8
+ set_wh(*wh)
20
9
  if block_given?
21
10
  begin
22
11
  yield
23
12
  ensure
24
- h, v = save_value
25
- PlaceX.dimension_set(h)
26
- PlaceY.dimension_set(v)
13
+ set_wh(*save_value)
27
14
  end
28
15
  else
29
16
  save_value
30
17
  end
31
18
  end
32
19
 
20
+ def default_size?
21
+ Column.default_size? && Row.default_size?
22
+ end
23
+
33
24
  def dimension_info
34
- DimensionInfo.fetch(dimension_wh)
25
+ DimensionInfo.fetch(current_size)
35
26
  end
36
27
 
37
- def dimension_wh
38
- [PlaceX.dimension, PlaceY.dimension]
28
+ def current_size
29
+ [Column.dimension_size, Row.dimension_size]
30
+ end
31
+
32
+ private
33
+
34
+ def set_wh(w, h)
35
+ Column.size_reset(w)
36
+ Row.size_reset(h)
37
+ Place.cache_clear # 超重要
39
38
  end
40
39
  end
41
40
  end
@@ -0,0 +1,128 @@
1
+ # frozen-string-literal: true
2
+
3
+ module Bioshogi
4
+ module Dimension
5
+ class Row < Base
6
+ class_attribute :promotable_depth, default: 3 # 相手の陣地の成れる縦幅
7
+
8
+ class << self
9
+ def char_infos
10
+ @char_infos ||= CharInfo.take(dimension_size)
11
+ end
12
+
13
+ def top
14
+ fetch(0)
15
+ end
16
+
17
+ def bottom
18
+ fetch(dimension_size.pred)
19
+ end
20
+
21
+ def promotable_depth_set(value)
22
+ self.promotable_depth = value
23
+ cache_clear
24
+ end
25
+
26
+ # 一時的に成れない状況にする
27
+ def promotable_disabled(&block)
28
+ save_value = promotable_depth
29
+ promotable_depth_set(0)
30
+ if block_given?
31
+ begin
32
+ yield
33
+ ensure
34
+ promotable_depth_set(save_value)
35
+ end
36
+ else
37
+ save_value
38
+ end
39
+ end
40
+ end
41
+
42
+ def name
43
+ char_info.number_kanji
44
+ end
45
+
46
+ def to_sfen
47
+ @cache[:to_sfen] ||= ("a".ord + value).chr
48
+ end
49
+
50
+ # 人間向けの数字で 68 なら 8
51
+ def to_human_int
52
+ value + 1
53
+ end
54
+
55
+ ################################################################################ すべて▲から見た結果を返す
56
+
57
+ DELEGATE_METHODS = [
58
+ :top_spaces,
59
+ :bottom_spaces,
60
+ :opp_side?,
61
+ :not_opp_side?,
62
+ :own_side?,
63
+ :not_own_side?,
64
+ :kurai_sasae?,
65
+ :just_nyuugyoku?,
66
+ :atoippo_nyuugyoku?,
67
+ :tarefu_desuka?,
68
+ ]
69
+
70
+ # 自分の側の一番上を0としてあとどれだけで突き当たるかの値 (例えば7段目であれば6を返す)
71
+ def top_spaces
72
+ value
73
+ end
74
+
75
+ # 自分の側の一番下を0として底辺までの高さを返す (例えば7段目であれば2を返す)
76
+ # ここはキャッシュしない方が早い
77
+ def bottom_spaces
78
+ dimension_size.pred - top_spaces
79
+ end
80
+
81
+ # 相手の陣地にいる?
82
+ def opp_side?
83
+ top_spaces < promotable_depth
84
+ end
85
+
86
+ # 相手の陣地に入ってない?
87
+ def not_opp_side?
88
+ !opp_side?
89
+ end
90
+
91
+ # 自分の陣地にいる?
92
+ def own_side?
93
+ bottom_spaces < promotable_depth
94
+ end
95
+
96
+ # 自分の陣地にいない?
97
+ def not_own_side?
98
+ !own_side?
99
+ end
100
+
101
+ # 位を支える位置(中央の1行下)か?
102
+ # ここらは数字にしてはいけない
103
+ # 「コード上の整数」「将棋の意味での段数」「意味を持つ位置」なのか区別がつかなくなる
104
+ # 位置に意味を持たせた命名にする
105
+ # つまり「6」ではなく「位を支える位置」として命名する
106
+ def kurai_sasae?
107
+ value == (dimension_size / 2 + 1)
108
+ end
109
+
110
+ # 玉が初めて入玉した位置か?
111
+ def just_nyuugyoku?
112
+ top_spaces == promotable_depth.pred
113
+ end
114
+
115
+ # 玉があと一歩で入玉できる位置か?
116
+ def atoippo_nyuugyoku?
117
+ top_spaces == promotable_depth
118
+ end
119
+
120
+ # 垂れ歩状態か? (つまり2, 3, 4段目)
121
+ def tarefu_desuka?
122
+ top_spaces.between?(1, promotable_depth)
123
+ end
124
+
125
+ ################################################################################
126
+ end
127
+ end
128
+ end
@@ -44,7 +44,7 @@ module Bioshogi
44
44
  class FileFormatError < BioshogiError
45
45
  end
46
46
 
47
- # 手合割・囲い・戦型などのあるはずのデータがない
47
+ # 手合割・囲い・戦法などのあるはずのデータがない
48
48
  class KeyNotFound < BioshogiError
49
49
  end
50
50
 
@@ -75,7 +75,7 @@ module Bioshogi
75
75
  end
76
76
 
77
77
  # .kif ファイルの時間がマイナスになっている
78
- class TimeMinusError < SyntaxDefact
78
+ class ConsumedTimeMinusError < SyntaxDefact
79
79
  end
80
80
 
81
81
  ################################################################################ ルール系 (RuleError) 人間同士で指すと現われる反則。しかし公式の棋譜には残らないグループ
@@ -10,7 +10,7 @@ module Bioshogi
10
10
  end
11
11
 
12
12
  def call
13
- # Bioshogi.config[:skill_monitor_enable] = false
13
+ # Bioshogi.config[:analyzer_enable] = false
14
14
 
15
15
  error_body.delete rescue nil
16
16
  result = Hash.new(0)
@@ -33,7 +33,7 @@ module Bioshogi
33
33
  # bin = info.to_animation_mp4(page_duration: 0.0166666666667, end_duration: 0)
34
34
  # no_audio_file.write(bin)
35
35
 
36
- file = Explain::TacticInfo.flat_lookup("トマホーク").sample_kif_file
36
+ file = Analysis::TacticInfo.flat_lookup("トマホーク").main_reference_file
37
37
  info = Parser.parse(file)
38
38
  bin = info.to_animation_mp4({
39
39
  :color_theme_key => :is_color_theme_real,
@@ -76,8 +76,8 @@ module Bioshogi
76
76
  def container_new
77
77
  container_class.new.tap do |e|
78
78
  e.params.update(@parser_options.slice(*[
79
- :skill_monitor_enable,
80
- :skill_monitor_technique_enable,
79
+ :analyzer_enable,
80
+ :analyzer_technique_enable,
81
81
  :candidate_enable,
82
82
  :validate_enable,
83
83
  :validate_double_pawn_skip,
@@ -90,8 +90,8 @@ module Bioshogi
90
90
  def container_for_image
91
91
  container = Container::Basic.new
92
92
  container.params.update({
93
- :skill_monitor_enable => false,
94
- :skill_monitor_technique_enable => false,
93
+ :analyzer_enable => false,
94
+ :analyzer_technique_enable => false,
95
95
  :candidate_enable => false,
96
96
  :validate_enable => false,
97
97
  })
@@ -163,15 +163,18 @@ module Bioshogi
163
163
 
164
164
  def container_run_all(container)
165
165
  Runner.new(self, container).call
166
- if @parser_options[:skill_monitor_enable]
166
+ if @parser_options[:analyzer_enable]
167
167
  SkillEmbed.new(self, container).call
168
+ StyleEmbed.new(self, container).call
168
169
  end
169
170
  end
170
171
 
172
+ # FIXME: これは skill_embed のなかだけにあればよくね?
171
173
  def skill_set_hash
172
174
  @skill_set_hash ||= {}
173
175
  end
174
176
 
177
+ # FIXME: メソッドが重複してね?
175
178
  def raw_header_part_hash
176
179
  pi.header.object.collect { |key, value|
177
180
  if value
@@ -234,6 +237,23 @@ module Bioshogi
234
237
  [s, *v.lines, s].collect {|e| "#{comment_mark} #{e}" }.join
235
238
  end
236
239
  end
240
+
241
+ # 勝った側を返す
242
+ # nil の場合もある
243
+ def win_side_location(container)
244
+ # 勝者が明示されている場合
245
+ # SHOGI-EXTEND 側からは常に勝者を入れている
246
+ # これは切断されたときどちらが切断してどちらが勝ったのか手番では判断できないため
247
+ if v = @pi.header["勝者"]
248
+ Location.fetch(v)
249
+ else
250
+ # 明示されていないかつ「投了」「時間切れ」「詰み」で終わった場合のみ、手番による勝者を信じる
251
+ # これは入玉の場合「指した方が負け」になるケースがあるため、入玉などは除外しないといけない
252
+ if @pi.win_player_collect_p
253
+ container.win_player.location
254
+ end
255
+ end
256
+ end
237
257
  end
238
258
  end
239
259
  end
@@ -31,20 +31,22 @@ module Bioshogi
31
31
  class LastActionInfo
32
32
  include ApplicationMemoryRecord
33
33
  memory_record [
34
- { key: "TORYO", kakinoki_word: "投了", reason: nil, draw: nil, },
35
- { key: "CHUDAN", kakinoki_word: "中断", reason: "切断により", draw: nil, },
36
- { key: "SENNICHITE", kakinoki_word: "千日手", reason: "千日手", draw: true, },
37
- { key: "TIME_UP", kakinoki_word: "切れ負け", reason: "時間切れにより", draw: nil, },
38
- { key: "ILLEGAL_MOVE", kakinoki_word: nil, reason: "反則により", draw: nil, },
39
- { key: "+ILLEGAL_ACTION", kakinoki_word: nil, reason: "反則により", draw: nil, },
40
- { key: "-ILLEGAL_ACTION", kakinoki_word: nil, reason: "反則により", draw: nil, },
41
- { key: "JISHOGI", kakinoki_word: "持将棋", reason: nil, draw: nil, },
42
- { key: "KACHI", kakinoki_word: nil, reason: nil, draw: nil, },
43
- { key: "HIKIWAKE", kakinoki_word: nil, reason: nil, draw: nil, },
44
- { key: "MATTA", kakinoki_word: "中断", reason: nil, draw: nil, },
45
- { key: "TSUMI", kakinoki_word: "詰み", reason: nil, draw: nil, },
46
- { key: "FUZUMI", kakinoki_word: nil, reason: nil, draw: nil, },
47
- { key: "ERROR", kakinoki_word: nil, reason: "エラーにより", draw: nil, },
34
+ # 手番による勝者判定が可能なら win_player_collect_p true にする
35
+ # CHUDAN などはどちらが中断(切断)したのかもしわからない
36
+ { key: "TORYO", kakinoki_word: "投了", reason: nil, draw: nil, win_player_collect_p: true, },
37
+ { key: "CHUDAN", kakinoki_word: "中断", reason: "切断により", draw: nil, win_player_collect_p: nil, }, # 切断の場合どちらが切断したのかわからないため win_player_collect_p: true にしてはいけない
38
+ { key: "SENNICHITE", kakinoki_word: "千日手", reason: "千日手", draw: true, win_player_collect_p: nil, },
39
+ { key: "TIME_UP", kakinoki_word: "切れ負け", reason: "時間切れにより", draw: nil, win_player_collect_p: true, },
40
+ { key: "ILLEGAL_MOVE", kakinoki_word: nil, reason: "反則により", draw: nil, win_player_collect_p: nil, },
41
+ { key: "+ILLEGAL_ACTION", kakinoki_word: nil, reason: "反則により", draw: nil, win_player_collect_p: nil, },
42
+ { key: "-ILLEGAL_ACTION", kakinoki_word: nil, reason: "反則により", draw: nil, win_player_collect_p: nil, },
43
+ { key: "JISHOGI", kakinoki_word: "持将棋", reason: nil, draw: nil, win_player_collect_p: nil, },
44
+ { key: "KACHI", kakinoki_word: nil, reason: nil, draw: nil, win_player_collect_p: nil, }, # この場合、win_player が信用できなくなり、つまりどちらが勝ったのかわからなくなる
45
+ { key: "HIKIWAKE", kakinoki_word: nil, reason: nil, draw: nil, win_player_collect_p: nil, },
46
+ { key: "MATTA", kakinoki_word: "中断", reason: nil, draw: nil, win_player_collect_p: nil, },
47
+ { key: "TSUMI", kakinoki_word: "詰み", reason: nil, draw: nil, win_player_collect_p: true, },
48
+ { key: "FUZUMI", kakinoki_word: nil, reason: nil, draw: nil, win_player_collect_p: nil, },
49
+ { key: "ERROR", kakinoki_word: nil, reason: "エラーにより", draw: nil, win_player_collect_p: nil, },
48
50
  ]
49
51
 
50
52
  alias csa_key key
@@ -62,15 +64,17 @@ module Bioshogi
62
64
  end
63
65
 
64
66
  def judgment_message(container)
65
- s = []
66
- s << "まで#{container.turn_info.turn_offset}手で"
67
- s << reason
68
- unless draw
69
- s << container.opponent_player.call_name
70
- s << "の"
71
- s << "勝ち"
67
+ if win_player_collect_p
68
+ s = []
69
+ s << "まで#{container.turn_info.turn_offset}手で"
70
+ s << reason
71
+ unless draw
72
+ s << container.opponent_player.call_name # これが信じられるのは win_player_collect_p のときだけ
73
+ s << ""
74
+ s << "勝ち"
75
+ end
76
+ s.join
72
77
  end
73
- s.join
74
78
  end
75
79
  end
76
80
  end
@@ -3,7 +3,7 @@
3
3
  module Bioshogi
4
4
  module Formatter
5
5
  class SkillEmbed
6
- MIN_TURN = 14
6
+ MIN_TURN = 14 # これ以上の手数だと対局が成立している見なす
7
7
 
8
8
  attr_accessor :xparser
9
9
  attr_accessor :container
@@ -14,6 +14,8 @@ module Bioshogi
14
14
  end
15
15
 
16
16
  def call
17
+ miyakodume_check
18
+ meijin_judgement # 力戦より前
17
19
  rikisen_judgement
18
20
 
19
21
  # 両方が入玉していれば「相入玉」タグを追加する
@@ -22,17 +24,29 @@ module Bioshogi
22
24
 
23
25
  if @xparser.preset_info
24
26
  if @xparser.preset_info.special_piece
25
- ibisha_judgement # 振り飛車でなければ居飛車
26
- aiibisha_judgement # 両方居飛車なら相居飛車
27
- aihuri_judgement # 両方振り飛車なら相振り
28
- taihuri_judgement # 片方だけが「振り飛車」なら、振り飛車ではない方に「対振り」。両方に「対抗型」
29
- haisui_judgement # 大駒がない状態で勝ったら「背水の陣」
27
+ ibisha_judgement # 振り飛車でなければ居飛車(最初に判定する)
28
+ aiibisha_judgement # 両方居飛車なら相居飛車
29
+ taiibisya_judgement # 相手が居飛車なら対居飛車
30
+ aihuri_judgement # 両方振り飛車なら相振り
31
+ taikoukei_judgement # 片方だけが「振り飛車」なら、振り飛車ではない方に「対振り飛車」。両方に「対抗形」
32
+ haisui_judgement # 大駒がない状態で勝ったら「背水の陣」
33
+ rocket_judgement # N段ロケットがあれば「ロケット」
34
+ SugatayakiValidator.new(self).call # 穴熊の姿焼
35
+ igyoku_judgement # 居玉判定
36
+ aiigyoku_judgement # 相居玉判定
37
+ kyusen_judgement # 急戦・持久戦
38
+ tantesuu_judgement # 短手数・長手数
39
+ anaguma_judgement # 穴熊・対穴熊
30
40
  end
31
- igyoku_judgement # 居玉判定
32
- aiigyoku_judgement # 相居玉判定
33
41
  end
34
42
 
35
- header_write # ヘッダーに埋める
43
+ header_write
44
+ end
45
+
46
+ # 勝った側を返す
47
+ # nil の場合もある
48
+ def win_side_location
49
+ @win_side_location ||= @xparser.win_side_location(@container)
36
50
  end
37
51
 
38
52
  private
@@ -62,64 +76,131 @@ module Bioshogi
62
76
  end
63
77
  end
64
78
 
79
+ def meijin_judgement
80
+ if @container.turn_info.display_turn >= MIN_TURN
81
+ if win_side_location
82
+ player = @container.player_at(win_side_location)
83
+ if player.skill_set.power_battle?
84
+ player.skill_set.list_push(Analysis::NoteInfo[:"名人に定跡なし"])
85
+ end
86
+ end
87
+ end
88
+ end
89
+
90
+ def miyakodume_check
91
+ if last_action_params = @xparser.pi.last_action_params
92
+ if last_action_key = last_action_params[:last_action_key]
93
+ if last_action_info = LastActionInfo[last_action_key]
94
+ if last_action_info.key == :TSUMI
95
+ if soldier = @container.board["55"]
96
+ if soldier.piece.key == :king
97
+ tag = Analysis::NoteInfo["都詰め"]
98
+ if @container.lose_player.location == soldier.location
99
+ @container.win_player.skill_set.list_push(tag)
100
+ # 最後の手にも入れておく
101
+ if hand_log = @container.hand_logs.last
102
+ hand_log.skill_set.list_push(tag)
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
112
+
65
113
  def ainyugyoku_judgement
66
- if @container.players.all? { |e| e.skill_set.has_skill?(Explain::NoteInfo["入玉"]) }
114
+ if @container.players.all? { |e| e.skill_set.has_skill?(Analysis::NoteInfo["入玉"]) }
67
115
  @container.players.each do |player|
68
- player.skill_set.list_push(Explain::NoteInfo["相入玉"])
116
+ player.skill_set.list_push(Analysis::NoteInfo["相入玉"])
69
117
  end
70
118
  end
71
119
  end
72
120
 
73
121
  # 振り飛車でなければ居飛車
74
122
  def ibisha_judgement
75
- @container.players.each do |e|
76
- skill_set = e.skill_set
77
- if !skill_set.has_skill?(Explain::NoteInfo["振り飛車"]) && !skill_set.has_skill?(Explain::NoteInfo["居飛車"])
78
- e.skill_set.list_push(Explain::NoteInfo["居飛車"])
123
+ if @container.turn_info.display_turn >= MIN_TURN # 0手で切断した場合も「居飛車」とならないようにするため
124
+ @container.players.each do |e|
125
+ skill_set = e.skill_set
126
+ if !skill_set.has_skill?(Analysis::NoteInfo["振り飛車"]) && !skill_set.has_skill?(Analysis::NoteInfo["居飛車"])
127
+ e.skill_set.list_push(Analysis::NoteInfo["居飛車"])
128
+ end
79
129
  end
80
130
  end
81
131
  end
82
132
 
83
133
  def aiibisha_judgement
84
134
  # 両方居飛車なら相居飛車
85
- if @container.players.all? { |e| e.skill_set.has_skill?(Explain::NoteInfo["居飛車"]) }
135
+ if @container.players.all? { |e| e.skill_set.has_skill?(Analysis::NoteInfo["居飛車"]) }
86
136
  @container.players.each do |player|
87
- player.skill_set.list_push(Explain::NoteInfo["相居飛車"])
137
+ player.skill_set.list_push(Analysis::NoteInfo["相居飛車"])
138
+ end
139
+ end
140
+ end
141
+
142
+ def taiibisya_judgement
143
+ # 相手が居飛車なら対居飛車
144
+ @container.players.each do |player|
145
+ if player.opponent_player.skill_set.has_skill?(Analysis::NoteInfo["居飛車"])
146
+ player.skill_set.list_push(Analysis::NoteInfo["対居飛車"])
88
147
  end
89
148
  end
90
149
  end
91
150
 
92
151
  def aihuri_judgement
93
152
  # 両方振り飛車なら相振り
94
- if @container.players.all? { |e| e.skill_set.has_skill?(Explain::NoteInfo["振り飛車"]) }
153
+ if @container.players.all? { |e| e.skill_set.has_skill?(Analysis::NoteInfo["振り飛車"]) }
154
+ @container.players.each do |player|
155
+ player.skill_set.list_push(Analysis::NoteInfo["相振り飛車"])
156
+ end
157
+ end
158
+ end
159
+
160
+ def anaguma_judgement
161
+ # 両方穴熊なら相穴熊
162
+ if @container.players.all? { |e| e.skill_set.has_skill?(Analysis::NoteInfo["穴熊"]) }
95
163
  @container.players.each do |player|
96
- player.skill_set.list_push(Explain::NoteInfo["相振り"])
164
+ player.skill_set.list_push(Analysis::NoteInfo["相穴熊"])
97
165
  end
98
166
  end
99
167
  end
100
168
 
101
- def taihuri_judgement
102
- # 片方だけが「振り飛車」なら、振り飛車ではない方に「対振り」。両方に「対抗型」
103
- if player = @container.players.find { |e| e.skill_set.has_skill?(Explain::NoteInfo["振り飛車"]) }
169
+ def taikoukei_judgement
170
+ # 片方だけが「振り飛車」なら両方に「対抗形」
171
+ if player = @container.players.find { |e| e.skill_set.has_skill?(Analysis::NoteInfo["振り飛車"]) }
104
172
  others = @container.players - [player]
105
- if others.none? { |e| e.skill_set.has_skill?(Explain::NoteInfo["振り飛車"]) }
106
- others.each { |e| e.skill_set.list_push(Explain::NoteInfo["対振り"]) }
107
- @container.players.each { |e| e.skill_set.list_push(Explain::NoteInfo["対抗型"]) }
173
+ if others.none? { |e| e.skill_set.has_skill?(Analysis::NoteInfo["振り飛車"]) }
174
+ @container.players.each { |e| e.skill_set.list_push(Analysis::NoteInfo["対抗形"]) }
108
175
  end
109
176
  end
110
177
  end
111
178
 
112
179
  # 大駒がない状態で勝ったら「背水の陣」
113
180
  def haisui_judgement
114
- @container.players.each do |player|
115
- if player == @container.win_player
116
- if player.stronger_piece_have_count.zero?
117
- player.skill_set.list_push(Explain::NoteInfo["背水の陣"])
181
+ if @container.turn_info.display_turn >= MIN_TURN
182
+ if win_side_location
183
+ player = @container.player_at(win_side_location)
184
+ if player.stronger_piece_have_count.zero? # 最後の状態でも全ブッチ状態なら
185
+ if player.skill_set.has_skill?(Analysis::NoteInfo["大駒全ブッチ"]) # 途中、大駒全ブッチしいて (←これがないと 相入玉.kif でも入ってしまう)
186
+ player.skill_set.list_push(Analysis::NoteInfo["背水の陣"])
187
+ end
118
188
  end
119
189
  end
120
190
  end
121
191
  end
122
192
 
193
+ # N段ロケットがあれば「ロケット」
194
+ def rocket_judgement
195
+ @container.players.each do |player|
196
+ technique_infos = player.skill_set.technique_infos
197
+ if Analysis::TechniqueInfo.rocket_list.any? { |e| technique_infos.include?(e) }
198
+ player.skill_set.list_push(Analysis::NoteInfo["ロケット"])
199
+ end
200
+ end
201
+ end
202
+
203
+ # 居玉判定
123
204
  def igyoku_judgement
124
205
  @container.players.each do |e|
125
206
  enabled = false
@@ -139,24 +220,56 @@ module Bioshogi
139
220
  end
140
221
  end
141
222
  if enabled
142
- e.skill_set.list_push(Explain::DefenseInfo["居玉"])
223
+ e.skill_set.list_push(Analysis::DefenseInfo["居玉"])
143
224
  end
144
225
  end
145
226
  end
146
227
 
147
228
  def aiigyoku_judgement
148
229
  # 両方居玉だったら備考に相居玉
149
- if @container.players.all? { |e| e.skill_set.has_skill?(Explain::DefenseInfo["居玉"]) }
230
+ if @container.players.all? { |e| e.skill_set.has_skill?(Analysis::DefenseInfo["居玉"]) }
150
231
  @container.players.each do |e|
151
- e.skill_set.list_push(Explain::NoteInfo["相居玉"])
232
+ e.skill_set.list_push(Analysis::NoteInfo["相居玉"])
152
233
  end
153
234
  end
154
235
  # end
155
236
  end
156
237
 
238
+ def kyusen_judgement
239
+ if @container.turn_info.display_turn >= MIN_TURN
240
+ if turn = @container.outbreak_turn
241
+ if turn < Stat::OUTBREAK_TURN_AVG
242
+ key = "急戦"
243
+ else
244
+ key = "持久戦"
245
+ end
246
+ @container.players.each do |e|
247
+ e.skill_set.list_push(Analysis::NoteInfo[key])
248
+ end
249
+ end
250
+ end
251
+ end
252
+
253
+ def tantesuu_judgement
254
+ if @container.turn_info.display_turn >= MIN_TURN
255
+ if @container.critical_turn # 1回でも駒の交換があった
256
+ max = @container.turn_info.display_turn
257
+ if max >= MIN_TURN
258
+ if max < Stat::TURN_MAX_AVG
259
+ key = "短手数"
260
+ else
261
+ key = "長手数"
262
+ end
263
+ @container.players.each do |e|
264
+ e.skill_set.list_push(Analysis::NoteInfo[key])
265
+ end
266
+ end
267
+ end
268
+ end
269
+ end
270
+
157
271
  def header_write
158
- # ヘッダーに埋める
159
- Explain::TacticInfo.each do |e|
272
+ Analysis::TacticInfo.each do |e|
160
273
  @container.players.each do |player|
161
274
  list = player.skill_set.public_send(e.list_key).normalize
162
275
  if v = list.presence
@@ -0,0 +1,27 @@
1
+ # frozen-string-literal: true
2
+
3
+ module Bioshogi
4
+ module Formatter
5
+ class StyleEmbed
6
+ attr_accessor :xparser
7
+ attr_accessor :container
8
+
9
+ def initialize(xparser, container)
10
+ @xparser = xparser
11
+ @container = container
12
+ end
13
+
14
+ def call
15
+ if @xparser.preset_info
16
+ if @xparser.preset_info.special_piece
17
+ @container.players.each do |player|
18
+ if main_style_info = player.skill_set.main_style_info
19
+ @xparser.pi.header.object.update("#{player.call_name}の棋風" => main_style_info.name)
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end