bioshogi 0.0.15 → 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 (506) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.ruby-version +2 -1
  4. data/A/342/206/222B/342/206/222C/345/233/262/343/201/204.txt +1 -0
  5. data/A/342/206/222B/342/206/222C/346/210/246/346/263/225.txt +7 -2
  6. data/Gemfile.lock +57 -47
  7. data/bioshogi.gemspec +3 -1
  8. data/credit.org +0 -1
  9. data/lib/bioshogi/analysis/analyzer.rb +1 -1
  10. data/lib/bioshogi/analysis/analyzer_mod.rb +4 -4
  11. data/lib/bioshogi/analysis/attack_info.rb +231 -230
  12. data/lib/bioshogi/analysis/board_piece_counts_methods.rb +53 -0
  13. data/lib/bioshogi/analysis/board_piller_methods.rb +10 -32
  14. data/lib/bioshogi/analysis/core_soldier_place_methods.rb +58 -0
  15. data/lib/bioshogi/analysis/defense_info.rb +9 -0
  16. data/lib/bioshogi/analysis/frequency.rb +351 -347
  17. data/lib/bioshogi/analysis/note_info.rb +20 -19
  18. data/lib/bioshogi/analysis/player_methods.rb +28 -0
  19. data/lib/bioshogi/analysis/shape_info.rb +40 -6
  20. data/lib/bioshogi/analysis/tactic_hit_turn_table.rb +19 -1
  21. data/lib/bioshogi/analysis/tactic_info.rb +17 -3
  22. data/lib/bioshogi/analysis/technique_info.rb +24 -11
  23. data/lib/bioshogi/analysis/technique_verify_info.rb +179 -6
  24. data/lib/bioshogi/analysis//345/202/231/350/200/203//345/205/250/351/247/222.kif +27 -0
  25. 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
  26. 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
  27. 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 +4 -1
  28. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/200/245/346/210/246.kif +1 -1
  29. data/lib/bioshogi/analysis//345/202/231/350/200/203//346/214/201/344/271/205/346/210/246.kif +4 -1
  30. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/216/211/345/215/230/351/250/216.kif +27 -0
  31. data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/347/251/264/347/206/212.kif +2 -0
  32. data/lib/bioshogi/analysis//345/202/231/350/200/203//350/203/214/346/260/264/343/201/256/351/231/243.kif +4 -1
  33. data/lib/bioshogi/analysis//345/202/231/350/200/203//350/247/222/344/270/215/346/210/220.kif +2 -2
  34. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/203/275/350/251/260/343/202/201.kif +5 -1
  35. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/225/267/346/211/213/346/225/260.kif +13 -2
  36. 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
  37. data/lib/bioshogi/analysis//345/202/231/350/200/203//351/247/222/346/237/261.kif +12 -2
  38. 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
  39. 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 +2 -1
  40. 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
  41. 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
  42. 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 +7 -2
  43. 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 +2 -0
  44. 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
  45. data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/202/277/345/233/262/343/201/204.kif +2 -2
  46. 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
  47. 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
  48. 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
  49. 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 +2 -1
  50. 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 +2 -3
  51. 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 +9 -2
  52. 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
  53. data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/255/344/275/217/343/201/276/343/201/204.kif +2 -1
  54. 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
  55. 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
  56. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/256/265/347/253/257/347/216/211.kif +5 -2
  57. 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
  58. 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 +6 -3
  59. data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/347/216/211.kif +2 -1
  60. 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 +7 -2
  61. 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 +2 -0
  62. 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 +2 -0
  63. 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
  64. 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 +2 -1
  65. 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 +2 -1
  66. 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
  67. data/lib/bioshogi/analysis//345/233/262/343/201/204//346/226/207/351/216/256/345/233/262/343/201/204.kif +1 -1
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/256/261/345/205/245/343/202/212/345/250/230.kif +2 -0
  74. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/264/231/347/251/264/347/206/212.kif +4 -2
  75. data/lib/bioshogi/analysis//345/233/262/343/201/204//347/267/217/347/237/242/345/200/211.kif +7 -2
  76. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/217/212/346/260/264/347/237/242/345/200/211.kif +1 -1
  77. data/lib/bioshogi/analysis//345/233/262/343/201/204//350/243/276/345/233/272/343/202/201.kif +2 -0
  78. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/233/276/345/233/262/343/201/204.kif +2 -0
  79. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/276/216/346/277/203.kif +2 -1
  80. 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
  81. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240.kif +2 -2
  82. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240/347/251/264/347/206/212.kif +2 -0
  83. data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/244/232/344/274/235.kif +8 -1
  84. 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 +4 -1
  85. data/lib/bioshogi/analysis//346/210/246/346/263/225/6/347/255/213/344/275/215/345/217/226/343/202/212.kif +1 -1
  86. data/lib/bioshogi/analysis//346/210/246/346/263/225/GAVA/350/247/222.kif +1 -1
  87. 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 +8 -3
  88. data/lib/bioshogi/analysis//346/210/246/346/263/225/xaby/350/247/222/346/210/246/346/263/225.kif +1 -1
  89. 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
  90. 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
  91. 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 +3 -1
  92. 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 +2 -0
  93. 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 +7 -2
  94. 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 +3 -1
  95. 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 +2 -1
  96. 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 +7 -1
  97. 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 +2 -1
  98. 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
  99. 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 +11 -2
  100. 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
  101. 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 +4 -1
  102. 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 +2 -1
  103. 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 +4 -0
  104. 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 +5 -0
  105. 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 +8 -1
  106. 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 +4 -1
  107. 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 +2 -1
  108. 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 +2 -1
  109. 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 +5 -1
  110. 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 +2 -0
  111. 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 +2 -0
  112. 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
  113. 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
  114. 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 +5 -2
  115. 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 +5 -3
  116. 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 +3 -1
  117. 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
  118. data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/346/256/265/345/217/263/347/216/211.kif +5 -2
  119. 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 +2 -1
  120. 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 +10 -3
  121. 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 +3 -0
  122. 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 +8 -2
  123. 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
  124. 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
  125. 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 +2 -1
  126. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/215/207/347/224/260/345/274/217/347/237/263/347/224/260/346/265/201.kif +19 -70
  127. 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 +3 -1
  128. 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
  129. 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 +2 -1
  130. 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 +5 -2
  131. 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
  132. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/254/211/351/207/216/346/265/201.kif +2 -1
  133. 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 -2
  134. 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 +4 -1
  135. 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 +4 -2
  136. data/lib/bioshogi/analysis//346/210/246/346/263/225//345/261/261/347/224/260/345/256/232/350/267/241.kif +1 -1
  137. 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 +12 -2
  138. 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
  139. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/345/254/211/351/207/216/346/265/201.kif +2 -1
  140. 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 +4 -1
  141. 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
  142. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/347/261/263/351/225/267/347/216/211.kif +3 -0
  143. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/234/250/346/235/221/345/256/232/350/267/241.kif +4 -2
  144. 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 +4 -2
  145. data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/347/216/211.kif +1 -1
  146. 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 +6 -2
  147. 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 +2 -1
  148. 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
  149. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/216/211/351/240/255/351/212/200.kif +4 -2
  150. 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 +2 -2
  151. 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 +3 -1
  152. 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
  153. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/263/347/224/260/346/265/201.kif +135 -55
  154. 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
  155. data/lib/bioshogi/analysis//346/210/246/346/263/225//347/255/213/351/201/225/343/201/204/350/247/222.kif +2 -1
  156. 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 +11 -2
  157. 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 +7 -2
  158. 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 +6 -4
  159. 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
  160. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/204/207/343/202/267/343/202/271/343/203/206/343/203/240.kif +1 -1
  161. 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 +5 -2
  162. 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 +11 -2
  163. 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 +3 -1
  164. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/217/234/343/200/205/346/262/263/346/265/201/342/226/2634/345/233/233/350/247/222.kif +1 -1
  165. 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 +3 -1
  166. 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
  167. data/lib/bioshogi/analysis//346/210/246/346/263/225//350/242/226/351/243/233/350/273/212.kif +7 -2
  168. 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
  169. 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 +2 -1
  170. 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 +8 -3
  171. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/201/240/345/261/261/346/265/201.kif +3 -1
  172. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/207/221/346/262/242/346/265/201.kif +1 -1
  173. 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 +2 -0
  174. 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
  175. 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 +2 -1
  176. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/200/345/210/272/343/201/227.kif +6 -2
  177. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/201/346/234/250/345/217/263/347/216/211.kif +6 -2
  178. data/lib/bioshogi/analysis//346/210/246/346/263/225//351/242/250/350/273/212.kif +4 -1
  179. 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
  180. 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
  181. 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
  182. data/lib/bioshogi/analysis//346/211/213/347/255/213//345/260/273/351/207/221.kif +28 -0
  183. 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
  184. 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
  185. 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
  186. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/202/251/351/207/221.kif +21 -0
  187. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/202/251/351/212/200.kif +21 -0
  188. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/205/271/351/207/221.kif +25 -0
  189. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/205/271/351/212/200.kif +2 -1
  190. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/276/351/207/221.kif +33 -0
  191. data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/276/351/212/200.kif +21 -0
  192. 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
  193. 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
  194. 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
  195. 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
  196. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/240/255/351/207/221.kif +21 -0
  197. data/lib/bioshogi/analysis//346/211/213/347/255/213//351/240/255/351/212/200.kif +21 -0
  198. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_club24.png +0 -0
  199. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_modern.png +0 -0
  200. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_paper.png +0 -0
  201. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_piyo.png +0 -0
  202. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_real.png +0 -0
  203. data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_shape.png +0 -0
  204. data/lib/bioshogi/assets/images/piece/nureyon/BB0.png +0 -0
  205. data/lib/bioshogi/assets/images/piece/nureyon/BB1.png +0 -0
  206. data/lib/bioshogi/assets/images/piece/nureyon/BG0.png +0 -0
  207. data/lib/bioshogi/assets/images/piece/nureyon/BK0.png +0 -0
  208. data/lib/bioshogi/assets/images/piece/nureyon/BL0.png +0 -0
  209. data/lib/bioshogi/assets/images/piece/nureyon/BL1.png +0 -0
  210. data/lib/bioshogi/assets/images/piece/nureyon/BN0.png +0 -0
  211. data/lib/bioshogi/assets/images/piece/nureyon/BN1.png +0 -0
  212. data/lib/bioshogi/assets/images/piece/nureyon/BP0.png +0 -0
  213. data/lib/bioshogi/assets/images/piece/nureyon/BP1.png +0 -0
  214. data/lib/bioshogi/assets/images/piece/nureyon/BR0.png +0 -0
  215. data/lib/bioshogi/assets/images/piece/nureyon/BR1.png +0 -0
  216. data/lib/bioshogi/assets/images/piece/nureyon/BS0.png +0 -0
  217. data/lib/bioshogi/assets/images/piece/nureyon/BS1.png +0 -0
  218. data/lib/bioshogi/assets/images/piece/nureyon/README.org +20 -0
  219. data/lib/bioshogi/assets/images/piece/nureyon/WB0.png +0 -0
  220. data/lib/bioshogi/assets/images/piece/nureyon/WB1.png +0 -0
  221. data/lib/bioshogi/assets/images/piece/nureyon/WG0.png +0 -0
  222. data/lib/bioshogi/assets/images/piece/nureyon/WK0.png +0 -0
  223. data/lib/bioshogi/assets/images/piece/nureyon/WL0.png +0 -0
  224. data/lib/bioshogi/assets/images/piece/nureyon/WL1.png +0 -0
  225. data/lib/bioshogi/assets/images/piece/nureyon/WN0.png +0 -0
  226. data/lib/bioshogi/assets/images/piece/nureyon/WN1.png +0 -0
  227. data/lib/bioshogi/assets/images/piece/nureyon/WP0.png +0 -0
  228. data/lib/bioshogi/assets/images/piece/nureyon/WP1.png +0 -0
  229. data/lib/bioshogi/assets/images/piece/nureyon/WR0.png +0 -0
  230. data/lib/bioshogi/assets/images/piece/nureyon/WR1.png +0 -0
  231. data/lib/bioshogi/assets/images/piece/nureyon/WS0.png +0 -0
  232. data/lib/bioshogi/assets/images/piece/nureyon/WS1.png +0 -0
  233. data/lib/bioshogi/assets/images/piece/nureyon/convert.rb +43 -0
  234. data/lib/bioshogi/assets/images/piece/nureyon/original/BB0.svg +11 -0
  235. data/lib/bioshogi/assets/images/piece/nureyon/original/BB1.svg +11 -0
  236. data/lib/bioshogi/assets/images/piece/nureyon/original/BG0.svg +11 -0
  237. data/lib/bioshogi/assets/images/piece/nureyon/original/BK0.svg +11 -0
  238. data/lib/bioshogi/assets/images/piece/nureyon/original/BL0.svg +11 -0
  239. data/lib/bioshogi/assets/images/piece/nureyon/original/BL1.svg +11 -0
  240. data/lib/bioshogi/assets/images/piece/nureyon/original/BN0.svg +11 -0
  241. data/lib/bioshogi/assets/images/piece/nureyon/original/BN1.svg +11 -0
  242. data/lib/bioshogi/assets/images/piece/nureyon/original/BP0.svg +11 -0
  243. data/lib/bioshogi/assets/images/piece/nureyon/original/BP1.svg +11 -0
  244. data/lib/bioshogi/assets/images/piece/nureyon/original/BR0.svg +11 -0
  245. data/lib/bioshogi/assets/images/piece/nureyon/original/BR1.svg +11 -0
  246. data/lib/bioshogi/assets/images/piece/nureyon/original/BS0.svg +11 -0
  247. data/lib/bioshogi/assets/images/piece/nureyon/original/BS1.svg +11 -0
  248. data/lib/bioshogi/assets/images/piece/nureyon/original/BX0.svg +12 -0
  249. data/lib/bioshogi/assets/images/piece/nureyon/original/README.org +5 -0
  250. data/lib/bioshogi/assets/images/piece/nureyon/original/convert.sh +15 -0
  251. data/lib/bioshogi/assets/images/piece/nureyon/original/style.rb +26 -0
  252. data/lib/bioshogi/assets/images/piece/portella/BB0.png +0 -0
  253. data/lib/bioshogi/assets/images/piece/portella/BB1.png +0 -0
  254. data/lib/bioshogi/assets/images/piece/portella/BG0.png +0 -0
  255. data/lib/bioshogi/assets/images/piece/portella/BK0.png +0 -0
  256. data/lib/bioshogi/assets/images/piece/portella/BL0.png +0 -0
  257. data/lib/bioshogi/assets/images/piece/portella/BL1.png +0 -0
  258. data/lib/bioshogi/assets/images/piece/portella/BN0.png +0 -0
  259. data/lib/bioshogi/assets/images/piece/portella/BN1.png +0 -0
  260. data/lib/bioshogi/assets/images/piece/portella/BP0.png +0 -0
  261. data/lib/bioshogi/assets/images/piece/portella/BP1.png +0 -0
  262. data/lib/bioshogi/assets/images/piece/portella/BR0.png +0 -0
  263. data/lib/bioshogi/assets/images/piece/portella/BR1.png +0 -0
  264. data/lib/bioshogi/assets/images/piece/portella/BS0.png +0 -0
  265. data/lib/bioshogi/assets/images/piece/portella/BS1.png +0 -0
  266. data/lib/bioshogi/assets/images/piece/portella/WB0.png +0 -0
  267. data/lib/bioshogi/assets/images/piece/portella/WB1.png +0 -0
  268. data/lib/bioshogi/assets/images/piece/portella/WG0.png +0 -0
  269. data/lib/bioshogi/assets/images/piece/portella/WK0.png +0 -0
  270. data/lib/bioshogi/assets/images/piece/portella/WL0.png +0 -0
  271. data/lib/bioshogi/assets/images/piece/portella/WL1.png +0 -0
  272. data/lib/bioshogi/assets/images/piece/portella/WN0.png +0 -0
  273. data/lib/bioshogi/assets/images/piece/portella/WN1.png +0 -0
  274. data/lib/bioshogi/assets/images/piece/portella/WP0.png +0 -0
  275. data/lib/bioshogi/assets/images/piece/portella/WP1.png +0 -0
  276. data/lib/bioshogi/assets/images/piece/portella/WR0.png +0 -0
  277. data/lib/bioshogi/assets/images/piece/portella/WR1.png +0 -0
  278. data/lib/bioshogi/assets/images/piece/portella/WS0.png +0 -0
  279. data/lib/bioshogi/assets/images/piece/portella/WS1.png +0 -0
  280. data/lib/bioshogi/assets/images/piece/portella/convert.rb +89 -0
  281. data/lib/bioshogi/board/basic.rb +2 -1
  282. data/lib/bioshogi/container/core_methods.rb +4 -4
  283. data/lib/bioshogi/counter_hash.rb +34 -0
  284. data/lib/bioshogi/extreme_validator.rb +1 -1
  285. data/lib/bioshogi/formatter/animation/animation_mp4_builder.rb +17 -14
  286. data/lib/bioshogi/formatter/animation/ffmpeg_support.rb +14 -1
  287. data/lib/bioshogi/formatter/core.rb +9 -9
  288. data/lib/bioshogi/formatter/skill_embed.rb +45 -16
  289. data/lib/bioshogi/formatter/sugatayaki_validator.rb +1 -1
  290. data/lib/bioshogi/official_formatter.rb +1 -1
  291. data/lib/bioshogi/parser/base.rb +4 -4
  292. data/lib/bioshogi/parser/pi.rb +11 -0
  293. data/lib/bioshogi/piece.rb +16 -8
  294. data/lib/bioshogi/piller_cop.rb +47 -0
  295. data/lib/bioshogi/place.rb +4 -0
  296. data/lib/bioshogi/player/other_methods.rb +16 -33
  297. data/lib/bioshogi/player/piece_box_methods.rb +1 -1
  298. data/lib/bioshogi/player/soldier_methods.rb +10 -4
  299. data/lib/bioshogi/player.rb +1 -0
  300. data/lib/bioshogi/player_executor/base.rb +3 -2
  301. data/lib/bioshogi/screen_image/color_theme_info.rb +22 -7
  302. data/lib/bioshogi/screen_image/core_methods.rb +36 -22
  303. data/lib/bioshogi/screen_image/helper.rb +2 -2
  304. data/lib/bioshogi/screen_image/layer_methods.rb +6 -3
  305. data/lib/bioshogi/screen_image/nureyon_image_info.rb +43 -0
  306. data/lib/bioshogi/screen_image/piece_image_info.rb +26 -0
  307. data/lib/bioshogi/screen_image/soldier_methods.rb +15 -13
  308. data/lib/bioshogi/screen_image/soldier_model_methods.rb +14 -0
  309. data/lib/bioshogi/screen_image/stand.rb +5 -2
  310. data/lib/bioshogi/soldier/technique_matcher_methods.rb +6 -0
  311. data/lib/bioshogi/soldier.rb +1 -0
  312. data/lib/bioshogi/version.rb +1 -1
  313. data/lib/bioshogi.rb +2 -1
  314. metadata +167 -201
  315. data/lib/bioshogi/assets/audios/any.band/Alternatives/000/DisplayState.plist +0 -0
  316. data/lib/bioshogi/assets/audios/any.band/Alternatives/000/DisplayStateArchive +0 -0
  317. data/lib/bioshogi/assets/audios/any.band/Alternatives/000/MetaData.plist +0 -0
  318. data/lib/bioshogi/assets/audios/any.band/Alternatives/000/ProjectData +0 -0
  319. data/lib/bioshogi/assets/audios/any.band/Alternatives/000/WindowImage.jpg +0 -0
  320. data/lib/bioshogi/assets/audios/any.band/Media/Audio Files/Strategy.caf +0 -0
  321. data/lib/bioshogi/assets/audios/any.band/Resources/ProjectInformation.plist +0 -0
  322. data/lib/bioshogi/assets/audios/any.band/projectData +0 -3183
  323. data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/DisplayState.plist +0 -0
  324. data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/DisplayStateArchive +0 -0
  325. data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/MetaData.plist +0 -0
  326. data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/ProjectData +0 -0
  327. data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/WindowImage.jpg +0 -0
  328. data/lib/bioshogi/assets/audios/breakbeat_long.band/Resources/ProjectInformation.plist +0 -0
  329. data/lib/bioshogi/assets/audios/breakbeat_long.band/projectData +0 -3183
  330. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/DisplayState.plist +0 -0
  331. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/DisplayStateArchive +0 -0
  332. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/MetaData.plist +0 -0
  333. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/ProjectData +0 -0
  334. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/WindowImage.jpg +0 -0
  335. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Media/Audio Files/Strategy.caf +0 -0
  336. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Resources/ProjectInformation.plist +0 -0
  337. data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/projectData +0 -3183
  338. data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/DisplayState.plist +0 -0
  339. data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/DisplayStateArchive +0 -0
  340. data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/MetaData.plist +0 -0
  341. data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/ProjectData +0 -0
  342. data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/WindowImage.jpg +0 -0
  343. data/lib/bioshogi/assets/audios/china_like.band/Resources/ProjectInformation.plist +0 -0
  344. data/lib/bioshogi/assets/audios/china_like.band/projectData +0 -3183
  345. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/DisplayState.plist +0 -0
  346. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/DisplayStateArchive +0 -0
  347. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/MetaData.plist +0 -0
  348. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/ProjectData +0 -0
  349. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/WindowImage.jpg +0 -0
  350. data/lib/bioshogi/assets/audios/digit_blast_layers.band/Resources/ProjectInformation.plist +0 -0
  351. data/lib/bioshogi/assets/audios/digit_blast_layers.band/projectData +0 -3183
  352. data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/DisplayState.plist +0 -0
  353. data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/DisplayStateArchive +0 -0
  354. data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/MetaData.plist +0 -0
  355. data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/ProjectData +0 -0
  356. data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/WindowImage.jpg +0 -0
  357. data/lib/bioshogi/assets/audios/foo.band/Media/Audio Files/Strategy.caf +0 -0
  358. data/lib/bioshogi/assets/audios/foo.band/Resources/ProjectInformation.plist +0 -0
  359. data/lib/bioshogi/assets/audios/foo.band/projectData +0 -3183
  360. data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/DisplayState.plist +0 -0
  361. data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/DisplayStateArchive +0 -0
  362. data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/MetaData.plist +0 -0
  363. data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/ProjectData +0 -0
  364. data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/WindowImage.jpg +0 -0
  365. data/lib/bioshogi/assets/audios/headspin_long.band/Resources/ProjectInformation.plist +0 -0
  366. data/lib/bioshogi/assets/audios/headspin_long.band/projectData +0 -3183
  367. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/DisplayState.plist +0 -0
  368. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/DisplayStateArchive +0 -0
  369. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/MetaData.plist +0 -0
  370. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/ProjectData +0 -0
  371. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/WindowImage.jpg +0 -0
  372. data/lib/bioshogi/assets/audios/loop_bgm_i.band/Resources/ProjectInformation.plist +0 -0
  373. data/lib/bioshogi/assets/audios/loop_bgm_i.band/projectData +0 -3183
  374. data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/DisplayState.plist +0 -0
  375. data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/DisplayStateArchive +0 -0
  376. data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/MetaData.plist +0 -0
  377. data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/ProjectData +0 -0
  378. data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/WindowImage.jpg +0 -0
  379. data/lib/bioshogi/assets/audios/mastermind.band/Resources/ProjectInformation.plist +0 -0
  380. data/lib/bioshogi/assets/audios/mastermind.band/projectData +0 -3183
  381. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/.dummy +0 -0
  382. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/2021-08-19 05:25:23Z.displayData +0 -0
  383. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/2021-08-19 05:25:23Z.eventData +0 -0
  384. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/2021-08-19 05:25:23Z.songData +0 -0
  385. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/DisplayState.plist +0 -0
  386. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/DisplayStateArchive +0 -0
  387. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/MetaData.plist +0 -0
  388. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/ProjectData +0 -0
  389. data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/WindowImage.jpg +0 -0
  390. data/lib/bioshogi/assets/audios/positive_think.band/Resources/ProjectInformation.plist +0 -0
  391. data/lib/bioshogi/assets/audios/positive_think.band/projectData +0 -3183
  392. data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/DisplayState.plist +0 -0
  393. data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/DisplayStateArchive +0 -0
  394. data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/MetaData.plist +0 -0
  395. data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/ProjectData +0 -0
  396. data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/WindowImage.jpg +0 -0
  397. data/lib/bioshogi/assets/audios/stg_like_type1.band/Resources/ProjectInformation.plist +0 -0
  398. data/lib/bioshogi/assets/audios/stg_like_type1.band/projectData +0 -3183
  399. data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/DisplayState.plist +0 -0
  400. data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/DisplayStateArchive +0 -0
  401. data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/MetaData.plist +0 -0
  402. data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/ProjectData +0 -0
  403. data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/WindowImage.jpg +0 -0
  404. data/lib/bioshogi/assets/audios/strategy.band/Media/Audio Files/Strategy.caf +0 -0
  405. data/lib/bioshogi/assets/audios/strategy.band/Resources/ProjectInformation.plist +0 -0
  406. data/lib/bioshogi/assets/audios/strategy.band/projectData +0 -3183
  407. data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/DisplayState.plist +0 -0
  408. data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/DisplayStateArchive +0 -0
  409. data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/MetaData.plist +0 -0
  410. data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/ProjectData +0 -0
  411. data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/WindowImage.jpg +0 -0
  412. data/lib/bioshogi/assets/audios/test1.band/Resources/ProjectInformation.plist +0 -0
  413. data/lib/bioshogi/assets/audios/test1.band/projectData +0 -3183
  414. data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/DisplayState.plist +0 -0
  415. data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/DisplayStateArchive +0 -0
  416. data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/MetaData.plist +0 -0
  417. data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/ProjectData +0 -0
  418. data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/WindowImage.jpg +0 -0
  419. data/lib/bioshogi/assets/audios/test2.band/Resources/ProjectInformation.plist +0 -0
  420. data/lib/bioshogi/assets/audios/test2.band/projectData +0 -3183
  421. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Black.ttf +0 -0
  422. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Bold.ttf +0 -0
  423. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-ExtraBold.ttf +0 -0
  424. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Light.ttf +0 -0
  425. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Medium.ttf +0 -0
  426. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Regular.ttf +0 -0
  427. data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Thin.ttf +0 -0
  428. data/lib/bioshogi/assets/fonts/NewTegomin-Regular.ttf +0 -0
  429. data/lib/bioshogi/assets/fonts/NotoSansJP-Black.otf +0 -0
  430. data/lib/bioshogi/assets/fonts/NotoSansJP-Bold.otf +0 -0
  431. data/lib/bioshogi/assets/fonts/NotoSansJP-Light.otf +0 -0
  432. data/lib/bioshogi/assets/fonts/NotoSansJP-Medium.otf +0 -0
  433. data/lib/bioshogi/assets/fonts/NotoSansJP-Regular.otf +0 -0
  434. data/lib/bioshogi/assets/fonts/NotoSansJP-Thin.otf +0 -0
  435. data/lib/bioshogi/assets/fonts/NotoSerifJP-Black.otf +0 -0
  436. data/lib/bioshogi/assets/fonts/NotoSerifJP-Bold.otf +0 -0
  437. data/lib/bioshogi/assets/fonts/NotoSerifJP-ExtraLight.otf +0 -0
  438. data/lib/bioshogi/assets/fonts/NotoSerifJP-Light.otf +0 -0
  439. data/lib/bioshogi/assets/fonts/NotoSerifJP-Medium.otf +0 -0
  440. data/lib/bioshogi/assets/fonts/NotoSerifJP-Regular.otf +0 -0
  441. data/lib/bioshogi/assets/fonts/NotoSerifJP-SemiBold.otf +0 -0
  442. data/lib/bioshogi/assets/fonts/YuseiMagic-Regular.ttf +0 -0
  443. data/lib/bioshogi/assets/images/piece/Portella/BB0.png +0 -0
  444. data/lib/bioshogi/assets/images/piece/Portella/BB1.png +0 -0
  445. data/lib/bioshogi/assets/images/piece/Portella/BG0.png +0 -0
  446. data/lib/bioshogi/assets/images/piece/Portella/BK0.png +0 -0
  447. data/lib/bioshogi/assets/images/piece/Portella/BL0.png +0 -0
  448. data/lib/bioshogi/assets/images/piece/Portella/BL1.png +0 -0
  449. data/lib/bioshogi/assets/images/piece/Portella/BN0.png +0 -0
  450. data/lib/bioshogi/assets/images/piece/Portella/BN1.png +0 -0
  451. data/lib/bioshogi/assets/images/piece/Portella/BP0.png +0 -0
  452. data/lib/bioshogi/assets/images/piece/Portella/BP1.png +0 -0
  453. data/lib/bioshogi/assets/images/piece/Portella/BR0.png +0 -0
  454. data/lib/bioshogi/assets/images/piece/Portella/BR1.png +0 -0
  455. data/lib/bioshogi/assets/images/piece/Portella/BS0.png +0 -0
  456. data/lib/bioshogi/assets/images/piece/Portella/BS1.png +0 -0
  457. data/lib/bioshogi/assets/images/piece/Portella/BX0.png +0 -0
  458. data/lib/bioshogi/assets/images/piece/Portella/WB0.png +0 -0
  459. data/lib/bioshogi/assets/images/piece/Portella/WB1.png +0 -0
  460. data/lib/bioshogi/assets/images/piece/Portella/WG0.png +0 -0
  461. data/lib/bioshogi/assets/images/piece/Portella/WK0.png +0 -0
  462. data/lib/bioshogi/assets/images/piece/Portella/WL0.png +0 -0
  463. data/lib/bioshogi/assets/images/piece/Portella/WL1.png +0 -0
  464. data/lib/bioshogi/assets/images/piece/Portella/WN0.png +0 -0
  465. data/lib/bioshogi/assets/images/piece/Portella/WN1.png +0 -0
  466. data/lib/bioshogi/assets/images/piece/Portella/WP0.png +0 -0
  467. data/lib/bioshogi/assets/images/piece/Portella/WP1.png +0 -0
  468. data/lib/bioshogi/assets/images/piece/Portella/WR0.png +0 -0
  469. data/lib/bioshogi/assets/images/piece/Portella/WR1.png +0 -0
  470. data/lib/bioshogi/assets/images/piece/Portella/WS0.png +0 -0
  471. data/lib/bioshogi/assets/images/piece/Portella/WS1.png +0 -0
  472. data/lib/bioshogi/assets/images/piece/Portella/WX0.png +0 -0
  473. data/lib/bioshogi/assets/images/piece/Portella/convert.sh +0 -32
  474. data/lib/bioshogi/board/piece_counts_methods.rb +0 -43
  475. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/README.org +0 -0
  476. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0FU.png +0 -0
  477. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0GI.png +0 -0
  478. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0GY.png +0 -0
  479. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0HI.png +0 -0
  480. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KA.png +0 -0
  481. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KE.png +0 -0
  482. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KI.png +0 -0
  483. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KI.svg +0 -0
  484. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KY.png +0 -0
  485. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0NG.png +0 -0
  486. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0NK.png +0 -0
  487. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0NY.png +0 -0
  488. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0OU.png +0 -0
  489. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0RY.png +0 -0
  490. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0TO.png +0 -0
  491. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0UM.png +0 -0
  492. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1FU.png +0 -0
  493. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1GI.png +0 -0
  494. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1GY.png +0 -0
  495. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1HI.png +0 -0
  496. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KA.png +0 -0
  497. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KE.png +0 -0
  498. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KI.png +0 -0
  499. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KY.png +0 -0
  500. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1NG.png +0 -0
  501. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1NK.png +0 -0
  502. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1NY.png +0 -0
  503. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1OU.png +0 -0
  504. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1RY.png +0 -0
  505. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1TO.png +0 -0
  506. /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1UM.png +0 -0
