bioshogi 0.0.14 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. checksums.yaml +4 -4
  2. data/.dumbjump +4 -0
  3. data/.gitignore +2 -0
  4. data/.ruby-version +2 -1
  5. data/A/342/206/222B/342/206/222C/345/233/262/343/201/204.txt +1 -0
  6. data/A/342/206/222B/342/206/222C/346/210/246/346/263/225.txt +9 -4
  7. data/Gemfile.lock +57 -47
  8. data/README.org +3 -3
  9. data/bioshogi.gemspec +3 -1
  10. data/credit.org +0 -1
  11. data/lib/bioshogi/ai/brain.rb +6 -6
  12. data/lib/bioshogi/analysis/analyzer.rb +67 -9
  13. data/lib/bioshogi/analysis/analyzer_mod.rb +5 -12
  14. data/lib/bioshogi/analysis/attack_info.rb +232 -227
  15. data/lib/bioshogi/analysis/{tech_accessor.rb → basic_accessor.rb} +4 -4
  16. data/lib/bioshogi/analysis/board_piece_counts_methods.rb +53 -0
  17. data/lib/bioshogi/analysis/board_piller_methods.rb +10 -32
  18. data/lib/bioshogi/analysis/core_soldier_place_methods.rb +58 -0
  19. data/lib/bioshogi/analysis/defense_info.rb +141 -132
  20. data/lib/bioshogi/analysis/file_normalizer.rb +1 -1
  21. data/lib/bioshogi/analysis/frequency.rb +372 -311
  22. data/lib/bioshogi/analysis/note_info.rb +26 -25
  23. data/lib/bioshogi/analysis/player_methods.rb +28 -0
  24. data/lib/bioshogi/analysis/rocket_analyzer.rb +45 -58
  25. data/lib/bioshogi/analysis/shape_info.rb +113 -25
  26. data/lib/bioshogi/analysis/style_accessor.rb +22 -19
  27. data/lib/bioshogi/analysis/tactic_hit_turn_table.rb +27 -4
  28. data/lib/bioshogi/analysis/tactic_hit_turn_table_generator.rb +15 -14
  29. data/lib/bioshogi/analysis/tactic_info.rb +19 -5
  30. data/lib/bioshogi/analysis/technique_info.rb +26 -14
  31. data/lib/bioshogi/analysis/technique_verify_info.rb +800 -0
  32. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/205/250/351/247/222.kif +27 -0
  33. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/220/212/343/202/213/343/201/227/346/241/202.kif +22 -0
  34. 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 +4 -2
  35. 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 +7 -2
  36. 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 +7 -0
  37. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/347/251/264/347/206/212.kif +3 -2
  38. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/200/245/346/210/246.kif +1 -1
  39. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/214/201/344/271/205/346/210/246.kif +6 -3
  40. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/216/211/345/215/230/351/250/216.kif +27 -0
  41. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/347/251/264/347/206/212.kif +2 -0
  42. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/251/264/347/206/212.kif +3 -2
  43. 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 +3 -2
  44. data/lib/bioshogi/analysis//345/202/231/350/200/203//350/203/214/346/260/264/343/201/256/351/231/243.kif +10 -3
  45. data/lib/bioshogi/analysis//345/202/231/350/200/203//350/247/222/344/270/215/346/210/220.kif +2 -2
  46. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/203/275/350/251/260/343/202/201.kif +5 -1
  47. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/225/267/346/211/213/346/225/260.kif +13 -3
  48. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/233/252/351/232/240/350/251/260/343/202/201.kif +23 -0
  49. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/247/222/346/237/261.kif +14 -2
  50. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/202/343/201/232/343/201/276/343/202/204/345/233/262/343/201/204.kif +1 -1
  51. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/204/343/201/241/343/201/224/345/233/262/343/201/204.kif +1 -1
  52. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/213/343/202/223/343/201/264/343/202/207/343/201/206/345/233/262/343/201/204.kif +5 -2
  53. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/270/343/201/223/343/201/277/347/237/242/345/200/211.kif +1 -1
  54. 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 +5 -1
  55. 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 +8 -3
  56. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/252/343/203/274/343/203/253/343/203/211/351/233/201/346/234/250.kif +3 -1
  57. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/202/256/345/233/262/343/201/204.kif +17 -2
  58. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/202/277/345/233/262/343/201/204.kif +5 -3
  59. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/273/343/203/241/343/203/263/343/203/210/345/233/262/343/201/204.kif +6 -2
  60. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/200/343/202/244/343/203/244/343/203/242/343/203/263/343/203/211/347/276/216/346/277/203.kif +2 -0
  61. 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 +1 -1
  62. 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 +3 -2
  63. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/234/343/203/212/343/203/263/343/202/266/345/233/262/343/201/204.kif +1 -2
  64. 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 +13 -3
  65. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/242/343/203/216/343/203/254/343/203/274/343/203/253/345/233/262/343/201/204.kif +1 -1
  66. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/255/344/275/217/343/201/276/343/201/204.kif +3 -0
  67. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/262/343/202/253/343/203/204/345/233/262/343/201/204.kif +1 -1
  68. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/217/263/347/237/242/345/200/211.kif +1 -1
  69. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/236/232/347/251/264/347/206/212.kif +1 -1
  70. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/236/232/347/276/216/346/277/203.kif +1 -1
  71. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/236/232/351/212/200/345/206/240.kif +9 -4
  72. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/256/265/347/253/257/347/216/211.kif +7 -4
  73. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/350/247/222/347/237/242/345/200/211.kif +1 -1
  74. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/234/237/345/261/205/347/237/242/345/200/211.kif +1 -1
  75. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/235/212/344/270/273/347/276/216/346/277/203.kif +1 -1
  76. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/247/345/261/261/347/276/216/346/277/203.kif +1 -1
  77. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/247/351/232/205/345/233/262/343/201/204.kif +1 -1
  78. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/345/256/210/351/226/243/347/276/216/346/277/203.kif +1 -1
  79. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/351/207/216/347/237/242/345/200/211.kif +1 -1
  80. 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 +7 -3
  81. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/347/216/211.kif +2 -1
  82. 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 +1 -1
  83. 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 +10 -3
  84. 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 +3 -1
  85. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/351/243/233/350/273/212/351/207/221/347/276/216/346/277/203.kif +1 -1
  86. 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 +3 -1
  87. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/202/252/345/275/242/347/237/242/345/200/211.kif +1 -1
  88. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/343/203/223/343/203/203/343/202/2604.kif +6 -2
  89. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/343/203/237/343/203/254/343/203/213/343/202/242/343/203/240.kif +6 -2
  90. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/344/270/262/343/202/253/343/203/204/345/233/262/343/201/204.kif +1 -1
  91. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/345/233/233/346/236/232/347/276/216/346/277/203.kif +2 -2
  92. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/345/244/251/345/256/210/351/226/243/347/276/216/346/277/203.kif +2 -0
  93. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/347/253/257/347/216/211/351/212/200/345/206/240.kif +1 -1
  94. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/234/250/346/235/221/347/276/216/346/277/203.kif +1 -1
  95. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/235/276/345/260/276/346/265/201/347/251/264/347/206/212.kif +2 -0
  96. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/241/220/345/261/261/346/265/201/344/270/255/345/216/237/345/233/262/343/201/204.kif +1 -1
  97. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/265/201/343/202/214/347/237/242/345/200/211.kif +1 -1
  98. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/265/201/347/267/232/347/237/242/345/200/211.kif +1 -1
  99. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/204/241/350/262/254/344/273/273/347/237/242/345/200/211.kif +1 -1
  100. 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 +1 -1
  101. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/211/207/347/251/264/347/206/212.kif +1 -1
  102. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/237/242/345/200/211/346/227/251/345/233/262/343/201/204.kif +1 -1
  103. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/237/242/345/200/211/347/251/264/347/206/212.kif +1 -1
  104. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/253/257/347/216/211/351/212/200/345/206/240.kif +2 -0
  105. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/256/261/345/205/245/343/202/212/345/250/230.kif +4 -2
  106. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/264/231/347/251/264/347/206/212.kif +4 -2
  107. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/267/217/347/237/242/345/200/211.kif +8 -3
  108. 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 +1 -1
  109. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/217/261/347/237/242/345/200/211.kif +1 -1
  110. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/243/217/343/202/242/343/203/222/343/203/253/345/233/262/343/201/204.kif +1 -1
  111. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/243/276/345/233/272/343/202/201.kif +3 -1
  112. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/247/222/347/237/242/345/200/211.kif +1 -1
  113. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/261/206/350/205/220/347/237/242/345/200/211.kif +1 -1
  114. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/200/243/347/233/237/347/276/216/346/277/203.kif +1 -1
  115. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/345/244/232/344/274/235.kif +1 -1
  116. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/204/241/345/217/214.kif +3 -2
  117. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/233/276/345/233/262/343/201/204.kif +3 -1
  118. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/276/216/346/277/203.kif +3 -0
  119. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/351/226/200/347/237/242/345/200/211.kif +1 -1
  120. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240.kif +2 -2
  121. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240/347/251/264/347/206/212.kif +3 -1
  122. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/244/232/344/274/235.kif +8 -1
  123. 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 +2 -2
  124. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/347/276/216/346/277/203.kif +2 -2
  125. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/233/242/343/202/214/351/207/221/347/204/241/345/217/214.kif +1 -1
  126. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/253/230/347/237/242/345/200/211.kif +1 -1
  127. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/253/230/347/276/216/346/277/203/345/233/262/343/201/204.kif +1 -1
  128. data/lib/bioshogi/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 +5 -1
  129. 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 +1 -1
  130. 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 +1 -1
  131. data/lib/bioshogi/analysis//346/210/246/346/263/225/5/346/211/213/347/210/206/345/274/276.kif +5 -1
  132. data/lib/bioshogi/analysis//346/210/246/346/263/225/5/347/255/213/344/275/215/345/217/226/343/202/212.kif +2 -2
  133. data/lib/bioshogi/analysis//346/210/246/346/263/225/GAVA/350/247/222.kif +1 -1
  134. 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 +11 -3
  135. data/lib/bioshogi/analysis//346/210/246/346/263/225/xaby/350/247/222/346/210/246/346/263/225.kif +1 -1
  136. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2624/344/272/224/346/255/251/346/227/251/344/273/225/346/216/233/343/201/221.kif +2 -0
  137. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2624/345/205/255/351/212/200/345/217/263/346/200/245/346/210/246.kif +1 -1
  138. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2625/344/270/203/351/207/221/346/210/246/346/263/225.kif +7 -3
  139. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2625/344/272/224/351/276/215/344/270/255/351/243/233/350/273/212.kif +3 -1
  140. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2633/344/270/211/346/241/202/346/210/246/346/263/225.kif +2 -2
  141. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2633/344/270/211/350/247/222/345/236/213/347/251/272/344/270/255/346/210/246/346/263/225.kif +3 -2
  142. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2633/344/270/211/351/207/221/345/236/213/346/227/251/347/271/260/343/202/212/351/212/200.kif +1 -1
  143. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2633/344/270/211/351/243/233/346/210/246/346/263/225.kif +9 -3
  144. data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2634/344/272/224/350/247/222/346/210/246/346/263/225.kif +4 -2
  145. 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 +3 -2
  146. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/206/343/201/243/343/201/213/343/202/212/344/270/211/351/226/223/351/243/233/350/273/212.kif +1 -1
  147. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/215/357/275/215/343/201/215/357/275/215/351/207/221.kif +1 -1
  148. 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 +10 -2
  149. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/270/343/201/252/343/201/241/343/202/207/343/201/223/346/200/245/346/210/246.kif +3 -2
  150. 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 +3 -0
  151. 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 +5 -1
  152. 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 +15 -2
  153. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/252/343/202/266/343/203/257/343/202/267/343/202/271/343/203/206/343/203/240.kif +4 -2
  154. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/253/343/203/213/343/202/253/343/203/213/351/207/221.kif +1 -1
  155. 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 +1 -1
  156. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/263/343/203/274/343/203/244/343/203/263/346/265/201/344/270/211/351/226/223/351/243/233/350/273/212.kif +9 -3
  157. 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 +4 -2
  158. 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 +5 -1
  159. 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 +6 -1
  160. 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
  161. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/267/343/203/247/343/203/274/343/203/200/343/203/263/343/202/252/343/203/252/343/202/270/343/203/212/343/203/253.kif +3 -1
  162. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/267/343/203/247/343/203/274/343/203/200/343/203/263/343/202/267/343/202/271/343/203/206/343/203/240.kif +10 -1
  163. 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 +7 -3
  164. 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 +7 -2
  165. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/210/343/203/236/343/203/233/343/203/274/343/202/257.kif +3 -2
  166. 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 +1 -1
  167. 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 +6 -2
  168. 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 +1 -1
  169. 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 +3 -1
  170. 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 +4 -2
  171. data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/240/343/203/252/343/203/244/343/203/252/346/227/251/347/237/263/347/224/260.kif +18 -4
  172. 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 +1 -1
  173. 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 +3 -1
  174. 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 +8 -3
  175. 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 +6 -3
  176. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/347/233/264/347/267/232/347/251/264/347/206/212.kif +8 -3
  177. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/351/226/223/351/243/233/350/273/212.kif +1 -1
  178. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/346/256/265/345/217/263/347/216/211.kif +7 -3
  179. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/351/226/223/351/243/233/350/273/212.kif +1 -1
  180. 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 +3 -2
  181. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/216/237/346/265/201/346/200/245/346/210/246/347/237/242/345/200/211.kif +11 -3
  182. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/216/237/346/265/201/347/233/270/346/216/233/343/201/213/343/202/212.kif +5 -1
  183. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/216/237/351/243/233/350/273/212.kif +2 -2
  184. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/272/247/351/243/233/350/273/212.kif +2 -2
  185. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/351/243/233/350/273/212/343/203/237/343/203/254/343/203/213/343/202/242/343/203/240.kif +1 -1
  186. 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 +10 -3
  187. 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 +1 -1
  188. 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 +2 -1
  189. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/271/235/351/226/223/351/243/233/350/273/212.kif +1 -1
  190. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/271/235/351/226/223/351/243/233/350/273/212/345/267/246/347/251/264/347/206/212.kif +4 -1
  191. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/210/235/346/211/213/342/226/2627/345/205/253/351/212/200/346/210/246/346/263/225.kif +1 -1
  192. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/212/240/350/227/244/346/265/201/350/242/226/351/243/233/350/273/212.kif +3 -2
  193. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/213/207/346/260/227/346/265/201.kif +1 -1
  194. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/215/207/347/224/260/345/274/217/347/237/263/347/224/260/346/265/201.kif +20 -71
  195. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/217/263/345/233/233/351/226/223/351/243/233/350/273/212/345/267/246/347/276/216/346/277/203.kif +4 -1
  196. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/217/263/345/233/233/351/226/223/351/243/233/350/273/212/346/200/245/346/210/246.kif +4 -2
  197. 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 +1 -1
  198. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/217/263/347/216/211.kif +1 -1
  199. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/220/214/345/236/213/347/237/242/345/200/211.kif +2 -2
  200. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/233/233/346/211/213/350/247/222.kif +1 -1
  201. 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 +5 -3
  202. 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 +6 -2
  203. 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 +1 -1
  204. 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 +1 -1
  205. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/254/211/351/207/216/346/265/201.kif +5 -1
  206. 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 +13 -3
  207. 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 +9 -3
  208. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/261/213/346/225/267/346/265/201/344/272/214/346/236/232/351/212/200.kif +3 -2
  209. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/261/213/346/225/267/346/265/201/344/272/214/346/236/232/351/212/200/346/243/222/351/212/200/345/236/213.kif +2 -0
  210. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/267/246/347/276/216/346/277/203/346/200/245/346/210/246.kif +14 -3
  211. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/271/273/346/203/263/345/233/233/351/226/223/351/243/233/350/273/212.kif +1 -1
  212. 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 +1 -1
  213. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/210/270/{351/203/250 → 350/276/272}/346/265/2014/342/206/2223/346/210/246/346/263/225.kif +3 -3
  214. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/345/254/211/351/207/216/346/265/201.kif +4 -1
  215. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/346/235/221/347/224/260/343/202/267/343/202/271/343/203/206/343/203/240.kif +6 -1
  216. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/347/237/263/347/224/260/346/265/201.kif +1 -1
  217. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/347/261/263/351/225/267/347/216/211.kif +4 -1
  218. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/351/254/274/346/256/272/343/201/227.kif +1 -1
  219. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/234/250/346/235/221/345/256/232/350/267/241.kif +7 -3
  220. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/235/221/347/224/260/343/202/267/343/202/271/343/203/206/343/203/240.kif +1 -1
  221. 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 +5 -2
  222. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/351/207/221.kif +1 -1
  223. 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 +8 -4
  224. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/245/240/346/234/254/345/274/217/347/237/263/347/224/260/346/265/201.kif +4 -3
  225. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/245/265/351/231/220/346/227/251/347/271/260/343/202/212/351/212/200.kif +1 -1
  226. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/250/252/346/255/251/345/217/226/343/202/212.kif +2 -2
  227. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/270/205/351/207/216/346/265/201/345/262/220/351/230/234/346/210/246/346/263/225.kif +1 -1
  228. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/216/211/351/240/255/344/275/215/345/217/226/343/202/212.kif +1 -1
  229. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/216/211/351/240/255/351/212/200.kif +5 -1
  230. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/346/250/252/346/255/251/345/217/226/343/202/212.kif +2 -6
  231. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/347/255/213/351/201/225/343/201/204/350/247/222.kif +4 -2
  232. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/234/237/351/203/250/346/265/201.kif +5 -3
  233. 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 +5 -1
  234. 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 +1 -1
  235. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/346/243/222/351/212/200.kif +2 -0
  236. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/263/347/224/260/346/265/201.kif +135 -55
  237. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/263/347/224/260/346/265/201/346/234/254/347/265/204/343/201/277.kif +60 -0
  238. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/250/262/345/272/255/346/210/246/346/263/225.kif +1 -1
  239. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/251/264/350/247/222/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +1 -1
  240. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/251/264/350/247/222/346/210/246/346/263/225.kif +4 -3
  241. 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 +1 -1
  242. 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 +1 -1
  243. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/255/213/351/201/225/343/201/204/350/247/222.kif +5 -3
  244. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/261/263/351/225/267/346/265/201/346/200/245/346/210/246/347/237/242/345/200/211.kif +17 -2
  245. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/263/270/350/260/267/346/265/201/345/217/263/347/216/211.kif +8 -2
  246. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/276/275/347/224/237/345/274/217/350/242/226/351/243/233/350/273/212.kif +8 -4
  247. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/276/275/347/224/237/346/265/201/345/217/263/347/216/211.kif +1 -1
  248. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/200/200/351/276/215/343/201/262/343/201/255/343/202/212/351/243/233/350/273/212.kif +1 -1
  249. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/200/200/351/276/215/345/233/233/351/226/223/351/243/233/350/273/212.kif +1 -1
  250. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/205/260/346/216/233/343/201/221/351/212/200.kif +1 -2
  251. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/213/261/343/201/241/343/202/203/343/202/223/346/265/201/344/270/255/351/243/233/350/273/212.kif +8 -4
  252. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/213/261/346/230/245/346/265/201/343/201/213/343/201/276/343/201/204/343/201/237/343/201/241/346/210/246/346/263/225.kif +14 -3
  253. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/213/261/346/230/245/346/265/201/343/202/253/343/203/241/343/203/254/343/202/252/343/203/263.kif +6 -2
  254. 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 +1 -1
  255. 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 +4 -1
  256. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/227/244/346/243/256/346/265/201/346/200/245/346/210/246/347/237/242/345/200/211.kif +2 -0
  257. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/242/226/351/243/233/350/273/212.kif +12 -2
  258. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/243/217/343/202/242/343/203/222/343/203/253/346/210/246/346/263/225.kif +1 -1
  259. 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 +3 -1
  260. 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 +6 -2
  261. 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 +11 -3
  262. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/346/217/233/343/202/217/343/202/212/346/243/222/351/212/200.kif +2 -0
  263. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/346/217/233/343/202/217/343/202/212/350/205/260/346/216/233/343/201/221/351/212/200.kif +1 -1
  264. 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 +2 -2
  265. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/351/240/255/346/255/251/346/210/246/346/263/225.kif +1 -1
  266. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/266/205/346/200/245/346/210/246.kif +1 -1
  267. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/200/206/346/243/222/351/212/200.kif +1 -1
  268. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/201/240/345/261/261/346/265/201.kif +5 -2
  269. 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 +24 -11
  270. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/207/221/346/262/242/346/265/201.kif +1 -1
  271. 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 +3 -1
  272. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/207/221/351/212/200/346/251/213.kif +2 -2
  273. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/212/200/351/233/262/351/233/200.kif +1 -1
  274. 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
  275. 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 +1 -1
  276. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/230/252/347/224/260/346/265/201/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +4 -2
  277. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/230/277/344/271/205/346/264/245/346/265/201/346/200/245/346/210/246/347/237/242/345/200/211.kif +5 -2
  278. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/200/345/210/272/343/201/227.kif +8 -4
  279. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/201/346/234/250/345/217/263/347/216/211.kif +8 -3
  280. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/242/250/350/273/212.kif +5 -2
  281. 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 +2 -1
  282. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/253/230/347/224/260/346/265/201/345/267/246/347/216/211.kif +1 -1
  283. 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
  284. 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 +1 -1
  285. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/255/224/347/225/214/345/233/233/351/226/223/351/243/233/350/273/212.kif +1 -1
  286. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/267/272/345/256/256/345/256/232/350/267/241.kif +2 -1
  287. 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 +1 -1
  288. 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 +27 -9
  289. data/lib/bioshogi/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 -11
  290. data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/213/346/256/265/343/201/256/351/246/231.kif +26 -0
  291. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/260/273/351/207/221.kif +28 -0
  292. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/261/205/351/243/233/350/273/212/343/201/256/347/250/216/351/207/221.kif +15 -0
  293. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/216/247/343/201/210/343/201/256/346/241/202.kif +23 -0
  294. data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/351/240/255/343/201/256/346/241/202.kif +2 -1
  295. 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 +12 -14
  296. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/202/251/351/207/221.kif +21 -0
  297. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/202/251/351/212/200.kif +21 -0
  298. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/205/271/351/207/221.kif +25 -0
  299. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/205/271/351/212/200.kif +2 -1
  300. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/276/351/207/221.kif +33 -0
  301. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/276/351/212/200.kif +21 -0
  302. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/267/263/343/201/255/351/201/225/343/201/204/343/201/256/346/241/202.kif +27 -0
  303. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/200/243/346/211/223/343/201/256/346/255/251.kif +2 -1
  304. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/201/240/350/246/213/343/201/256/350/247/222.kif +16 -6
  305. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/207/221/351/240/255/343/201/256/346/241/202.kif +30 -0
  306. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/212/200/343/201/260/343/201/225/343/201/277.kif +1 -0
  307. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/212/200/345/206/240/343/201/256/345/260/217/351/203/250/345/261/213.kif +2 -1
  308. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/240/255/351/207/221.kif +21 -0
  309. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/240/255/351/212/200.kif +21 -0
  310. data/lib/bioshogi/analysis.rb +4 -0
  311. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_club24.png +0 -0
  312. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_modern.png +0 -0
  313. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_paper.png +0 -0
  314. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_piyo.png +0 -0
  315. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_real.png +0 -0
  316. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_shape.png +0 -0
  317. data/lib/bioshogi/assets/images/piece/nureyon/BB0.png +0 -0
  318. data/lib/bioshogi/assets/images/piece/nureyon/BB1.png +0 -0
  319. data/lib/bioshogi/assets/images/piece/nureyon/BG0.png +0 -0
  320. data/lib/bioshogi/assets/images/piece/nureyon/BK0.png +0 -0
  321. data/lib/bioshogi/assets/images/piece/nureyon/BL0.png +0 -0
  322. data/lib/bioshogi/assets/images/piece/nureyon/BL1.png +0 -0
  323. data/lib/bioshogi/assets/images/piece/nureyon/BN0.png +0 -0
  324. data/lib/bioshogi/assets/images/piece/nureyon/BN1.png +0 -0
  325. data/lib/bioshogi/assets/images/piece/nureyon/BP0.png +0 -0
  326. data/lib/bioshogi/assets/images/piece/nureyon/BP1.png +0 -0
  327. data/lib/bioshogi/assets/images/piece/nureyon/BR0.png +0 -0
  328. data/lib/bioshogi/assets/images/piece/nureyon/BR1.png +0 -0
  329. data/lib/bioshogi/assets/images/piece/nureyon/BS0.png +0 -0
  330. data/lib/bioshogi/assets/images/piece/nureyon/BS1.png +0 -0
  331. data/lib/bioshogi/assets/images/piece/nureyon/README.org +20 -0
  332. data/lib/bioshogi/assets/images/piece/nureyon/WB0.png +0 -0
  333. data/lib/bioshogi/assets/images/piece/nureyon/WB1.png +0 -0
  334. data/lib/bioshogi/assets/images/piece/nureyon/WG0.png +0 -0
  335. data/lib/bioshogi/assets/images/piece/nureyon/WK0.png +0 -0
  336. data/lib/bioshogi/assets/images/piece/nureyon/WL0.png +0 -0
  337. data/lib/bioshogi/assets/images/piece/nureyon/WL1.png +0 -0
  338. data/lib/bioshogi/assets/images/piece/nureyon/WN0.png +0 -0
  339. data/lib/bioshogi/assets/images/piece/nureyon/WN1.png +0 -0
  340. data/lib/bioshogi/assets/images/piece/nureyon/WP0.png +0 -0
  341. data/lib/bioshogi/assets/images/piece/nureyon/WP1.png +0 -0
  342. data/lib/bioshogi/assets/images/piece/nureyon/WR0.png +0 -0
  343. data/lib/bioshogi/assets/images/piece/nureyon/WR1.png +0 -0
  344. data/lib/bioshogi/assets/images/piece/nureyon/WS0.png +0 -0
  345. data/lib/bioshogi/assets/images/piece/nureyon/WS1.png +0 -0
  346. data/lib/bioshogi/assets/images/piece/nureyon/convert.rb +43 -0
  347. data/lib/bioshogi/assets/images/piece/nureyon/original/BB0.svg +11 -0
  348. data/lib/bioshogi/assets/images/piece/nureyon/original/BB1.svg +11 -0
  349. data/lib/bioshogi/assets/images/piece/nureyon/original/BG0.svg +11 -0
  350. data/lib/bioshogi/assets/images/piece/nureyon/original/BK0.svg +11 -0
  351. data/lib/bioshogi/assets/images/piece/nureyon/original/BL0.svg +11 -0
  352. data/lib/bioshogi/assets/images/piece/nureyon/original/BL1.svg +11 -0
  353. data/lib/bioshogi/assets/images/piece/nureyon/original/BN0.svg +11 -0
  354. data/lib/bioshogi/assets/images/piece/nureyon/original/BN1.svg +11 -0
  355. data/lib/bioshogi/assets/images/piece/nureyon/original/BP0.svg +11 -0
  356. data/lib/bioshogi/assets/images/piece/nureyon/original/BP1.svg +11 -0
  357. data/lib/bioshogi/assets/images/piece/nureyon/original/BR0.svg +11 -0
  358. data/lib/bioshogi/assets/images/piece/nureyon/original/BR1.svg +11 -0
  359. data/lib/bioshogi/assets/images/piece/nureyon/original/BS0.svg +11 -0
  360. data/lib/bioshogi/assets/images/piece/nureyon/original/BS1.svg +11 -0
  361. data/lib/bioshogi/assets/images/piece/nureyon/original/BX0.svg +12 -0
  362. data/lib/bioshogi/assets/images/piece/nureyon/original/README.org +5 -0
  363. data/lib/bioshogi/assets/images/piece/nureyon/original/convert.sh +15 -0
  364. data/lib/bioshogi/assets/images/piece/nureyon/original/style.rb +26 -0
  365. data/lib/bioshogi/assets/images/piece/portella/BB0.png +0 -0
  366. data/lib/bioshogi/assets/images/piece/portella/BB1.png +0 -0
  367. data/lib/bioshogi/assets/images/piece/portella/BG0.png +0 -0
  368. data/lib/bioshogi/assets/images/piece/portella/BK0.png +0 -0
  369. data/lib/bioshogi/assets/images/piece/portella/BL0.png +0 -0
  370. data/lib/bioshogi/assets/images/piece/portella/BL1.png +0 -0
  371. data/lib/bioshogi/assets/images/piece/portella/BN0.png +0 -0
  372. data/lib/bioshogi/assets/images/piece/portella/BN1.png +0 -0
  373. data/lib/bioshogi/assets/images/piece/portella/BP0.png +0 -0
  374. data/lib/bioshogi/assets/images/piece/portella/BP1.png +0 -0
  375. data/lib/bioshogi/assets/images/piece/portella/BR0.png +0 -0
  376. data/lib/bioshogi/assets/images/piece/portella/BR1.png +0 -0
  377. data/lib/bioshogi/assets/images/piece/portella/BS0.png +0 -0
  378. data/lib/bioshogi/assets/images/piece/portella/BS1.png +0 -0
  379. data/lib/bioshogi/assets/images/piece/portella/WB0.png +0 -0
  380. data/lib/bioshogi/assets/images/piece/portella/WB1.png +0 -0
  381. data/lib/bioshogi/assets/images/piece/portella/WG0.png +0 -0
  382. data/lib/bioshogi/assets/images/piece/portella/WK0.png +0 -0
  383. data/lib/bioshogi/assets/images/piece/portella/WL0.png +0 -0
  384. data/lib/bioshogi/assets/images/piece/portella/WL1.png +0 -0
  385. data/lib/bioshogi/assets/images/piece/portella/WN0.png +0 -0
  386. data/lib/bioshogi/assets/images/piece/portella/WN1.png +0 -0
  387. data/lib/bioshogi/assets/images/piece/portella/WP0.png +0 -0
  388. data/lib/bioshogi/assets/images/piece/portella/WP1.png +0 -0
  389. data/lib/bioshogi/assets/images/piece/portella/WR0.png +0 -0
  390. data/lib/bioshogi/assets/images/piece/portella/WR1.png +0 -0
  391. data/lib/bioshogi/assets/images/piece/portella/WS0.png +0 -0
  392. data/lib/bioshogi/assets/images/piece/portella/WS1.png +0 -0
  393. data/lib/bioshogi/assets/images/piece/portella/convert.rb +89 -0
  394. data/lib/bioshogi/board/basic.rb +2 -1
  395. data/lib/bioshogi/board/csa_formatter.rb +2 -2
  396. data/lib/bioshogi/board/kakinoki_formatter.rb +5 -5
  397. data/lib/bioshogi/board/reader_methods.rb +8 -4
  398. data/lib/bioshogi/board_parser/kakinoki_board_parser.rb +2 -2
  399. data/lib/bioshogi/container/checkmate_yomiage.rb +1 -1
  400. data/lib/bioshogi/container/core_methods.rb +4 -4
  401. data/lib/bioshogi/counter_hash.rb +34 -0
  402. data/lib/bioshogi/dimension/base.rb +49 -10
  403. data/lib/bioshogi/dimension/column.rb +131 -0
  404. data/lib/bioshogi/dimension/module_methods.rb +19 -20
  405. data/lib/bioshogi/dimension/row.rb +128 -0
  406. data/lib/bioshogi/extreme_validator.rb +1 -1
  407. data/lib/bioshogi/formatter/animation/animation_mp4_builder.rb +17 -14
  408. data/lib/bioshogi/formatter/animation/ffmpeg_support.rb +14 -1
  409. data/lib/bioshogi/formatter/core.rb +9 -9
  410. data/lib/bioshogi/formatter/skill_embed.rb +45 -16
  411. data/lib/bioshogi/formatter/sugatayaki_validator.rb +2 -2
  412. data/lib/bioshogi/hand/drop.rb +1 -1
  413. data/lib/bioshogi/hand/move.rb +6 -6
  414. data/lib/bioshogi/input_adapter/ki2_adapter.rb +10 -10
  415. data/lib/bioshogi/input_adapter/shared_validation.rb +1 -1
  416. data/lib/bioshogi/location.rb +22 -2
  417. data/lib/bioshogi/official_formatter.rb +38 -38
  418. data/lib/bioshogi/order_info.rb +5 -3
  419. data/lib/bioshogi/parser/base.rb +4 -4
  420. data/lib/bioshogi/parser/pi.rb +11 -0
  421. data/lib/bioshogi/piece/piece_vector.rb +16 -10
  422. data/lib/bioshogi/piece.rb +17 -9
  423. data/lib/bioshogi/piller_cop.rb +47 -0
  424. data/lib/bioshogi/place.rb +159 -62
  425. data/lib/bioshogi/player/other_methods.rb +16 -33
  426. data/lib/bioshogi/player/piece_box_methods.rb +1 -1
  427. data/lib/bioshogi/player/soldier_methods.rb +12 -6
  428. data/lib/bioshogi/player.rb +1 -0
  429. data/lib/bioshogi/player_executor/base.rb +3 -2
  430. data/lib/bioshogi/screen_image/color_theme_info.rb +22 -7
  431. data/lib/bioshogi/screen_image/core_methods.rb +37 -23
  432. data/lib/bioshogi/screen_image/helper.rb +2 -2
  433. data/lib/bioshogi/screen_image/layer_methods.rb +6 -3
  434. data/lib/bioshogi/screen_image/nureyon_image_info.rb +43 -0
  435. data/lib/bioshogi/screen_image/pentagon.rb +2 -2
  436. data/lib/bioshogi/screen_image/piece_image_info.rb +26 -0
  437. data/lib/bioshogi/screen_image/soldier_methods.rb +16 -14
  438. data/lib/bioshogi/screen_image/soldier_model_methods.rb +14 -0
  439. data/lib/bioshogi/screen_image/stand.rb +10 -7
  440. data/lib/bioshogi/soldier/technique_matcher_methods.rb +57 -0
  441. data/lib/bioshogi/soldier.rb +15 -79
  442. data/lib/bioshogi/soldier_walker.rb +1 -1
  443. data/lib/bioshogi/turn_info.rb +2 -2
  444. data/lib/bioshogi/v/preset_vectors.rb +129 -0
  445. data/lib/bioshogi/v.rb +4 -2
  446. data/lib/bioshogi/version.rb +1 -1
  447. data/lib/bioshogi.rb +4 -1
  448. data//347/275/256/343/201/215/346/217/233/343/201/210/346/216/250/345/245/250.txt +1 -1
  449. metadata +179 -206
  450. data/lib/bioshogi/analysis/technique_matcher_info.rb +0 -810
  451. data/lib/bioshogi/assets/audios/any.band/Alternatives/000/DisplayState.plist +0 -0
  452. data/lib/bioshogi/assets/audios/any.band/Alternatives/000/DisplayStateArchive +0 -0
  453. data/lib/bioshogi/assets/audios/any.band/Alternatives/000/MetaData.plist +0 -0
  454. data/lib/bioshogi/assets/audios/any.band/Alternatives/000/ProjectData +0 -0
  455. data/lib/bioshogi/assets/audios/any.band/Alternatives/000/WindowImage.jpg +0 -0
  456. data/lib/bioshogi/assets/audios/any.band/Media/Audio Files/Strategy.caf +0 -0
  457. data/lib/bioshogi/assets/audios/any.band/Resources/ProjectInformation.plist +0 -0
  458. data/lib/bioshogi/assets/audios/any.band/projectData +0 -3183
  459. data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/DisplayState.plist +0 -0
  460. data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/DisplayStateArchive +0 -0
  461. data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/MetaData.plist +0 -0
  462. data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/ProjectData +0 -0
  463. data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/WindowImage.jpg +0 -0
  464. data/lib/bioshogi/assets/audios/breakbeat_long.band/Resources/ProjectInformation.plist +0 -0
  465. data/lib/bioshogi/assets/audios/breakbeat_long.band/projectData +0 -3183
  466. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/DisplayState.plist +0 -0
  467. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/DisplayStateArchive +0 -0
  468. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/MetaData.plist +0 -0
  469. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/ProjectData +0 -0
  470. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/WindowImage.jpg +0 -0
  471. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Media/Audio Files/Strategy.caf +0 -0
  472. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Resources/ProjectInformation.plist +0 -0
  473. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/projectData +0 -3183
  474. data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/DisplayState.plist +0 -0
  475. data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/DisplayStateArchive +0 -0
  476. data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/MetaData.plist +0 -0
  477. data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/ProjectData +0 -0
  478. data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/WindowImage.jpg +0 -0
  479. data/lib/bioshogi/assets/audios/china_like.band/Resources/ProjectInformation.plist +0 -0
  480. data/lib/bioshogi/assets/audios/china_like.band/projectData +0 -3183
  481. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/DisplayState.plist +0 -0
  482. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/DisplayStateArchive +0 -0
  483. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/MetaData.plist +0 -0
  484. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/ProjectData +0 -0
  485. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/WindowImage.jpg +0 -0
  486. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Resources/ProjectInformation.plist +0 -0
  487. data/lib/bioshogi/assets/audios/digit_blast_layers.band/projectData +0 -3183
  488. data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/DisplayState.plist +0 -0
  489. data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/DisplayStateArchive +0 -0
  490. data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/MetaData.plist +0 -0
  491. data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/ProjectData +0 -0
  492. data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/WindowImage.jpg +0 -0
  493. data/lib/bioshogi/assets/audios/foo.band/Media/Audio Files/Strategy.caf +0 -0
  494. data/lib/bioshogi/assets/audios/foo.band/Resources/ProjectInformation.plist +0 -0
  495. data/lib/bioshogi/assets/audios/foo.band/projectData +0 -3183
  496. data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/DisplayState.plist +0 -0
  497. data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/DisplayStateArchive +0 -0
  498. data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/MetaData.plist +0 -0
  499. data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/ProjectData +0 -0
  500. data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/WindowImage.jpg +0 -0
  501. data/lib/bioshogi/assets/audios/headspin_long.band/Resources/ProjectInformation.plist +0 -0
  502. data/lib/bioshogi/assets/audios/headspin_long.band/projectData +0 -3183
  503. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/DisplayState.plist +0 -0
  504. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/DisplayStateArchive +0 -0
  505. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/MetaData.plist +0 -0
  506. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/ProjectData +0 -0
  507. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/WindowImage.jpg +0 -0
  508. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Resources/ProjectInformation.plist +0 -0
  509. data/lib/bioshogi/assets/audios/loop_bgm_i.band/projectData +0 -3183
  510. data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/DisplayState.plist +0 -0
  511. data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/DisplayStateArchive +0 -0
  512. data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/MetaData.plist +0 -0
  513. data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/ProjectData +0 -0
  514. data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/WindowImage.jpg +0 -0
  515. data/lib/bioshogi/assets/audios/mastermind.band/Resources/ProjectInformation.plist +0 -0
  516. data/lib/bioshogi/assets/audios/mastermind.band/projectData +0 -3183
  517. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/.dummy +0 -0
  518. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/2021-08-19 05:25:23Z.displayData +0 -0
  519. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/2021-08-19 05:25:23Z.eventData +0 -0
  520. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/2021-08-19 05:25:23Z.songData +0 -0
  521. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/DisplayState.plist +0 -0
  522. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/DisplayStateArchive +0 -0
  523. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/MetaData.plist +0 -0
  524. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/ProjectData +0 -0
  525. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/WindowImage.jpg +0 -0
  526. data/lib/bioshogi/assets/audios/positive_think.band/Resources/ProjectInformation.plist +0 -0
  527. data/lib/bioshogi/assets/audios/positive_think.band/projectData +0 -3183
  528. data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/DisplayState.plist +0 -0
  529. data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/DisplayStateArchive +0 -0
  530. data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/MetaData.plist +0 -0
  531. data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/ProjectData +0 -0
  532. data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/WindowImage.jpg +0 -0
  533. data/lib/bioshogi/assets/audios/stg_like_type1.band/Resources/ProjectInformation.plist +0 -0
  534. data/lib/bioshogi/assets/audios/stg_like_type1.band/projectData +0 -3183
  535. data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/DisplayState.plist +0 -0
  536. data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/DisplayStateArchive +0 -0
  537. data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/MetaData.plist +0 -0
  538. data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/ProjectData +0 -0
  539. data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/WindowImage.jpg +0 -0
  540. data/lib/bioshogi/assets/audios/strategy.band/Media/Audio Files/Strategy.caf +0 -0
  541. data/lib/bioshogi/assets/audios/strategy.band/Resources/ProjectInformation.plist +0 -0
  542. data/lib/bioshogi/assets/audios/strategy.band/projectData +0 -3183
  543. data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/DisplayState.plist +0 -0
  544. data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/DisplayStateArchive +0 -0
  545. data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/MetaData.plist +0 -0
  546. data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/ProjectData +0 -0
  547. data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/WindowImage.jpg +0 -0
  548. data/lib/bioshogi/assets/audios/test1.band/Resources/ProjectInformation.plist +0 -0
  549. data/lib/bioshogi/assets/audios/test1.band/projectData +0 -3183
  550. data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/DisplayState.plist +0 -0
  551. data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/DisplayStateArchive +0 -0
  552. data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/MetaData.plist +0 -0
  553. data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/ProjectData +0 -0
  554. data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/WindowImage.jpg +0 -0
  555. data/lib/bioshogi/assets/audios/test2.band/Resources/ProjectInformation.plist +0 -0
  556. data/lib/bioshogi/assets/audios/test2.band/projectData +0 -3183
  557. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Black.ttf +0 -0
  558. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Bold.ttf +0 -0
  559. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-ExtraBold.ttf +0 -0
  560. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Light.ttf +0 -0
  561. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Medium.ttf +0 -0
  562. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Regular.ttf +0 -0
  563. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Thin.ttf +0 -0
  564. data/lib/bioshogi/assets/fonts/NewTegomin-Regular.ttf +0 -0
  565. data/lib/bioshogi/assets/fonts/NotoSansJP-Black.otf +0 -0
  566. data/lib/bioshogi/assets/fonts/NotoSansJP-Bold.otf +0 -0
  567. data/lib/bioshogi/assets/fonts/NotoSansJP-Light.otf +0 -0
  568. data/lib/bioshogi/assets/fonts/NotoSansJP-Medium.otf +0 -0
  569. data/lib/bioshogi/assets/fonts/NotoSansJP-Regular.otf +0 -0
  570. data/lib/bioshogi/assets/fonts/NotoSansJP-Thin.otf +0 -0
  571. data/lib/bioshogi/assets/fonts/NotoSerifJP-Black.otf +0 -0
  572. data/lib/bioshogi/assets/fonts/NotoSerifJP-Bold.otf +0 -0
  573. data/lib/bioshogi/assets/fonts/NotoSerifJP-ExtraLight.otf +0 -0
  574. data/lib/bioshogi/assets/fonts/NotoSerifJP-Light.otf +0 -0
  575. data/lib/bioshogi/assets/fonts/NotoSerifJP-Medium.otf +0 -0
  576. data/lib/bioshogi/assets/fonts/NotoSerifJP-Regular.otf +0 -0
  577. data/lib/bioshogi/assets/fonts/NotoSerifJP-SemiBold.otf +0 -0
  578. data/lib/bioshogi/assets/fonts/YuseiMagic-Regular.ttf +0 -0
  579. data/lib/bioshogi/assets/images/piece/Portella/BB0.png +0 -0
  580. data/lib/bioshogi/assets/images/piece/Portella/BB1.png +0 -0
  581. data/lib/bioshogi/assets/images/piece/Portella/BG0.png +0 -0
  582. data/lib/bioshogi/assets/images/piece/Portella/BK0.png +0 -0
  583. data/lib/bioshogi/assets/images/piece/Portella/BL0.png +0 -0
  584. data/lib/bioshogi/assets/images/piece/Portella/BL1.png +0 -0
  585. data/lib/bioshogi/assets/images/piece/Portella/BN0.png +0 -0
  586. data/lib/bioshogi/assets/images/piece/Portella/BN1.png +0 -0
  587. data/lib/bioshogi/assets/images/piece/Portella/BP0.png +0 -0
  588. data/lib/bioshogi/assets/images/piece/Portella/BP1.png +0 -0
  589. data/lib/bioshogi/assets/images/piece/Portella/BR0.png +0 -0
  590. data/lib/bioshogi/assets/images/piece/Portella/BR1.png +0 -0
  591. data/lib/bioshogi/assets/images/piece/Portella/BS0.png +0 -0
  592. data/lib/bioshogi/assets/images/piece/Portella/BS1.png +0 -0
  593. data/lib/bioshogi/assets/images/piece/Portella/BX0.png +0 -0
  594. data/lib/bioshogi/assets/images/piece/Portella/WB0.png +0 -0
  595. data/lib/bioshogi/assets/images/piece/Portella/WB1.png +0 -0
  596. data/lib/bioshogi/assets/images/piece/Portella/WG0.png +0 -0
  597. data/lib/bioshogi/assets/images/piece/Portella/WK0.png +0 -0
  598. data/lib/bioshogi/assets/images/piece/Portella/WL0.png +0 -0
  599. data/lib/bioshogi/assets/images/piece/Portella/WL1.png +0 -0
  600. data/lib/bioshogi/assets/images/piece/Portella/WN0.png +0 -0
  601. data/lib/bioshogi/assets/images/piece/Portella/WN1.png +0 -0
  602. data/lib/bioshogi/assets/images/piece/Portella/WP0.png +0 -0
  603. data/lib/bioshogi/assets/images/piece/Portella/WP1.png +0 -0
  604. data/lib/bioshogi/assets/images/piece/Portella/WR0.png +0 -0
  605. data/lib/bioshogi/assets/images/piece/Portella/WR1.png +0 -0
  606. data/lib/bioshogi/assets/images/piece/Portella/WS0.png +0 -0
  607. data/lib/bioshogi/assets/images/piece/Portella/WS1.png +0 -0
  608. data/lib/bioshogi/assets/images/piece/Portella/WX0.png +0 -0
  609. data/lib/bioshogi/assets/images/piece/Portella/convert.sh +0 -32
  610. data/lib/bioshogi/board/piece_counts_methods.rb +0 -43
  611. data/lib/bioshogi/dimension/place_x.rb +0 -27
  612. data/lib/bioshogi/dimension/place_y.rb +0 -57
  613. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/README.org +0 -0
  614. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0FU.png +0 -0
  615. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0GI.png +0 -0
  616. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0GY.png +0 -0
  617. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0HI.png +0 -0
  618. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KA.png +0 -0
  619. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KE.png +0 -0
  620. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KI.png +0 -0
  621. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KI.svg +0 -0
  622. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KY.png +0 -0
  623. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0NG.png +0 -0
  624. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0NK.png +0 -0
  625. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0NY.png +0 -0
  626. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0OU.png +0 -0
  627. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0RY.png +0 -0
  628. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0TO.png +0 -0
  629. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0UM.png +0 -0
  630. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1FU.png +0 -0
  631. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1GI.png +0 -0
  632. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1GY.png +0 -0
  633. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1HI.png +0 -0
  634. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KA.png +0 -0
  635. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KE.png +0 -0
  636. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KI.png +0 -0
  637. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KY.png +0 -0
  638. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1NG.png +0 -0
  639. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1NK.png +0 -0
  640. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1NY.png +0 -0
  641. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1OU.png +0 -0
  642. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1RY.png +0 -0
  643. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1TO.png +0 -0
  644. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1UM.png +0 -0
