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.
- checksums.yaml +4 -4
- data/.dumbjump +4 -0
- data/.gitignore +2 -0
- data/.ruby-version +2 -1
- data/A/342/206/222B/342/206/222C/345/233/262/343/201/204.txt +1 -0
- data/A/342/206/222B/342/206/222C/346/210/246/346/263/225.txt +9 -4
- data/Gemfile.lock +57 -47
- data/README.org +3 -3
- data/bioshogi.gemspec +3 -1
- data/credit.org +0 -1
- data/lib/bioshogi/ai/brain.rb +6 -6
- data/lib/bioshogi/analysis/analyzer.rb +67 -9
- data/lib/bioshogi/analysis/analyzer_mod.rb +5 -12
- data/lib/bioshogi/analysis/attack_info.rb +232 -227
- data/lib/bioshogi/analysis/{tech_accessor.rb → basic_accessor.rb} +4 -4
- data/lib/bioshogi/analysis/board_piece_counts_methods.rb +53 -0
- data/lib/bioshogi/analysis/board_piller_methods.rb +10 -32
- data/lib/bioshogi/analysis/core_soldier_place_methods.rb +58 -0
- data/lib/bioshogi/analysis/defense_info.rb +141 -132
- data/lib/bioshogi/analysis/file_normalizer.rb +1 -1
- data/lib/bioshogi/analysis/frequency.rb +372 -311
- data/lib/bioshogi/analysis/note_info.rb +26 -25
- data/lib/bioshogi/analysis/player_methods.rb +28 -0
- data/lib/bioshogi/analysis/rocket_analyzer.rb +45 -58
- data/lib/bioshogi/analysis/shape_info.rb +113 -25
- data/lib/bioshogi/analysis/style_accessor.rb +22 -19
- data/lib/bioshogi/analysis/tactic_hit_turn_table.rb +27 -4
- data/lib/bioshogi/analysis/tactic_hit_turn_table_generator.rb +15 -14
- data/lib/bioshogi/analysis/tactic_info.rb +19 -5
- data/lib/bioshogi/analysis/technique_info.rb +26 -14
- data/lib/bioshogi/analysis/technique_verify_info.rb +800 -0
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/205/250/351/247/222.kif +27 -0
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/347/251/264/347/206/212.kif +3 -2
- data/lib/bioshogi/analysis//345/202/231/350/200/203//346/200/245/346/210/246.kif +1 -1
- data/lib/bioshogi/analysis//345/202/231/350/200/203//346/214/201/344/271/205/346/210/246.kif +6 -3
- data/lib/bioshogi/analysis//345/202/231/350/200/203//347/216/211/345/215/230/351/250/216.kif +27 -0
- data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/347/251/264/347/206/212.kif +2 -0
- data/lib/bioshogi/analysis//345/202/231/350/200/203//347/251/264/347/206/212.kif +3 -2
- 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
- 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
- data/lib/bioshogi/analysis//345/202/231/350/200/203//350/247/222/344/270/215/346/210/220.kif +2 -2
- data/lib/bioshogi/analysis//345/202/231/350/200/203//351/203/275/350/251/260/343/202/201.kif +5 -1
- data/lib/bioshogi/analysis//345/202/231/350/200/203//351/225/267/346/211/213/346/225/260.kif +13 -3
- 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
- data/lib/bioshogi/analysis//345/202/231/350/200/203//351/247/222/346/237/261.kif +14 -2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/217/263/347/237/242/345/200/211.kif +1 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/347/216/211.kif +2 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/211/207/347/251/264/347/206/212.kif +1 -1
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/264/231/347/251/264/347/206/212.kif +4 -2
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/267/217/347/237/242/345/200/211.kif +8 -3
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/217/261/347/237/242/345/200/211.kif +1 -1
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/243/276/345/233/272/343/202/201.kif +3 -1
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/247/222/347/237/242/345/200/211.kif +1 -1
- 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
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/345/244/232/344/274/235.kif +1 -1
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/204/241/345/217/214.kif +3 -2
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/276/216/346/277/203.kif +3 -0
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240.kif +2 -2
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/244/232/344/274/235.kif +8 -1
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/347/276/216/346/277/203.kif +2 -2
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/253/230/347/237/242/345/200/211.kif +1 -1
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225/5/346/211/213/347/210/206/345/274/276.kif +5 -1
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225/GAVA/350/247/222.kif +1 -1
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225/xaby/350/247/222/346/210/246/346/263/225.kif +1 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/213/207/346/260/227/346/265/201.kif +1 -1
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/217/263/347/216/211.kif +1 -1
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/233/233/346/211/213/350/247/222.kif +1 -1
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/254/211/351/207/216/346/265/201.kif +5 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/351/207/221.kif +1 -1
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/216/211/351/240/255/351/212/200.kif +5 -1
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/234/237/351/203/250/346/265/201.kif +5 -3
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/263/347/224/260/346/265/201.kif +135 -55
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/242/226/351/243/233/350/273/212.kif +12 -2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/266/205/346/200/245/346/210/246.kif +1 -1
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/200/206/346/243/222/351/212/200.kif +1 -1
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/201/240/345/261/261/346/265/201.kif +5 -2
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/207/221/346/262/242/346/265/201.kif +1 -1
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/207/221/351/212/200/346/251/213.kif +2 -2
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/212/200/351/233/262/351/233/200.kif +1 -1
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/200/345/210/272/343/201/227.kif +8 -4
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/242/250/350/273/212.kif +5 -2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/260/273/351/207/221.kif +28 -0
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/202/251/351/207/221.kif +21 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/202/251/351/212/200.kif +21 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/205/271/351/207/221.kif +25 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/205/271/351/212/200.kif +2 -1
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/276/351/207/221.kif +33 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/276/351/212/200.kif +21 -0
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/240/255/351/207/221.kif +21 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/240/255/351/212/200.kif +21 -0
- data/lib/bioshogi/analysis.rb +4 -0
- data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_club24.png +0 -0
- data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_modern.png +0 -0
- data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_paper.png +0 -0
- data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_piyo.png +0 -0
- data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_real.png +0 -0
- data/lib/bioshogi/assets/images/color_theme_preview/is_color_theme_shape.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BB0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BB1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BG0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BK0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BL0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BL1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BN0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BN1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BP0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BP1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BR0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BR1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BS0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/BS1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/README.org +20 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WB0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WB1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WG0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WK0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WL0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WL1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WN0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WN1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WP0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WP1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WR0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WR1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WS0.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/WS1.png +0 -0
- data/lib/bioshogi/assets/images/piece/nureyon/convert.rb +43 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BB0.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BB1.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BG0.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BK0.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BL0.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BL1.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BN0.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BN1.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BP0.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BP1.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BR0.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BR1.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BS0.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BS1.svg +11 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/BX0.svg +12 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/README.org +5 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/convert.sh +15 -0
- data/lib/bioshogi/assets/images/piece/nureyon/original/style.rb +26 -0
- data/lib/bioshogi/assets/images/piece/portella/BB0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BB1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BG0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BK0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BL0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BL1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BN0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BN1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BP0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BP1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BR0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BR1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BS0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/BS1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WB0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WB1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WG0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WK0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WL0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WL1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WN0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WN1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WP0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WP1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WR0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WR1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WS0.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/WS1.png +0 -0
- data/lib/bioshogi/assets/images/piece/portella/convert.rb +89 -0
- data/lib/bioshogi/board/basic.rb +2 -1
- data/lib/bioshogi/board/csa_formatter.rb +2 -2
- data/lib/bioshogi/board/kakinoki_formatter.rb +5 -5
- data/lib/bioshogi/board/reader_methods.rb +8 -4
- data/lib/bioshogi/board_parser/kakinoki_board_parser.rb +2 -2
- data/lib/bioshogi/container/checkmate_yomiage.rb +1 -1
- data/lib/bioshogi/container/core_methods.rb +4 -4
- data/lib/bioshogi/counter_hash.rb +34 -0
- data/lib/bioshogi/dimension/base.rb +49 -10
- data/lib/bioshogi/dimension/column.rb +131 -0
- data/lib/bioshogi/dimension/module_methods.rb +19 -20
- data/lib/bioshogi/dimension/row.rb +128 -0
- data/lib/bioshogi/extreme_validator.rb +1 -1
- data/lib/bioshogi/formatter/animation/animation_mp4_builder.rb +17 -14
- data/lib/bioshogi/formatter/animation/ffmpeg_support.rb +14 -1
- data/lib/bioshogi/formatter/core.rb +9 -9
- data/lib/bioshogi/formatter/skill_embed.rb +45 -16
- data/lib/bioshogi/formatter/sugatayaki_validator.rb +2 -2
- data/lib/bioshogi/hand/drop.rb +1 -1
- data/lib/bioshogi/hand/move.rb +6 -6
- data/lib/bioshogi/input_adapter/ki2_adapter.rb +10 -10
- data/lib/bioshogi/input_adapter/shared_validation.rb +1 -1
- data/lib/bioshogi/location.rb +22 -2
- data/lib/bioshogi/official_formatter.rb +38 -38
- data/lib/bioshogi/order_info.rb +5 -3
- data/lib/bioshogi/parser/base.rb +4 -4
- data/lib/bioshogi/parser/pi.rb +11 -0
- data/lib/bioshogi/piece/piece_vector.rb +16 -10
- data/lib/bioshogi/piece.rb +17 -9
- data/lib/bioshogi/piller_cop.rb +47 -0
- data/lib/bioshogi/place.rb +159 -62
- data/lib/bioshogi/player/other_methods.rb +16 -33
- data/lib/bioshogi/player/piece_box_methods.rb +1 -1
- data/lib/bioshogi/player/soldier_methods.rb +12 -6
- data/lib/bioshogi/player.rb +1 -0
- data/lib/bioshogi/player_executor/base.rb +3 -2
- data/lib/bioshogi/screen_image/color_theme_info.rb +22 -7
- data/lib/bioshogi/screen_image/core_methods.rb +37 -23
- data/lib/bioshogi/screen_image/helper.rb +2 -2
- data/lib/bioshogi/screen_image/layer_methods.rb +6 -3
- data/lib/bioshogi/screen_image/nureyon_image_info.rb +43 -0
- data/lib/bioshogi/screen_image/pentagon.rb +2 -2
- data/lib/bioshogi/screen_image/piece_image_info.rb +26 -0
- data/lib/bioshogi/screen_image/soldier_methods.rb +16 -14
- data/lib/bioshogi/screen_image/soldier_model_methods.rb +14 -0
- data/lib/bioshogi/screen_image/stand.rb +10 -7
- data/lib/bioshogi/soldier/technique_matcher_methods.rb +57 -0
- data/lib/bioshogi/soldier.rb +15 -79
- data/lib/bioshogi/soldier_walker.rb +1 -1
- data/lib/bioshogi/turn_info.rb +2 -2
- data/lib/bioshogi/v/preset_vectors.rb +129 -0
- data/lib/bioshogi/v.rb +4 -2
- data/lib/bioshogi/version.rb +1 -1
- data/lib/bioshogi.rb +4 -1
- data//347/275/256/343/201/215/346/217/233/343/201/210/346/216/250/345/245/250.txt +1 -1
- metadata +179 -206
- data/lib/bioshogi/analysis/technique_matcher_info.rb +0 -810
- data/lib/bioshogi/assets/audios/any.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/any.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/any.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/any.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/any.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/any.band/Media/Audio Files/Strategy.caf +0 -0
- data/lib/bioshogi/assets/audios/any.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/any.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Media/Audio Files/Strategy.caf +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/breakbeat_long_strip.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/china_like.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/china_like.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/china_like.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/digit_blast_layers.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/digit_blast_layers.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/digit_blast_layers.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/foo.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/foo.band/Media/Audio Files/Strategy.caf +0 -0
- data/lib/bioshogi/assets/audios/foo.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/foo.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/headspin_long.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/headspin_long.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/headspin_long.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/loop_bgm_i.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/loop_bgm_i.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/loop_bgm_i.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/mastermind.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/mastermind.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/mastermind.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/.dummy +0 -0
- data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/2021-08-19 05:25:23Z.displayData +0 -0
- data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/2021-08-19 05:25:23Z.eventData +0 -0
- data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/Autosave/2021-08-19 05:25:23Z.songData +0 -0
- data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/positive_think.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/positive_think.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/positive_think.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/stg_like_type1.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/stg_like_type1.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/stg_like_type1.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/strategy.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/strategy.band/Media/Audio Files/Strategy.caf +0 -0
- data/lib/bioshogi/assets/audios/strategy.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/strategy.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/test1.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/test1.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/test1.band/projectData +0 -3183
- data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/DisplayState.plist +0 -0
- data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/DisplayStateArchive +0 -0
- data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/MetaData.plist +0 -0
- data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/ProjectData +0 -0
- data/lib/bioshogi/assets/audios/test2.band/Alternatives/000/WindowImage.jpg +0 -0
- data/lib/bioshogi/assets/audios/test2.band/Resources/ProjectInformation.plist +0 -0
- data/lib/bioshogi/assets/audios/test2.band/projectData +0 -3183
- data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Black.ttf +0 -0
- data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Bold.ttf +0 -0
- data/lib/bioshogi/assets/fonts/MPLUSRounded1c-ExtraBold.ttf +0 -0
- data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Light.ttf +0 -0
- data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Medium.ttf +0 -0
- data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Regular.ttf +0 -0
- data/lib/bioshogi/assets/fonts/MPLUSRounded1c-Thin.ttf +0 -0
- data/lib/bioshogi/assets/fonts/NewTegomin-Regular.ttf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSansJP-Black.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSansJP-Bold.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSansJP-Light.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSansJP-Medium.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSansJP-Regular.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSansJP-Thin.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSerifJP-Black.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSerifJP-Bold.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSerifJP-ExtraLight.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSerifJP-Light.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSerifJP-Medium.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSerifJP-Regular.otf +0 -0
- data/lib/bioshogi/assets/fonts/NotoSerifJP-SemiBold.otf +0 -0
- data/lib/bioshogi/assets/fonts/YuseiMagic-Regular.ttf +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BB0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BB1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BG0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BK0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BL0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BL1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BN0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BN1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BP0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BP1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BR0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BR1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BS0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BS1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/BX0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WB0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WB1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WG0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WK0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WL0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WL1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WN0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WN1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WP0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WP1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WR0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WR1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WS0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WS1.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/WX0.png +0 -0
- data/lib/bioshogi/assets/images/piece/Portella/convert.sh +0 -32
- data/lib/bioshogi/board/piece_counts_methods.rb +0 -43
- data/lib/bioshogi/dimension/place_x.rb +0 -27
- data/lib/bioshogi/dimension/place_y.rb +0 -57
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/README.org +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0FU.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0GI.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0GY.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0HI.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KA.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KE.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KI.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KI.svg +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0KY.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0NG.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0NK.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0NY.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0OU.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0RY.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0TO.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/0UM.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1FU.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1GI.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1GY.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1HI.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KA.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KE.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KI.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1KY.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1NG.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1NK.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1NY.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1OU.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1RY.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1TO.png +0 -0
- /data/lib/bioshogi/assets/images/piece/{Portella → portella}/original/1UM.png +0 -0
@@ -5,11 +5,12 @@ module Bioshogi
|
|
5
5
|
class ColorThemeInfo
|
6
6
|
include ApplicationMemoryRecord
|
7
7
|
memory_record [
|
8
|
-
{ key: :
|
9
|
-
{ key: :
|
10
|
-
{ key: :
|
11
|
-
{ key: :
|
12
|
-
{ key: :
|
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
|
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
|
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,
|
33
|
-
:inner_frame_fill_color => nil,
|
34
|
-
:dimension_w => Dimension::
|
35
|
-
:dimension_h => Dimension::
|
36
|
-
:fg_file => 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, # 基本透明とする(基本指定なしでよい)
|
35
|
+
:dimension_w => Dimension::Column.dimension_size, # 横のセル数
|
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
|
-
#
|
56
|
-
:font_theme_key => nil,
|
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
|
60
|
+
:soldier_font_bold => false, # 太字を使うか?
|
61
|
+
:piece_font_weight_key => :is_piece_font_weight_auto, # 太字はおまかせ (つまり何もしない。nil でもよい)
|
61
62
|
|
62
|
-
#
|
63
|
-
:piece_image_key
|
63
|
+
# 画像駒
|
64
|
+
:piece_image_key => nil, # どの画像駒を使うか? (nil なら使わない)
|
65
|
+
:piece_image_scale => nil, # 画像駒の大きさ (nil なら PieceImageInfo の default_scale を使う)
|
64
66
|
|
65
67
|
# other
|
66
|
-
:viewpoint
|
67
|
-
:image_format
|
68
|
-
:negate
|
69
|
-
:bg_file
|
68
|
+
:viewpoint => "black", # 視点
|
69
|
+
:image_format => "png", # 出力する画像タイプ
|
70
|
+
:negate => false, # 反転
|
71
|
+
:bg_file => nil, # 背景ファイル
|
70
72
|
|
71
73
|
# star
|
72
|
-
:star_size
|
73
|
-
:star_fill_color
|
74
|
-
:star_step
|
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 => "
|
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.
|
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.
|
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
|
55
|
-
|
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
|
@@ -109,8 +109,8 @@ module Bioshogi
|
|
109
109
|
cx, cy = *px(v + V.half) # 中央
|
110
110
|
pentagon_points.flat_map do |x, y|
|
111
111
|
[
|
112
|
-
cx + x * scale * location.
|
113
|
-
cy + y * scale * location.
|
112
|
+
cx + x * scale * location.sign_dir,
|
113
|
+
cy + y * scale * location.sign_dir,
|
114
114
|
]
|
115
115
|
end
|
116
116
|
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
|
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,
|
46
|
+
piece_image_draw(v: v, soldier: soldier)
|
47
47
|
end
|
48
48
|
|
49
|
-
def piece_image_draw(v:,
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
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
|
-
|
58
|
-
image = Magick::Image.read(
|
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
|
-
|
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
|
@@ -125,7 +127,7 @@ module Bioshogi
|
|
125
127
|
# フォントの位置を微調整
|
126
128
|
def piece_char_adjust(location)
|
127
129
|
@piece_char_adjust ||= {}
|
128
|
-
@piece_char_adjust[location.key] ||= V[*params[:piece_char_adjust][location.key]] * location.
|
130
|
+
@piece_char_adjust[location.key] ||= V[*params[:piece_char_adjust][location.key]] * location.sign_dir
|
129
131
|
end
|
130
132
|
|
131
133
|
def soldier_font_scale(piece)
|
@@ -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.
|
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桁のとき
|
@@ -37,7 +38,7 @@ module Bioshogi
|
|
37
38
|
|
38
39
|
container.players.each do |player|
|
39
40
|
location = player.location
|
40
|
-
s = location.
|
41
|
+
s = location.sign_dir
|
41
42
|
|
42
43
|
if player.location.key == :black
|
43
44
|
v = v_bottom_right_outer
|
@@ -57,7 +58,8 @@ module Bioshogi
|
|
57
58
|
piece = Piece.fetch(piece_key)
|
58
59
|
|
59
60
|
if params[:piece_image_key]
|
60
|
-
|
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)
|
@@ -85,7 +87,7 @@ module Bioshogi
|
|
85
87
|
def piece_count_draw(v:, count:, location:)
|
86
88
|
if count >= 2
|
87
89
|
w = count <= 9 ? :single : :double
|
88
|
-
v = v + V[*params[:piece_count_position_adjust][w]] * location.
|
90
|
+
v = v + V[*params[:piece_count_position_adjust][w]] * location.sign_dir
|
89
91
|
piece_count_bg_draw(v: v, location: location)
|
90
92
|
char_draw(
|
91
93
|
:layer => @d_piece_count_layer,
|
@@ -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
|
@@ -106,9 +109,9 @@ module Bioshogi
|
|
106
109
|
draw_context(@d_piece_count_layer) do |g|
|
107
110
|
g.fill(params[:piece_count_bg_color])
|
108
111
|
|
109
|
-
# v2 = v + V[*params[:piece_count_bg_adjust][w]] * location.
|
110
|
-
# v2 = v + (V.half + V[*params[:piece_count_bg_adjust]]) * location.
|
111
|
-
# g.ellipse(*px(v2), *(cell_rect * params[:piece_count_bg_scale] * location.
|
112
|
+
# v2 = v + V[*params[:piece_count_bg_adjust][w]] * location.sign_dir
|
113
|
+
# v2 = v + (V.half + V[*params[:piece_count_bg_adjust]]) * location.sign_dir
|
114
|
+
# g.ellipse(*px(v2), *(cell_rect * params[:piece_count_bg_scale] * location.sign_dir), 0, 360) # x, y, w, h, angle(0 to 360)
|
112
115
|
# g.ellipse(*px(v2), *cell_rect, 0, 360) # x, y, w, h, angle(0 to 360)
|
113
116
|
|
114
117
|
# 個数は左上を原点とした枠の中心(CenterGravity)で表示するのでその位置に移動する
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module Bioshogi
|
2
|
+
class Soldier
|
3
|
+
# 手筋判定用
|
4
|
+
concern :TechniqueMatcherMethods do
|
5
|
+
Place::DELEGATE_METHODS.each do |name|
|
6
|
+
define_method(name) do |*args, **options|
|
7
|
+
place.public_send(name, location, *args, **options)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
################################################################################
|
12
|
+
|
13
|
+
# 前に一直線に進めるタイプか?
|
14
|
+
def boar_mode?
|
15
|
+
(piece.key == :lance && normal?) || piece.key == :rook
|
16
|
+
end
|
17
|
+
|
18
|
+
################################################################################ for BoardPieceCountsMethods
|
19
|
+
|
20
|
+
# def location_with_piece
|
21
|
+
# [location.key, piece.key]
|
22
|
+
# end
|
23
|
+
|
24
|
+
################################################################################
|
25
|
+
|
26
|
+
# 駒の重さ(=価値) 常にプラス
|
27
|
+
def abs_weight
|
28
|
+
piece.any_weight(promoted)
|
29
|
+
end
|
30
|
+
|
31
|
+
# 駒の重さ(=価値)。先手視点。後手ならマイナスになる
|
32
|
+
def relative_weight
|
33
|
+
abs_weight * location.sign_dir
|
34
|
+
end
|
35
|
+
|
36
|
+
# 敵への駒の圧力(終盤度)
|
37
|
+
def pressure_level(area = 4)
|
38
|
+
case
|
39
|
+
when top_spaces < area
|
40
|
+
if promoted
|
41
|
+
piece.promoted_attack_level
|
42
|
+
else
|
43
|
+
piece.attack_level
|
44
|
+
end
|
45
|
+
when bottom_spaces < area
|
46
|
+
if promoted
|
47
|
+
-piece.promoted_defense_level
|
48
|
+
else
|
49
|
+
-piece.defense_level
|
50
|
+
end
|
51
|
+
else
|
52
|
+
0
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/lib/bioshogi/soldier.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# -*- coding: utf-8; compile-command: "bundle execute rspec ../../spec/soldier_spec.rb" -*-
|
2
1
|
# frozen-string-literal: true
|
3
2
|
|
4
3
|
module Bioshogi
|
@@ -56,6 +55,8 @@ module Bioshogi
|
|
56
55
|
end
|
57
56
|
|
58
57
|
include SimpleModel
|
58
|
+
include TechniqueMatcherMethods
|
59
|
+
include ScreenImage::SoldierModelMethods
|
59
60
|
|
60
61
|
attr_accessor :piece
|
61
62
|
attr_accessor :promoted
|
@@ -73,6 +74,10 @@ module Bioshogi
|
|
73
74
|
Assertion.assert { place }
|
74
75
|
end
|
75
76
|
|
77
|
+
def normal?
|
78
|
+
!promoted
|
79
|
+
end
|
80
|
+
|
76
81
|
def attributes
|
77
82
|
{ piece: piece, promoted: promoted, place: place, location: location }
|
78
83
|
end
|
@@ -95,15 +100,18 @@ module Bioshogi
|
|
95
100
|
attributes.hash
|
96
101
|
end
|
97
102
|
|
103
|
+
# 180度回転
|
98
104
|
def flip
|
99
105
|
self.class.create(piece: piece, promoted: promoted, place: place.flip, location: location.flip)
|
100
106
|
end
|
101
107
|
|
108
|
+
# 左右反転
|
102
109
|
def flop
|
103
110
|
self.class.create(piece: piece, promoted: promoted, place: place.flop, location: location)
|
104
111
|
end
|
105
112
|
|
106
|
-
|
113
|
+
# ▲視点に統一
|
114
|
+
def white_then_flip
|
107
115
|
if location.key == :white
|
108
116
|
flip
|
109
117
|
else
|
@@ -130,8 +138,8 @@ module Bioshogi
|
|
130
138
|
################################################################################ Utility
|
131
139
|
|
132
140
|
# 自分を移動元の状態と考えて to に移動したとき成れるか?
|
133
|
-
def
|
134
|
-
piece.promotable? && !promoted && (place.
|
141
|
+
def tsugini_nareru_on?(to)
|
142
|
+
piece.promotable? && !promoted && (place.opp_side?(location) || to.opp_side?(location))
|
135
143
|
end
|
136
144
|
|
137
145
|
# 移動可能な座標を取得
|
@@ -142,7 +150,7 @@ module Bioshogi
|
|
142
150
|
# 二歩?
|
143
151
|
def collision_pawn(board)
|
144
152
|
if piece.key == :pawn && !promoted
|
145
|
-
board.
|
153
|
+
board.vertical_soldiers(place.column).find do |e|
|
146
154
|
e.piece.key == :pawn && !e.promoted && e.location == location
|
147
155
|
end
|
148
156
|
end
|
@@ -155,90 +163,18 @@ module Bioshogi
|
|
155
163
|
|
156
164
|
# 自分を▲側に補正したときの座標
|
157
165
|
def normalized_place
|
158
|
-
place.
|
166
|
+
place.white_then_flip(location)
|
159
167
|
end
|
160
168
|
|
161
169
|
# 入玉宣言時の得点
|
162
170
|
def ek_score
|
163
|
-
if place.
|
171
|
+
if place.opp_side?(location)
|
164
172
|
piece.ek_score
|
165
173
|
else
|
166
174
|
0
|
167
175
|
end
|
168
176
|
end
|
169
177
|
|
170
|
-
# 手筋判定用
|
171
|
-
concerning :TechniqueMatcherMethods do
|
172
|
-
# 自分の側の一番下を0としてどれだけ前に進んでいるかを返す
|
173
|
-
def bottom_spaces
|
174
|
-
Dimension::PlaceY.dimension - 1 - top_spaces
|
175
|
-
end
|
176
|
-
|
177
|
-
# 自分の側の一番上を0としてあとどれだけで突き当たるかの値
|
178
|
-
def top_spaces
|
179
|
-
place.flip_if_white(location).y.value
|
180
|
-
end
|
181
|
-
|
182
|
-
# 「左右の壁からどれだけ離れているかの値」の小さい方(先後関係なし)
|
183
|
-
def smaller_one_of_side_spaces
|
184
|
-
[place.x.value, __distance_from_right].min
|
185
|
-
end
|
186
|
-
|
187
|
-
# 左右の壁に近い方に進むときの符号(先手視点なので先後関係なし)
|
188
|
-
def sign_to_goto_closer_side
|
189
|
-
if place.x.value > __distance_from_right
|
190
|
-
1
|
191
|
-
else
|
192
|
-
-1
|
193
|
-
end
|
194
|
-
end
|
195
|
-
|
196
|
-
# 先手から見て右からの距離
|
197
|
-
def __distance_from_right
|
198
|
-
Dimension::PlaceX.dimension - 1 - place.x.value
|
199
|
-
end
|
200
|
-
|
201
|
-
# センターにいる?
|
202
|
-
def center_place?
|
203
|
-
place.x.value == Dimension::PlaceX.dimension / 2
|
204
|
-
end
|
205
|
-
|
206
|
-
# 自玉の位置にいる?
|
207
|
-
def initial_place?
|
208
|
-
center_place? && bottom_spaces == 0
|
209
|
-
end
|
210
|
-
|
211
|
-
# 駒の重さ(=価値) 常にプラス
|
212
|
-
def abs_weight
|
213
|
-
piece.any_weight(promoted)
|
214
|
-
end
|
215
|
-
|
216
|
-
# 駒の重さ(=価値)。先手視点。後手ならマイナスになる
|
217
|
-
def relative_weight
|
218
|
-
abs_weight * location.value_sign
|
219
|
-
end
|
220
|
-
|
221
|
-
# 敵への駒の圧力(終盤度)
|
222
|
-
def pressure_level(area = 4)
|
223
|
-
case
|
224
|
-
when top_spaces < area
|
225
|
-
if promoted
|
226
|
-
piece.promoted_attack_level
|
227
|
-
else
|
228
|
-
piece.attack_level
|
229
|
-
end
|
230
|
-
when bottom_spaces < area
|
231
|
-
if promoted
|
232
|
-
-piece.promoted_defense_level
|
233
|
-
else
|
234
|
-
-piece.defense_level
|
235
|
-
end
|
236
|
-
else
|
237
|
-
0
|
238
|
-
end
|
239
|
-
end
|
240
|
-
end
|
241
|
-
|
242
178
|
################################################################################ Formatter
|
243
179
|
|
244
180
|
def to_s
|
@@ -78,7 +78,7 @@ module Bioshogi
|
|
78
78
|
soldier = origin_soldier.merge(place: place)
|
79
79
|
|
80
80
|
# 成れるなら成る
|
81
|
-
if origin_soldier.
|
81
|
+
if origin_soldier.tsugini_nareru_on?(soldier.place)
|
82
82
|
move_hand = Hand::Move.create(soldier: soldier.merge(promoted: true), origin_soldier: origin_soldier, captured_soldier: captured_soldier)
|
83
83
|
success = piece_store_core(container, move_hand, yielder, options)
|
84
84
|
if success
|