@@ -3,12 +3,18 @@
3
3
  module Bioshogi
4
4
  class Player
5
5
  module SoldierMethods
6
- def soldiers
7
- board.surface.values.find_all { |e| e.location == location }
6
+ def core_soldier(piece_key)
7
+ board.core_soldier_places_hash.dig(location.key, piece_key)
8
8
  end
9
9
 
10
10
  def king_soldier
11
- soldiers.find { |e| e.piece.key == :king }
11
+ core_soldier(:king)
12
+ end
13
+
14
+ ################################################################################
15
+
16
+ def soldiers
17
+ board.surface.values.find_all { |e| e.location == location }
12
18
  end
13
19
 
14
20
  def to_s_soldiers
@@ -27,7 +33,7 @@ module Bioshogi
27
33
  end
28
34
  end
29
35
 
30
- # 玉を除く駒が10毎以上相手陣に入っているか?
36
+ # 玉を除く駒が10枚以上相手陣に入っているか?
31
37
  def many_soliders_are_in_the_opponent_area?
32
38
  entered_soldiers.count >= Piece::EkScoreInfo::N_SOLIDIERS_IN_OPPONENT_AREA_WITHOUT_KING
33
39
  end
@@ -6,6 +6,7 @@ module Bioshogi
6
6
  include PieceBoxMethods