@@ -10,7 +10,7 @@ module Bioshogi
10
10
  end
11
11
 
12
12
  def call
13
- # Bioshogi.config[:analyzer_enable] = false
13
+ # Bioshogi.config[:analysis_feature] = false
14
14
 
15
15
  error_body.delete rescue nil
16
16
  result = Hash.new(0)
@@ -101,28 +101,36 @@ module Bioshogi
101
101
  @screen_image_renderer = ScreenImage.renderer(@container, params)
102
102
 
103
103
  if factory_method_key == "is_factory_method_rmagick"
104
- @progress_cop = ProgressCop.new(1 + 1 + @formatter.pi.move_infos.size + 3 + 7, &params[:progress_callback])
104
+ @progress_cop = ProgressCop.new(begin_pages + 1 + @formatter.pi.move_infos.size + end_pages + 7, &params[:progress_callback])
105
105
 
106
106
  begin
107
107
  list = Magick::ImageList.new
108
108
 
109
109
  if v = params[:cover_text].presence
110
- @progress_cop.next_step("表紙描画")
111
- tob("表紙描画") { list << CoverImage.renderer(text: v, **params.slice(:bottom_text, :width, :height)).render }
110
+ cover_image = CoverImage.renderer(text: v, **params.slice(:bottom_text, :width, :height)).render
111
+ begin_pages.times do |i|
112
+ @progress_cop.next_step("表紙描画 #{i}/#{begin_pages}")
113
+ tob("表紙描画 #{i}/#{begin_pages}") { list << cover_image.copy }
114
+ end
112
115
  end