7
7
  include SoldierMethods
8
8
  include OtherMethods
9
+ include Analysis::PlayerMethods
9
10
  include PressureMethods
10
11
 
11
12
  attr_reader :location
@@ -29,7 +29,7 @@ module Bioshogi
29
29
  end
30
30
 
31
31
  def perform_validations
32
- unless container.params[:validate_enable]
32
+ unless container.params[:validate_feature]
33
33
  return
34
34
  end
35
35
 
@@ -48,12 +48,13 @@ module Bioshogi
48
48
  @drop_hand = input.drop_hand
49
49
  @move_hand = input.move_hand
50
50
  @candidate_soldiers = nil
51
- if container.params[:candidate_enable]
51
+ if container.params[:ki2_function]
52
52
  @candidate_soldiers = input.candidate_soldiers
53
53
  end
54
54
 
55
55
  hand.execute(container)
56
56
  execute_after_process
57
+
57
58
  if captured_soldier
58
59
  piece_box_added(captured_soldier)
59
60
  end
@@ -5,11 +5,12 @@ module Bioshogi
5
5
  class ColorThemeInfo
6
6
  include ApplicationMemoryRecord
7
7
  memory_record [
8
- { key: :is_color_theme_real, },
9
- { key: :is_color_theme_piyo, },
10
- { key: :is_color_theme_paper, },
11
- { key: :is_color_theme_shape, },
12
- { key: :is_color_theme_club24, },
8
+ { key: :is_color_theme_modern, },
9
+ { key: :is_color_theme_real, },
10
+ { key: :is_color_theme_piyo, },
11
+ { key: :is_color_theme_paper, },
12
+ { key: :is_color_theme_shape, },
13
+ { key: :is_color_theme_club24, },
13
14
  ]