113
116
 
114
117
  @progress_cop.next_step("初期配置")
115
118
  list << @screen_image_renderer.next_build
119
+
120
+ # 駒の動き
116
121
  @formatter.pi.move_infos.each.with_index do |e, i|
117
122
  @progress_cop.next_step("(#{i}/#{@formatter.pi.move_infos.size}) #{e[:input]}")
118
123
  @container.execute(e[:input])
119
124
  list << @screen_image_renderer.next_build
120
125
  logger.info { "move: #{i} / #{@formatter.pi.move_infos.size}" } if i.modulo(10).zero?
121
126
  end
127
+
128
+ # 終了図
122
129
  end_pages.times do |i|
123
130
  @progress_cop.next_step("終了図 #{i}/#{end_pages}")
124
131
  tob("終了図 #{i}/#{end_pages}") { list << @screen_image_renderer.last_rendered_image.copy }
125
132
  end
133
+
126
134
  @progress_cop.next_step("mp4 生成")
127
135
  heavy_tob(:write) do
128
136
  list.write("_output0.mp4") # staging ではここで例外も出さずに落ちることがある
@@ -143,23 +151,18 @@ module Bioshogi
143
151
  end
144
152
 
145
153
  if factory_method_key == "is_factory_method_ffmpeg"
146
- logger.info { "[TRACE] #{__FILE__}:#{__LINE__}" }
147
- @progress_cop = ProgressCop.new(1 + 1 + @formatter.pi.move_infos.size + end_pages + 1 + 6, &params[:progress_callback])
154
+ @progress_cop = ProgressCop.new(begin_pages + 1 + @formatter.pi.move_infos.size + end_pages + 1 + 6, &params[:progress_callback])
148
155
 