14
15
 
15
16
  ################################################################################
@@ -22,11 +23,13 @@ module Bioshogi
22
23
  options = {
23
24
  verbose: false,
24
25
  }.merge(options)
26
+
25
27
  parser = Parser.parse(SFEN1)
26
28
  file = ASSETS_DIR.join("images/color_theme_preview/#{key}.png")
27
29
  bin = parser.to_png(color_theme_key: key, width: 1920, height: 1080)
28
30
  FileUtils.makedirs(file.dirname)
29
31
  file.write(bin)
32
+
30
33
  if options[:verbose]
31
34
  puts file
32
35
  end
@@ -34,11 +37,22 @@ module Bioshogi
34
37
 
35
38
  ################################################################################
36
39
 
40
+ def is_color_theme_modern
41
+ {
42
+ **piece_count_on_shadow_black_on_white,
43
+ **outer_frame_padding_enabled,
44
+ **shadow_disabled,
45
+ :canvas_bg_color => "hsl(0,0%,30%)", # 背景
46
+ :outer_frame_fill_color => "hsl(36.23,75.36%,58.63%)", # 盤の色
47
+ :piece_image_key => "nureyon",
48
+ }
49
+ end
50
+
37
51
  def is_color_theme_real
38
52
  is_color_theme_shogi_extend.merge({
39
53
  :fg_file => ASSETS_DIR.join("images/board/board_a.png"),
40
54
  :bg_file => ASSETS_DIR.join("images/background/background_a.png"),
41
- :piece_image_key => "Portella",
55
+ :piece_image_key => "Portella",
42
56
  })