149
- logger.info { "[TRACE] #{__FILE__}:#{__LINE__}" }
150
156
  if v = params[:cover_text].presence
151
- logger.info { "[TRACE] #{__FILE__}:#{__LINE__}" }
152
- @progress_cop.next_step("表紙描画")
153
- logger.info { "[TRACE] #{__FILE__}:#{__LINE__}" }
154
- tob("表紙描画") { CoverImage.renderer(text: v, **params.slice(:bottom_text, :width, :height)).render.write(sfg.next) }
155
- logger.info { "[TRACE] #{__FILE__}:#{__LINE__}" }
157
+ cover_image = CoverImage.renderer(text: v, **params.slice(:bottom_text, :width, :height)).render
158
+ begin_pages.times do |i|
159
+ @progress_cop.next_step("表紙描画 #{i}/#{begin_pages}")
160
+ tob("表紙描画 #{i}/#{begin_pages}") { cover_image.write(sfg.next) }
161
+ end
156
162
  end
157
163
 
158
- logger.info { "[TRACE] #{__FILE__}:#{__LINE__}" }
159
164
  @progress_cop.next_step("初期配置")
160
- logger.info { "[TRACE] #{__FILE__}:#{__LINE__}" }
161
165
  tob("初期配置") { @screen_image_renderer.next_build.write(sfg.next) }
162
- logger.info { "[TRACE] #{__FILE__}:#{__LINE__}" }
163
166
 
164
167
  @formatter.pi.move_infos.each.with_index do |e, i|
165
168
  @progress_cop.next_step("(#{i}/#{@formatter.pi.move_infos.size}) #{e[:input]}")
@@ -15,8 +15,13 @@ module Bioshogi
15
15
  super.merge({
16
16
  # 全体
17
17
  :page_duration => 1.0, # 1手N秒 10000/60 = 166.666666667 なので 0.0166666666667 を指定すると 60 FPS になる
18
- :end_duration => 0, # 終了図をN秒表示する
18
+
19
+ :begin_pages => 1, # 表紙を表示するフレーム数。空なら begin_duration / page_duration
20
+ :begin_duration => nil, # 表紙をN秒表示する (こちらを有効にするには同時に begin_pages を nil すること)
21
+
19
22
  :end_pages => nil, # 終了図追加フレーム数。空なら end_duration / page_duration
23
+ :end_duration => 0, # 終了図をN秒表示する
24
+
20
25
  :progress_callback => nil, # 進捗通知用
21
26
  :cover_text => nil, # 表紙(nilなら作らない)
22
27
  :bottom_text => nil, # 表紙の右下に小さく表示する1行
@@ -64,6 +69,14 @@ module Bioshogi
64
69
  end
65
70
  end
66
71
 
72
+ def begin_pages
73
+ if v = params[:begin_pages]
74
+ v.to_i
75
+ else
76
+ params[:begin_duration].fdiv(page_duration).ceil
77
+ end
78
+ end
79
+
67
80
  # 最後の局面を追加で足す回数
68
81
  # これを設定しても最終的な秒数は不明なため基本指定せず、指定した end_duration から算出した方がよい
69
82
  # |------------------+------------------------+-----------+-----+----------------|
@@ -76,10 +76,10 @@ module Bioshogi
76
76
  def container_new
77
77
  container_class.new.tap do |e|
78
78
  e.params.update(@parser_options.slice(*[
79
- :analyzer_enable,
80
- :analyzer_technique_enable,
81
- :candidate_enable,
82
- :validate_enable,
79
+ :analysis_feature,
80
+ :analysis_technique_feature,
81
+ :ki2_function,
82
+ :validate_feature,
83
83
  :validate_double_pawn_skip,
84
84
  :validate_warp_skip,
85
85
  ]))
@@ -90,10 +90,10 @@ module Bioshogi
90
90
  def container_for_image
91
91
  container = Container::Basic.new
92
92
  container.params.update({
93
- :analyzer_enable => false,
94
- :analyzer_technique_enable => false,
95
- :candidate_enable => false,
96
- :validate_enable => false,
93
+ :analysis_feature => false,
94
+ :analysis_technique_feature => false,
95
+ :ki2_function => false,
96
+ :validate_feature => false,
97
97
  })
98
98
  container_init(container) # FIXME: これ、必要ない SFEN を生成したりして遅い
99
99
  container
@@ -163,7 +163,7 @@ module Bioshogi
163
163
 
164
164
  def container_run_all(container)
165
165
  Runner.new(self, container).call
166
- if @parser_options[:analyzer_enable]
166
+ if @parser_options[:analysis_feature]
167
167
  SkillEmbed.new(self, container).call
168
168
  StyleEmbed.new(self, container).call
169
169
  end
@@ -15,6 +15,9 @@ module Bioshogi
15
15
 
16
16
  def call
17
17
  miyakodume_check
18
+ tsurushikei_check
19
+ settintsume_check
20
+
18
21
  meijin_judgement # 力戦より前
19
22
  rikisen_judgement
20
23
 
@@ -88,21 +91,15 @@ module Bioshogi
88
91
  end
89
92
 
90
93
  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
94
+ if @xparser.pi.saigoha_tsumi_p
95
+ if soldier = @container.board["55"]
96
+ if soldier.piece.key == :king
97
+ if @container.lose_player.location == soldier.location
98
+ tag = Analysis::NoteInfo["都詰め"]
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)
106
103
  end
107
104
  end
108
105
  end
@@ -110,6 +107,38 @@ module Bioshogi
110
107
  end
111
108
  end
112
109
 
110
+ def settintsume_check
111
+ if @xparser.pi.saigoha_tsumi_p
112
+ found = ["11", "91", "19", "99"].any? do |e|
113
+ if soldier = @container.board[e]
114
+ if soldier.piece.key == :king
115
+ @container.lose_player.location == soldier.location
116
+ end
117
+ end
118
+ end
119
+ if found
120
+ tag = Analysis::NoteInfo["雪隠詰め"]
121
+ @container.win_player.skill_set.list_push(tag)
122
+ # 最後の手にも入れておく
123
+ if hand_log = @container.hand_logs.last
124
+ hand_log.skill_set.list_push(tag)
125
+ end
126
+ end
127
+ end
128
+ end
129
+
130
+ def tsurushikei_check
131
+ if @xparser.pi.saigoha_tsumi_p
132
+ if hand_log = @container.hand_logs.last
133
+ tag = Analysis::NoteInfo["吊るし桂"]
134
+ if hand_log.soldier.piece.key == :knight
135
+ @container.win_player.skill_set.list_push(tag) # 勝者に入れておく
136
+ hand_log.skill_set.list_push(tag) # 最後の手にも入れておく
137
+ end
138
+ end
139
+ end
140
+ end
141
+
113
142
  def ainyugyoku_judgement
114
143
  if @container.players.all? { |e| e.skill_set.has_skill?(Analysis::NoteInfo["入玉"]) }
115
144
  @container.players.each do |player|
@@ -181,7 +210,7 @@ module Bioshogi
181
210
  if @container.turn_info.display_turn >= MIN_TURN
182
211
  if win_side_location
183
212
  player = @container.player_at(win_side_location)
184
- if player.stronger_piece_have_count.zero? # 最後の状態でも全ブッチ状態なら
213
+ if player.strong_piece_have_count.zero? # 最後の状態でも全ブッチ状態なら
185
214
  if player.skill_set.has_skill?(Analysis::NoteInfo["大駒全ブッチ"]) # 途中、大駒全ブッチしいて (←これがないと 相入玉.kif でも入ってしまう)
186
215
  player.skill_set.list_push(Analysis::NoteInfo["背水の陣"])
187
216
  end
@@ -40,7 +40,7 @@ module Bioshogi
40
40
  unless anaguma_formation? # 相手が穴熊状態か?
41
41
  return
42
42
  end
43
- # unless stronger_piece_completed? # 大駒コンプリートしている? → overwhelming_score? の方が汎用的
43
+ # unless strong_piece_completed? # 大駒コンプリートしている? → overwhelming_score? の方が汎用的
44
44
  # return
45
45
  # end
46
46
  unless win_player.overwhelming_score? # 自分が圧倒的な戦力を持っているか?
@@ -84,7 +84,7 @@ module Bioshogi
84
84
  if flop
85
85
  place = place.flop
86
86
  end
87
- place = place.flip_if_white(lose_side_location)
87
+ place = place.white_then_flip(lose_side_location)
88
88
  if soldier = container.board[place]
89
89
  if soldier.location == lose_side_location
90
90
  soldier
@@ -59,7 +59,7 @@ module Bioshogi
59
59
  end
60
60
 
61
61
  def type
62
- "t_drop"
62
+ :t_drop
63
63
  end
64
64
 
65
65
  def to_akf(options = {})
@@ -35,8 +35,8 @@ module Bioshogi
35
35
  end
36
36
 
37
37
  # 成れる状態だった?
38
- def promotable?
39
- origin_soldier.next_promotable?(soldier.place)
38
+ def state_where_it_can_become_promote?
39
+ origin_soldier.tsugini_nareru_on?(soldier.place)
40
40
  end
41
41
 
42
42
  # 人間には読みやすいがパースは大変
@@ -84,14 +84,14 @@ module Bioshogi
84
84
  end
85
85
 
86
86
  def type
87
- if promotable?
87
+ if state_where_it_can_become_promote?
88
88
  if promote_trigger?
89
- "t_promote_on"
89
+ :t_promote_on
90
90
  else
91
- "t_promote_throw"
91
+ :t_promote_throw
92
92
  end
93
93
  else
94
- "t_move"
94
+ :t_move
95
95
  end
96
96
  end
97
97
 
@@ -86,13 +86,13 @@ module Bioshogi
86
86
  if md = v.match(/[左右]/)
87
87
  if piece.brave?
88
88
  m = {"左" => :first, "右" => :last}.fetch(md.to_s)
89
- m = flip_if_white(m)
90
- list = list.sort_by { |e| e.place.x.value }.send(m, 1)
89
+ m = white_then_flip(m)
90
+ list = list.sort_by { |e| e.place.column.value }.send(m, 1)
91
91
  else
92
92
  m = {"左" => :>, "右" => :<}.fetch(md.to_s)
93
- m = flip_if_white(m)
93
+ m = white_then_flip(m)
94
94
  list = list.find_all do |e|
95
- place.x.value.send(m, e.place.x.value)
95
+ place.column.value.send(m, e.place.column.value)
96
96
  end
97
97
  end
98
98
  end
@@ -103,9 +103,9 @@ module Bioshogi
103
103
  if v = up_down
104
104
  if md = v.match(/[上引]/)
105
105
  m = {"上" => :<, "引" => :>}.fetch(md.to_s)
106
- m = flip_if_white(m)
106
+ m = white_then_flip(m)
107
107
  list = list.find_all do |e|
108
- place.y.value.send(m, e.place.y.value)
108
+ place.row.value.send(m, e.place.row.value)
109
109
  end
110
110
  end
111
111
  end
@@ -115,7 +115,7 @@ module Bioshogi
115
115
  if list.size >= 2
116
116
  if v = up_down
117
117
  if v.include?("寄")
118
- list = list.find_all { |e| e.place.y == place.y }
118
+ list = list.find_all { |e| e.place.row == place.row }
119
119
  end
120
120
  end
121
121
  end
@@ -123,9 +123,9 @@ module Bioshogi
123
123
  # 真下にあるもの
124
124
  if list.size >= 2
125
125
  if one_up?
126
- y = place.y.value + player.location.which_value(1, -1)
126
+ y = place.row.value + player.location.which_value(1, -1)
127
127
  list = list.find_all { |e|
128
- e.place.x == place.x && e.place.y.value == y
128
+ e.place.column == place.column && e.place.row.value == y
129
129
  }
130
130
  end
131
131
  end
@@ -144,7 +144,7 @@ module Bioshogi
144
144
  !promoted && !suffix_exist? && candidate_soldiers.empty?
145
145
  end
146
146
 
147
- def flip_if_white(key)
147
+ def white_then_flip(key)
148
148
  if player.location.key == :white
149
149
  key = self.class.flip_table[key]
150
150
  end
@@ -12,7 +12,7 @@ module Bioshogi
12
12
  end
13
13
 
14
14
  if move_hand.promote_trigger?
15
- unless origin_soldier.next_promotable?(place)
15
+ unless origin_soldier.tsugini_nareru_on?(place)
16
16
  errors_add NotPromotable, "#{origin_soldier.place}から#{place}への移動では成れません"
17
17
  end
18
18
  end
@@ -12,8 +12,8 @@ module Bioshogi
12
12
  class Location
13
13
  include ApplicationMemoryRecord
14
14
  memory_record [
15
- { key: :black, name: "▲", pentagon_mark: "☗", equality_name: "先手", handicap_name: "下手", equality_yomiage: "先手", handicap_yomiage: "したて", flip_mark: "▼", varrow: " ", csa_sign: "+", angle: 0, other_match_chars: ["☗"], to_sfen: "b", normalize_key: :itself, value_sign: +1, checkmate_yomiage: "せめかた", },
16
- { key: :white, name: "△", pentagon_mark: "☖", equality_name: "後手", handicap_name: "上手", equality_yomiage: "後手", handicap_yomiage: "うわて", flip_mark: "▽", varrow: "v", csa_sign: "-", angle: 180, other_match_chars: ["☖"], to_sfen: "w", normalize_key: :flip, value_sign: -1, checkmate_yomiage: "gyokugata", },
15
+ { key: :black, name: "▲", pentagon_mark: "☗", equality_name: "先手", handicap_name: "下手", equality_yomiage: "先手", handicap_yomiage: "したて", flip_mark: "▼", varrow: " ", csa_sign: "+", angle: 0, other_match_chars: ["☗"], to_sfen: "b", normalize_key: :itself, sign_dir: +1, checkmate_yomiage: "せめかた", },
16
+ { key: :white, name: "△", pentagon_mark: "☖", equality_name: "後手", handicap_name: "上手", equality_yomiage: "後手", handicap_yomiage: "うわて", flip_mark: "▽", varrow: "v", csa_sign: "-", angle: 180, other_match_chars: ["☖"], to_sfen: "w", normalize_key: :flip, sign_dir: -1, checkmate_yomiage: "gyokugata", },
17
17
  ]
18
18
 
19
19
  class << self
@@ -118,6 +118,26 @@ module Bioshogi
118
118
  end
119
119
  end
120
120
 
121
+ ################################################################################
122
+
123
+ def top
124
+ Dimension::Row.top.white_then_flip(self)
125
+ end
126
+
127
+ def bottom
128
+ Dimension::Row.bottom.white_then_flip(self)
129
+ end
130
+
131
+ def left
132
+ Dimension::Column.left.white_then_flip(self)
133
+ end
134
+
135
+ def right
136
+ Dimension::Column.right.white_then_flip(self)
137
+ end
138
+
139
+ ################################################################################
140
+
121
141
  private
122
142
 
123
143
  def call_name_method_name(handicap)
@@ -22,7 +22,7 @@ module Bioshogi
22
22
  @hand_log = hand_log
23
23
 
24
24
  unless candidate_soldiers
25
- raise BioshogiError, "candidate_enable オプションが有効になっていないため KI2 の特殊な移動表記を作れません"
25
+ raise BioshogiError, "ki2_function オプションが有効になっていないため KI2 の特殊な移動表記を作れません"
26
26
  end
27
27
  end
28
28
 
@@ -40,7 +40,7 @@ module Bioshogi
40
40
  s << @options[:separator]
41
41
  end
42
42
 
43
- if type == "t_drop"
43
+ if type == :t_drop
44
44
  s << piece_name
45
45
  # 日本将棋連盟 棋譜の表記方法
46
46
  # https://www.shogi.or.jp/faq/kihuhyouki.html
@@ -53,15 +53,15 @@ module Bioshogi
53
53
  if @options[:force_drop] || !candidate_soldiers.empty?
54
54
  s << kw("打")
55
55
  end
56
- elsif type == "t_promote_on"
56
+ elsif type == :t_promote_on
57
57
  s << piece_name
58
58
  s << motion
59
59
  s << kw("成")
60
- elsif type == "t_promote_throw"
60
+ elsif type == :t_promote_throw
61
61
  s << piece_name
62
62
  s << motion
63
63
  s << kw("不成") # or "生"
64
- elsif type == "t_move"
64
+ elsif type == :t_move
65
65
  s << soldier_name
66
66
  s << motion
67
67
  else
@@ -80,26 +80,26 @@ module Bioshogi
80
80
 
81
81
  def to_debug_hash
82
82
  {
83
- :place_from => place_from,
84
- :place_to => place_to,
85
- :candidate_soldiers => candidate_soldiers.collect(&:name),
86
- :koreru_c => koreru_c,
87
- :_migi_idou => _migi_idou?,
88
- :_hidari_idou => _hidari_idou?,
89
- :_ue_idou => _ue_idou?,
90
- :_shita_idou => _shita_idou?,
91
- :_hidari_kara_c => _hidari_kara_c,
92
- :_migi_kara_c => _migi_kara_c,
93
- :yoreru_c => yoreru_c,
94
- :agareru_c => agareru_c,
95
- :sagareru_c => sagareru_c,
96
- :shita_y => shita_y,
97
- :_tx => _tx,
98
- :_ty => _ty,
99
- :_ox => _ox,
100
- :_oy => _oy,
101
- :_xr => _xr,
102
- :_yr => _yr,
83
+ :place_from => place_from,
84
+ :place_to => place_to,
85
+ :candidate_soldiers => candidate_soldiers.collect(&:name),
86
+ :koreru_c => koreru_c,
87
+ :_migi_idou => _migi_idou?,
88
+ :_hidari_idou => _hidari_idou?,
89
+ :_ue_idou => _ue_idou?,
90
+ :_shita_idou => _shita_idou?,
91
+ :_hidari_kara_c => _hidari_kara_c,
92
+ :_migi_kara_c => _migi_kara_c,
93
+ :yoreru_c => yoreru_c,
94
+ :agareru_c => agareru_c,
95
+ :sagareru_c => sagareru_c,
96
+ :shita_y => shita_y,
97
+ :_tx => _tx,
98
+ :_ty => _ty,
99
+ :_ox => _ox,
100
+ :_oy => _oy,
101
+ :_xr => _xr,
102
+ :_yr => _yr,
103
103
  }
104
104
  end
105
105
 
@@ -281,37 +281,37 @@ module Bioshogi
281
281
 
282
282
  # 左からこれる駒の数
283
283
  def _hidari_kara_c
284
- candidate_soldiers.count { |s| s.place.x.value < _tx }
284
+ candidate_soldiers.count { |s| s.place.column.value < _tx }
285
285
  end
286
286
 
287
287
  # 右からこれる駒の数
288
288
  def _migi_kara_c
289
- candidate_soldiers.count { |s| s.place.x.value > _tx }
289
+ candidate_soldiers.count { |s| s.place.column.value > _tx }
290
290
  end
291
291
 
292
292
  # 水平に寄れる駒の数
293
293
  def yoreru_c
294
- candidate_soldiers.count { |s| s.place.y.value == _ty }
294
+ candidate_soldiers.count { |s| s.place.row.value == _ty }
295
295
  end
296
296
 
297
297
  # 上がれる駒の数(移動先より下にある数)
298
298
  def agareru_c
299
- candidate_soldiers.count { |s| s.place.y.value.send(_i(:>), _ty) }
299
+ candidate_soldiers.count { |s| s.place.row.value.send(_i(:>), _ty) }
300
300
  end
301
301
 
302
302
  # 下がれる駒の数(移動先より上にある数)
303
303
  def sagareru_c
304
- candidate_soldiers.count { |s| s.place.y.value.send(_i(:<), _ty) }
304
+ candidate_soldiers.count { |s| s.place.row.value.send(_i(:<), _ty) }
305
305
  end
306
306
 
307
307
  # 移動先X
308
308
  def _tx
309
- @_tx ||= place_to.x.value
309
+ @_tx ||= place_to.column.value
310
310
  end
311
311
 
312
312
  # 移動元Y
313
313
  def _ty
314
- @_ty ||= place_to.y.value
314
+ @_ty ||= place_to.row.value
315
315
  end
316
316
 
317
317
  # プレイヤー視点から見た移動先の一つ下
@@ -326,31 +326,31 @@ module Bioshogi
326
326
 
327
327
  # 移動元X
328
328
  def _ox
329
- @_ox ||= place_from.x.value
329
+ @_ox ||= place_from.column.value
330
330
  end
331
331
 
332
332
  # 移動先Y
333
333
  def _oy
334
- @_oy ||= place_from.y.value
334
+ @_oy ||= place_from.row.value
335
335
  end
336
336
 
337
337
  # 候補手の座標範囲
338
338
  def _xr
339
- @_xr ||= Range.new(*candidate_soldiers.collect { |e| e.place.x.value }.minmax)
339
+ @_xr ||= Range.new(*candidate_soldiers.collect { |e| e.place.column.value }.minmax)
340
340
  end
341
341
 
342
342
  def _yr
343
- @_yr ||= Range.new(*candidate_soldiers.collect { |e| e.place.y.value }.minmax)
343
+ @_yr ||= Range.new(*candidate_soldiers.collect { |e| e.place.row.value }.minmax)
344
344
  end
345
345
 
346
346
  # 移動元で二つの龍が水平線上にいる?
347
347
  def idou_moto_no_ryu_ga_suihei_ni_iru?
348
- candidate_soldiers.collect { |e| e.place.y.value }.uniq.size == 1
348
+ candidate_soldiers.collect { |e| e.place.row.value }.uniq.size == 1
349
349
  end
350
350
 
351
351
  # 移動先の水平線上よりすべて上 or すべて下
352
352
  # つまり、移動先のYが候補のYの範囲に含まれている
353
- # だから candidate_soldiers.all?{|s|s.place.y.value < _ty} || candidate_soldiers.all?{|s|s.place.y.value > _ty} から !_yr.cover?(_ty) に変更できる
353
+ # だから candidate_soldiers.all?{|s|s.place.row.value < _ty} || candidate_soldiers.all?{|s|s.place.row.value > _ty} から !_yr.cover?(_ty) に変更できる
354
354
  def idousakino_suiheisenjou_yori_subete_ue_mataha_shita?
355
355
  !_yr.cover?(_ty)
356
356
  end
@@ -1,12 +1,14 @@
1
1
  # frozen-string-literal: true
2
2
 
3
- # ▲△とは関係がない
3
+ # ▲△と混同しがちだが▲△は場所のことであって順番とは関係がない。
4
+ # たとえば駒落ちの場合は△から指すため「△=後手」と解釈しているとおかしくなる。
5
+
4
6
  module Bioshogi
5
7
  class OrderInfo
6
8
  include ApplicationMemoryRecord
7
9
  memory_record [
8
- { key: :sente, name: "先手"}, # 奇数回に指す側
9
- { key: :gote, name: "後手"}, # 偶数回に指す側
10
+ { key: :order_first, name: "先手"}, # 奇数回に指す側
11
+ { key: :order_second, name: "後手"}, # 偶数回に指す側
10
12
  ]
11
13
  end
12
14
  end
@@ -25,11 +25,11 @@ module Bioshogi
25
25
  # skip: 棋譜には記さない
26
26
  # false: 例外を出す(デフォルト)
27
27
  :typical_error_case => false,
28
- :analyzer_enable => true,
29
- :analyzer_technique_enable => true,
30
- :candidate_enable => true, # ki2にしないのであれば指定するとかなり速くなる
28
+ :analysis_feature => true,
29
+ :analysis_technique_feature => true,
30
+ :ki2_function => true, # ki2にしないのであれば指定するとかなり速くなる
31
31
 
32
- :validate_enable => true, # 将棋ウォーズの棋譜なら指定すると少し速くなる
32
+ :validate_feature => true, # 将棋ウォーズの棋譜なら指定すると少し速くなる
33
33
  :validate_double_pawn_skip => false, # 二歩を無視するか?
34
34
  :validate_warp_skip => false, # 角ワープを無視するか?
35
35
  }
@@ -51,6 +51,17 @@ module Bioshogi
51
51
  end
52
52
  end
53
53
  end
54
+
55
+ # 詰みまで指したか?
56
+ def saigoha_tsumi_p
57
+ if last_action_params
58
+ if last_action_key = last_action_params[:last_action_key]
59
+ if last_action_info = Formatter::LastActionInfo[last_action_key]
60
+ last_action_info.key == :TSUMI
61
+ end
62
+ end
63
+ end
64
+ end
54
65
  end
55
66
  end
56
67
  end