43
57
  end
44
58
 
@@ -70,7 +84,7 @@ module Bioshogi
70
84
 
71
85
  def is_color_theme_piyo
72
86
  is_color_theme_shogi_extend.merge({
73
- :canvas_bg_color => "hsl(35,100% 85%)", # 背景
87
+ :canvas_bg_color => "hsl(35,100%,85%)", # 背景
74
88
  :outer_frame_fill_color => "hsl(37,73%,68%)", # 盤の色
75
89
  :piece_pentagon_fill_color => "hsl(52,76%,87%)", # ☗の色
76
90
  :piece_pentagon_stroke_color => "hsl(36,78%,50%)", # ☗の縁取り色
@@ -118,6 +132,7 @@ module Bioshogi
118
132
  {
119
133
  :piece_count_bg_scale => 0.3, # 駒数の背景の大きさ
120
134
  :piece_count_font_scale => 0.25, # 持駒数の大きさ
135
+ :piece_count_bold => true, # 太字にする
121
136
  :piece_count_position_adjust => { # 駒数の位置
122
137
  :single => [0.7, 0.08], # 駒数1桁のとき。[0, 0] なら該当の駒の中央
123
138
  :double => [0.7, 0.08], # 駒数2桁のとき
@@ -25,15 +25,16 @@ module Bioshogi
25
25
  :black => [0.0425, 0.07],
26
26
  :white => [0.0, 0.01],
27
27
  },
28
+
28
29
  # 盤
29
- :canvas_bg_color => "hsla(0,0%,100%,1.0)", # 部屋の色(必須)
30
- :piece_font_color => "hsla(0,0%,0%,0.8)", # 駒の色(必須)
31
- :lattice_stroke_width => 1, # 格子の線の太さ
32
- :inner_frame_stroke_width => 2, # 枠の線お太さ(nil なら lattice_stroke_width を代用)
33
- :inner_frame_fill_color => nil, # 基本透明とする(基本指定なしでよい)
30
+ :canvas_bg_color => "hsla(0,0%,100%,1.0)", # 部屋の色(必須)
31
+ :piece_font_color => "hsla(0,0%,0%,0.8)", # 駒の色(必須)
32
+ :lattice_stroke_width => 1, # 格子の線の太さ
33
+ :inner_frame_stroke_width => 2, # 枠の線お太さ(nil なら lattice_stroke_width を代用)
34
+ :inner_frame_fill_color => nil, # 基本透明とする(基本指定なしでよい)
34
35
  :dimension_w => Dimension::Column.dimension_size, # 横のセル数
35
- :dimension_h => Dimension::Row.dimension_size, # 縦のセル数
36
- :fg_file => nil, # 盤テクスチャ
36
+ :dimension_h => Dimension::Row.dimension_size, # 縦のセル数
37
+ :fg_file => nil, # 盤テクスチャ
37
38
 
38
39
  # optional
39
40
  :last_soldier_font_color => nil, # *最後に動いた駒の色。基本指定しない。(nilなら piece_font_color を代用)
@@ -52,29 +53,30 @@ module Bioshogi
52
53
  :piece_move_cell_fill_color => "hsla(0,0%,0%,0.05)", # 移動元と移動先のセルの背景色(nilなら描画しない)
53
54
  :normal_piece_color_map => {}, # 成ってない駒それぞれの色(nilなら piece_font_color を代用)
54
55
 
55
- # font
56
- :font_theme_key => nil, # フォントの種類 noto_seif
56
+ # フォント駒
57
+ :font_theme_key => nil, # フォントの種類 noto_seif
57
58
  :font_regular => ASSETS_DIR.join("fonts/RictyDiminished-Regular.ttf"), # 駒のフォント(普通)
58
59
  :font_bold => ASSETS_DIR.join("fonts/RictyDiminished-Bold.ttf"), # 駒のフォント(太字) (shogi-extendから直接参照しているためnilにしてはいけない)
59
- :soldier_font_bold => false, # 太字を使うか?
60
- :piece_font_weight_key => :is_piece_font_weight_auto, # 太字はおまかせ (つまり何もしない。nil でもよい)
60
+ :soldier_font_bold => false, # 太字を使うか?
61
+ :piece_font_weight_key => :is_piece_font_weight_auto, # 太字はおまかせ (つまり何もしない。nil でもよい)
61
62
 
62
- #
63
- :piece_image_key => nil, # リアルな駒を使うか?
63
+ # 画像駒
64
+ :piece_image_key => nil, # どの画像駒を使うか? (nil なら使わない)
65
+ :piece_image_scale => nil, # 画像駒の大きさ (nil なら PieceImageInfo の default_scale を使う)
64
66
 
65
67
  # other
66
- :viewpoint => "black", # 視点
67
- :image_format => "png", # 出力する画像タイプ
68
- :negate => false, # 反転
69
- :bg_file => nil, # 背景ファイル
68
+ :viewpoint => "black", # 視点
69
+ :image_format => "png", # 出力する画像タイプ
70
+ :negate => false, # 反転
71
+ :bg_file => nil, # 背景ファイル
70
72
 
71
73
  # star
72
- :star_size => 0.03, # 星のサイズ(割合)
73
- :star_fill_color => nil, # *星の色(nilなら inner_frame_lattice_color を代用)
74
- :star_step => 3, # 星はnセルごとに書く
74
+ :star_size => 0.03, # 星のサイズ(割合)
75
+ :star_fill_color => nil, # *星の色(nilなら inner_frame_lattice_color を代用)
76
+ :star_step => 3, # 星はnセルごとに書く
75
77
 
76
- :color_theme_key => "is_color_theme_real", # 色テーマ
77
- :renderer_override_params => {}, # 色テーマを上書きするパラメータ
78
+ :color_theme_key => "is_color_theme_modern", # 色テーマ
79
+ :renderer_override_params => {}, # 色テーマを上書きするパラメータ
78
80
  })
79
81
  end
80
82
  end
@@ -91,6 +93,12 @@ module Bioshogi
91
93
  @container = container
92
94
  @params = self.class.default_params.merge(params)
93
95
 
96
+ # 一つ一つのパラメータを設定するのは大変である
97
+ # そこで以下を設定するとまとまったパラメータを一気に設定する
98
+ # - color_theme_key
99
+ # - font_theme_key
100
+ # - piece_font_weight_key
101
+
94
102
  if e = ColorThemeInfo.lookup(@params[:color_theme_key])
95
103
  @params.update(e.to_params)
96
104
  end
@@ -103,6 +111,7 @@ module Bioshogi
103
111
  @params.update(e.to_params)
104
112
  end
105
113
 
114
+ # 最終的に調整したいときは renderer_override_params に指定するとすべてを上書きできる
106
115
  if v = @params[:renderer_override_params]
107
116
  @params.update(v)
108
117
  end
@@ -332,6 +341,11 @@ module Bioshogi
332
341
  def outer_rect
333
342
  outer_bottom_right - outer_top_left
334
343
  end
344
+
345
+ # portella, nureyon などの情報
346
+ def piece_image_info
347
+ @piece_image_info ||= PieceImageInfo.lookup(params[:piece_image_key])
348
+ end
335
349
  end
336
350
  end
337
351
  end
@@ -29,7 +29,7 @@ module Bioshogi
29
29
 
30
30
  # いったんファイル出力してから戻している時点で相当無駄があるが apng や mp4 の場合でも失敗しない
31
31
  def to_write_binary
32
- Tempfile.open(["", ".#{ext_name}"]) do |t|
32
+ Tempfile.create(["", ".#{ext_name}"]) do |t|
33
33
  render.write(t.path)
34
34
  File.binread(t.path)
35
35
  end
@@ -37,7 +37,7 @@ module Bioshogi
37
37
 
38
38
  # PNG24 を強制する (for zip)
39
39
  def to_png24_binary
40
- Tempfile.open(["", ".png"]) do |t|
40
+ Tempfile.create(["", ".png"]) do |t|
41
41
  render.write("PNG24:#{t.path}")
42
42
  File.binread(t.path)
43
43
  end
@@ -51,11 +51,14 @@ module Bioshogi
51
51
 
52
52
  # フォントでの駒のときだけ駒レイヤーに影をつける
53
53
  def with_shadow_only_font_pice(layer)
54
- if params[:piece_image_key]
55
- layer
54
+ if piece_image_info
55
+ if piece_image_info.custom_shadow_support
56
+ layer = with_shadow(layer)
57
+ end
56
58
  else
57
- with_shadow(layer)
59
+ layer = with_shadow(layer)
58
60
  end
61
+ layer
59
62
  end
60
63
 
61
64
  # 指定のレイヤーに影をつける
@@ -0,0 +1,43 @@
1
+ module Bioshogi
2
+ module ScreenImage
3
+ class NureyonImageInfo
4
+ # include ApplicationMemoryRecord
5
+ # memory_record [
6
+ # # black
7
+ # { key: "BK0", real_texture: nil, }, # 玉
8
+ # { key: "BR0", real_texture: nil, }, # 飛
9
+ # { key: "BR1", real_texture: nil, }, # 龍
10
+ # { key: "BB0", real_texture: nil, }, # 角
11
+ # { key: "BB1", real_texture: nil, }, # 馬
12
+ # { key: "BG0", real_texture: nil, }, # 金
13
+ # { key: "BS0", real_texture: nil, }, # 銀
14
+ # { key: "BS1", real_texture: nil, }, # 成銀
15
+ # { key: "BN0", real_texture: nil, }, # 桂
16
+ # { key: "BN1", real_texture: nil, }, # 成桂
17
+ # { key: "BL0", real_texture: nil, }, # 香
18
+ # { key: "BL1", real_texture: nil, }, # 成香
19
+ # { key: "BP0", real_texture: nil, }, # 歩
20
+ # { key: "BP1", real_texture: nil, }, # と
21
+ # # white nil,
22
+ # { key: "WK0", real_texture: "BK0", }, # 王
23
+ # { key: "WR0", real_texture: "BR0", }, # 飛
24
+ # { key: "WR1", real_texture: "BR1", }, # 龍
25
+ # { key: "WB0", real_texture: "BB0", }, # 角
26
+ # { key: "WB1", real_texture: "BB1", }, # 馬
27
+ # { key: "WG0", real_texture: "BG0", }, # 金
28
+ # { key: "WS0", real_texture: "BS0", }, # 銀
29
+ # { key: "WS1", real_texture: "BS1", }, # 成銀
30
+ # { key: "WN0", real_texture: "BN0", }, # 桂
31
+ # { key: "WN1", real_texture: "BN1", }, # 成桂
32
+ # { key: "WL0", real_texture: "BL0", }, # 香
33
+ # { key: "WL1", real_texture: "BL1", }, # 成香
34
+ # { key: "WP0", real_texture: "BP0", }, # 歩
35
+ # { key: "WP1", real_texture: "BP1", }, # と
36
+ # ]
37
+ #
38
+ # def texture_key
39
+ # real_texture || key
40
+ # end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,26 @@
1
+ module Bioshogi
2
+ module ScreenImage
3
+ class PieceImageInfo
4
+ include ApplicationMemoryRecord
5
+ memory_record [
6
+ { key: :portella, name: "Portella", ext_name: "png", default_scale: 0.95, custom_shadow_support: false, },
7
+ { key: :nureyon, name: "ぬれよん", ext_name: "png", default_scale: 0.80, custom_shadow_support: true, },
8
+ ]
9
+
10
+ class << self
11
+ def lookup(v)
12
+ if v
13
+ v = v.downcase
14
+ super
15
+ end
16
+ end
17
+ end
18
+
19
+ # 駒の種類をプレフィクスにした駒の部分パスを返す
20
+ # "nureyon/BP0"
21
+ def piece_path(soldier)
22
+ "#{key}/#{soldier.image_basename}"
23
+ end
24
+ end
25
+ end
26
+ end
@@ -6,7 +6,7 @@ module Bioshogi
6
6
  end
7
7
 
8
8
  def soldier_draw(soldier)
9
- if params[:piece_image_key]
9
+ if piece_image_info
10
10
  soldier_draw_by_image(soldier)
11
11
  else
12
12
  soldier_draw_by_char(soldier)
@@ -43,22 +43,24 @@ module Bioshogi
43
43
 
44
44
  def soldier_draw_by_image(soldier)
45
45
  v = V[*soldier.place.to_xy]
46
- piece_image_draw(v: v, location: soldier.location, piece: soldier.piece, promoted: soldier.promoted)
46
+ piece_image_draw(v: v, soldier: soldier)
47
47
  end
48
48
 
49
- def piece_image_draw(v:, location:, piece:, promoted: false)
50
- type = params[:piece_image_key]
51
- key = [location.to_sfen, piece.sfen_char, promoted ? "1" : "0"].join.upcase
52
- type_with_key = "#{type}/#{key}"
53
- wh = cell_rect.collect(&:ceil)
54
- cache_key = [type_with_key, wh].join("/")
49
+ def piece_image_draw(v:, soldier:)
50
+ piece_path = piece_image_info.piece_path(soldier)
51
+ scale = params[:piece_image_scale] || piece_image_info.default_scale
52
+ wh = (cell_rect * scale).collect(&:ceil) # => [105, 114]
53
+ cache_key = [piece_path, wh.join("x")].join(",") # => "nureyon/BP0,105x114"
54
+
55
55
  @piece_image_draw ||= {}
56
56
  image = @piece_image_draw[cache_key] ||= yield_self do
57
- png_path = ASSETS_DIR.join("images/piece/#{type_with_key}.png")
58
- image = Magick::Image.read(png_path).first
59
- image.resize_to_fill(*wh)
57
+ full_path = ASSETS_DIR.join("images/piece/#{piece_path}.#{piece_image_info.ext_name}")
58
+ image = Magick::Image.read(full_path).first
59
+ image.resize_to_fill(*wh) # 描画領域の大きさに調整(縮小)させる
60
60
  end
61
- @d_piece_layer.composite!(image, *px(v), Magick::OverCompositeOp)
61
+
62
+ top_left = V.one * (1.0 - scale) / 2 # スケールが 0.8 なら左上から右下方向に 0.1 の位置から描画すればセルの真ん中に配置できる
63
+ @d_piece_layer.composite!(image, *px(v + top_left), Magick::OverCompositeOp)
62
64
  end
63
65
 
64
66
  def soldier_move_cell_draw
@@ -101,7 +103,7 @@ module Bioshogi
101
103
 
102
104
  def soldier_name(soldier)
103
105
  if soldier.piece.key == :king && soldier.location.key == :white
104
- "王"
106
+ "王" # FIXME: ハードコーディングすんな
105
107
  else
106
108
  soldier.any_name
107
109
  end
@@ -0,0 +1,14 @@
1
+ module Bioshogi
2
+ module ScreenImage
3
+ concern :SoldierModelMethods do
4
+ # 対応する画像のファイル名を返す
5
+ def image_basename
6
+ [
7
+ location.to_sfen, # B (Black)
8
+ piece.sfen_char, # P (Pawn)
9
+ promoted ? "1" : "0", # 0 (不成)
10
+ ].join.upcase
11
+ end
12
+ end
13
+ end
14
+ end
@@ -14,10 +14,11 @@ module Bioshogi
14
14
 
15
15
  # 持駒数
16
16
  :piece_count_bg_color => "hsla(0,0%,100%,0.7)", # 駒数の背景
17
- :piece_count_font_color => "hsla(0,0%, 0%,0.9)", # *駒数の色(nilなら piece_font_color を代用)
17
+ :piece_count_font_color => "hsla(0,0%, 0%,0.7)", # *駒数の色(nilなら piece_font_color を代用)
18
18
  :piece_count_font_scale => 0.6, # 持駒数の大きさ
19
19
  :piece_count_stroke_color => nil, # 持駒数の縁取り色
20
20
  :piece_count_stroke_width => nil, # 持駒数の縁取り太さ
21
+ :piece_count_bold => nil, # 持駒数のフォントを bold タイプにするか?
21
22
  :piece_count_position_adjust => { # 駒数の位置
22
23
  :single => [0.7, 0.05], # 駒数1桁のとき。[0, 0] なら該当の駒の中央
23
24
  :double => [0.8, 0.05], # 駒数2桁のとき
@@ -57,7 +58,8 @@ module Bioshogi
57
58
  piece = Piece.fetch(piece_key)
58
59
 
59
60
  if params[:piece_image_key]
60
- piece_image_draw(v: v, location: location, piece: piece)
61
+ soldier = Soldier.create(location: location, piece: piece, promoted: false, place: Place.zero)
62
+ piece_image_draw(v: v, soldier: soldier)
61
63
  else
62
64
  # 持駒の影
63
65
  piece_pentagon_draw(v: v, location: location, piece: piece)
@@ -96,6 +98,7 @@ module Bioshogi
96
98
  :font_scale => params[:piece_count_font_scale],
97
99
  :stroke_color => params[:piece_count_stroke_color],
98
100
  :stroke_width => params[:piece_count_stroke_width],
101
+ :bold => params[:piece_count_bold],
99
102
  )
100
103
  end
101
104
  end
@@ -15,6 +15,12 @@ module Bioshogi
15
15
  (piece.key == :lance && normal?) || piece.key == :rook
16
16
  end
17
17
 
18
+ ################################################################################ for BoardPieceCountsMethods
19
+
20
+ # def location_with_piece
21
+ # [location.key, piece.key]
22
+ # end
23
+
18
24
  ################################################################################
19
25
 
20
26
  # 駒の重さ(=価値) 常にプラス
@@ -56,6 +56,7 @@ module Bioshogi
56
56
 
57
57
  include SimpleModel
58
58
  include TechniqueMatcherMethods
59
+ include ScreenImage::SoldierModelMethods
59
60
 
60
61
  attr_accessor :piece
61
62
  attr_accessor :promoted
@@ -1,3 +1,3 @@
1
1
  module Bioshogi
2
- VERSION = "0.0.15"
2
+ VERSION = "0.0.17"
3
3
  end
data/lib/bioshogi.rb CHANGED
@@ -33,10 +33,11 @@ module Bioshogi
33
33
  TMP_DIR = ROOT.join("../tmp")
34
34
 
35
35
  include ActiveSupport::Configurable
36
- config_accessor(:analyzer_enable) { true }
36
+ config_accessor(:analysis_feature) { true }
37
37
  mattr_accessor(:run_counts) { Hash.new(0) }
38
38
 
39
39
  SFEN1 = "position sfen l+n1g1g1n+l/1ks2r1+r1/1pppp1bpp/p2+b+sp+p2/9/P1P1+SP1PP/1+P+BPP1P2/1BK1GR1+R1/+L+NSG3NL b R2B3G4S5N11L99Pr2b3g4s5n11l99p 1"
40
+ SFEN2 = "position sfen 1plnsgbrk/1+p+l+n+sgbrk/1+P+L+N+SGBRK/1PLNSGBRK/9/9/9/9/9 b - 1"
40
41
 
41
42
  ANALYSIS_VERSION = 3
42
43
  end