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.
- checksums.yaml +4 -4
- 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 +7 -2
- data/Gemfile.lock +57 -47
- data/bioshogi.gemspec +3 -1
- data/credit.org +0 -1
- data/lib/bioshogi/analysis/analyzer.rb +1 -1
- data/lib/bioshogi/analysis/analyzer_mod.rb +4 -4
- data/lib/bioshogi/analysis/attack_info.rb +231 -230
- 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 +9 -0
- data/lib/bioshogi/analysis/frequency.rb +351 -347
- data/lib/bioshogi/analysis/note_info.rb +20 -19
- data/lib/bioshogi/analysis/player_methods.rb +28 -0
- data/lib/bioshogi/analysis/shape_info.rb +40 -6
- data/lib/bioshogi/analysis/tactic_hit_turn_table.rb +19 -1
- data/lib/bioshogi/analysis/tactic_info.rb +17 -3
- data/lib/bioshogi/analysis/technique_info.rb +24 -11
- data/lib/bioshogi/analysis/technique_verify_info.rb +179 -6
- 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/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 +4 -1
- 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 +4 -1
- 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//350/203/214/346/260/264/343/201/256/351/231/243.kif +4 -1
- 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 -2
- 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 +12 -2
- 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 +2 -1
- 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 +7 -2
- 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
- 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 +2 -2
- 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 +2 -1
- 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
- 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
- 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 +2 -1
- 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/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 +5 -2
- 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/257/214/345/243/253/350/246/213/347/237/242/345/200/211.kif +6 -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/351/207/221/345/206/240.kif +7 -2
- 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
- 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
- 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 +2 -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/237/343/203/254/343/203/213/343/202/242/343/203/240.kif +2 -1
- 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/226/207/351/216/256/345/233/262/343/201/204.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/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/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/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 +2 -0
- 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 +7 -2
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/243/276/345/233/272/343/202/201.kif +2 -0
- 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
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/276/216/346/277/203.kif +2 -1
- 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 +2 -0
- 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//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
- 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
- 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 +8 -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 +3 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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 +11 -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/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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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/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 +5 -2
- 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
- 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
- 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 +5 -2
- 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
- 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
- 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
- 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
- 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/345/267/246/347/251/264/347/206/212.kif +4 -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 +2 -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 +19 -70
- 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
- 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/234/260/344/270/213/351/211/204/351/243/233/350/273/212.kif +2 -1
- 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
- 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/254/211/351/207/216/346/265/201.kif +2 -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 -2
- 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
- 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
- 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
- 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
- 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/226/260/345/254/211/351/207/216/346/265/201.kif +2 -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 +4 -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 +3 -0
- 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
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/347/216/211.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 +6 -2
- 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
- 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//347/216/211/351/240/255/351/212/200.kif +4 -2
- 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
- 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
- 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/255/213/351/201/225/343/201/204/350/247/222.kif +2 -1
- 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
- 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
- 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
- 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/204/207/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//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
- 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
- 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
- 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
- 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
- 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 +7 -2
- 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 +2 -1
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/201/240/345/261/261/346/265/201.kif +3 -1
- 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 +2 -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 +2 -1
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/200/345/210/272/343/201/227.kif +6 -2
- 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
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/242/250/350/273/212.kif +4 -1
- 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/267/272/345/256/256/345/256/232/350/267/241.kif +2 -1
- 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//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/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/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/container/core_methods.rb +4 -4
- data/lib/bioshogi/counter_hash.rb +34 -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 +1 -1
- data/lib/bioshogi/official_formatter.rb +1 -1
- data/lib/bioshogi/parser/base.rb +4 -4
- data/lib/bioshogi/parser/pi.rb +11 -0
- data/lib/bioshogi/piece.rb +16 -8
- data/lib/bioshogi/piller_cop.rb +47 -0
- data/lib/bioshogi/place.rb +4 -0
- 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 +10 -4
- 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 +36 -22
- 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/piece_image_info.rb +26 -0
- data/lib/bioshogi/screen_image/soldier_methods.rb +15 -13
- data/lib/bioshogi/screen_image/soldier_model_methods.rb +14 -0
- data/lib/bioshogi/screen_image/stand.rb +5 -2
- data/lib/bioshogi/soldier/technique_matcher_methods.rb +6 -0
- data/lib/bioshogi/soldier.rb +1 -0
- data/lib/bioshogi/version.rb +1 -1
- data/lib/bioshogi.rb +2 -1
- metadata +167 -201
- 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/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
@@ -18,8 +18,8 @@ module Bioshogi
|
|
18
18
|
|
19
19
|
# パラメータがないものはあとで埋めるもの
|
20
20
|
|
21
|
-
{ key: "居飛車",
|
22
|
-
{ key: "振り飛車",
|
21
|
+
{ key: "居飛車", parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, skip_if_exist_keys: "振り飛車", add_to_self: nil, add_to_opponent: nil, },
|
22
|
+
{ key: "振り飛車", parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, skip_if_exist_keys: "居飛車", add_to_self: nil, add_to_opponent: "対振り飛車", },
|
23
23
|
|
24
24
|
{ key: "相居飛車", },
|
25
25
|
{ key: "相振り飛車", },
|
@@ -47,46 +47,47 @@ module Bioshogi
|
|
47
47
|
|
48
48
|
################################################################################
|
49
49
|
|
50
|
-
|
50
|
+
{
|
51
|
+
key: "全駒", parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil,
|
52
|
+
add_to_self: nil, add_to_opponent: "玉単騎",
|
53
|
+
piece_box_added_proc: -> note_info, captured_soldier {
|
54
|
+
player.zengoma?
|
55
|
+
},
|
56
|
+
},
|
57
|
+
{ key: "玉単騎", },
|
51
58
|
|
52
|
-
|
59
|
+
################################################################################
|
53
60
|
|
54
61
|
{
|
55
62
|
key: "大駒コンプリート", parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil,
|
56
63
|
add_to_self: nil, add_to_opponent: "大駒全ブッチ",
|
57
64
|
piece_box_added_proc: -> note_info, captured_soldier {
|
58
|
-
if captured_soldier.piece.
|
59
|
-
player.
|
60
|
-
# retv = player.stronger_piece_completed?
|
61
|
-
# # 相手にも追加
|
62
|
-
# if retv
|
63
|
-
# # raise
|
64
|
-
# # player.opponent_player.skill_set.list_push(Analysis::NoteInfo["大駒全ブッチ"])
|
65
|
-
# # list << note_info
|
66
|
-
# # skill_set.list_of(e) << note_info
|
67
|
-
# end
|
68
|
-
# retv
|
65
|
+
if captured_soldier.piece.strong
|
66
|
+
player.strong_piece_completed?
|
69
67
|
end
|
70
68
|
},
|
71
69
|
},
|
70
|
+
{ key: "大駒全ブッチ", },
|
71
|
+
|
72
72
|
{ key: "背水の陣", },
|
73
73
|
|
74
74
|
################################################################################
|
75
75
|
|
76
76
|
{
|
77
77
|
key: "駒柱", parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil,
|
78
|
+
add_to_self: nil, add_to_opponent: "駒柱",
|
78
79
|
every_time_proc: -> note_info {
|
79
|
-
|
80
|
-
|
81
|
-
player.opponent_player.skill_set.list_push(note_info)
|
80
|
+
player.board.piller_cop.active?.tap do
|
81
|
+
player.board.piller_cop.active = false # FIXME: できればここで更新はしたくない
|
82
82
|
end
|
83
|
-
retv
|
84
83
|
},
|
85
84
|
},
|
86
85
|
|
87
86
|
{ key: "穴熊の姿焼き", }, # 勝った方だけに入れる
|
88
87
|
{ key: "名人に定跡なし", }, # 定跡なしで勝ったら入れる
|
89
88
|
{ key: "都詰め", },
|
89
|
+
{ key: "雪隠詰め", },
|
90
|
+
{ key: "吊るし桂", },
|
90
91
|
{ key: "ロケット", },
|
91
92
|
]
|
92
93
|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen-string-literal: true
|
2
|
+
|
3
|
+
module Bioshogi
|
4
|
+
module Analysis
|
5
|
+
module PlayerMethods
|
6
|
+
attr_writer :king_moved_counter
|
7
|
+
attr_accessor :king_place
|
8
|
+
attr_accessor :king_first_moved_turn # 玉が最初に動いた手数
|
9
|
+
|
10
|
+
def king_moved_counter
|
11
|
+
@king_moved_counter ||= 0
|
12
|
+
end
|
13
|
+
|
14
|
+
# 玉の位置
|
15
|
+
def king_place
|
16
|
+
@king_place ||= king_soldier&.place
|
17
|
+
end
|
18
|
+
|
19
|
+
def king_place_update
|
20
|
+
@king_place = king_soldier&.place
|
21
|
+
end
|
22
|
+
|
23
|
+
def used_piece_counts
|
24
|
+
@used_piece_counts ||= Hash.new(0)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -3380,6 +3380,22 @@ EOT
|
|
3380
3380
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3381
3381
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3382
3382
|
| ・ ・ 飛 ・ ・ ・ ・ ・ ・|
|
3383
|
+
|~角 ・@桂 ・ ・ ・ ・ ・ ・|
|
3384
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3385
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3386
|
+
+---------------------------+
|
3387
|
+
EOT
|
3388
|
+
},
|
3389
|
+
{
|
3390
|
+
key: "石田流本組み",
|
3391
|
+
body: <<~EOT,
|
3392
|
+
+---------------------------+
|
3393
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3394
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3395
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3396
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3397
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3398
|
+
| ・ ・ 飛 ・ ・ ・ ・ ・ ・|
|
3383
3399
|
|@角 ・@桂 ・ ・ ・ ・ ・ ・|
|
3384
3400
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3385
3401
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
@@ -3404,29 +3420,31 @@ EOT
|
|
3404
3420
|
},
|
3405
3421
|
{
|
3406
3422
|
key: "ムリヤリ早石田",
|
3423
|
+
description: "後手番の場合、先手が▲26歩から始めると△33飛すら間に合わない。が、76歩が入るとギリ間に合う。このときは6手目になるため6以下で成立とする。",
|
3407
3424
|
body: <<~EOT,
|
3408
3425
|
+---------------------------+
|
3409
3426
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3410
|
-
| ・ ・ ・ ・ ・ ・ ・
|
3427
|
+
| ・v飛 ・ ・ ・ ・ ・ ・ ・|
|
3411
3428
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3412
3429
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3413
3430
|
| ・v歩 ・ ・ ・ ・ ・ ・ ・|
|
3414
3431
|
| ・ ・ 歩 ・ ・ ・ ・ ・ ・|
|
3415
|
-
| ・
|
3416
|
-
| ・ 角
|
3432
|
+
| ・ 歩!飛 歩 ・ ・ ・ ・ ・|
|
3433
|
+
| ・ 角 ★ ・ ・ ・ ・ ・ ・|
|
3417
3434
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3418
3435
|
+---------------------------+
|
3419
3436
|
EOT
|
3420
3437
|
},
|
3421
3438
|
{
|
3422
3439
|
key: "升田式石田流",
|
3440
|
+
description: "後手番の場合は▲48銀のあと8手目に△62玉となる",
|
3423
3441
|
body: <<~EOT,
|
3424
3442
|
+---------------------------+
|
3425
3443
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3426
3444
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3427
|
-
| ・ ・ ・ ・ ・ ・
|
3428
|
-
| ・
|
3429
|
-
| ・
|
3445
|
+
| ・ ・ ・ ・ ・ ・ ○ ・ ・|
|
3446
|
+
| ・ ・ ・ ・ ・ ○v歩 ・ ・|
|
3447
|
+
| ・v歩 歩 ・ ・ ・ ・ ・ ・|
|
3430
3448
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3431
3449
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3432
3450
|
| ・ ・ 飛 ・ ・!玉 ・ ・ ・|
|
@@ -5549,6 +5567,22 @@ EOT
|
|
5549
5567
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|八
|
5550
5568
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|九
|
5551
5569
|
+---------------------------+
|
5570
|
+
EOT
|
5571
|
+
},
|
5572
|
+
{
|
5573
|
+
key: "居飛車の税金",
|
5574
|
+
body: <<~EOT,
|
5575
|
+
+---------------------------+
|
5576
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
5577
|
+
| ・ ・ ・ ・?飛?飛?飛?飛 ・|
|
5578
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
5579
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
5580
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ○|
|
5581
|
+
| ・ ・ ・ ・ ・ ・ ・ ・!歩|
|
5582
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ★|
|
5583
|
+
| ・ ・ ・ ・ ・*飛*飛*飛 ・|
|
5584
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
5585
|
+
+---------------------------+
|
5552
5586
|
EOT
|
5553
5587
|
},
|
5554
5588
|
{
|
@@ -16,6 +16,7 @@ module Bioshogi
|
|
16
16
|
:"急戦" => nil,
|
17
17
|
:"手得角交換型" => nil,
|
18
18
|
:"持久戦" => nil,
|
19
|
+
:"玉単騎" => nil,
|
19
20
|
:"相入玉" => nil,
|
20
21
|
:"相居玉" => nil,
|
21
22
|
:"相居飛車" => nil,
|
@@ -36,12 +37,16 @@ module Bioshogi
|
|
36
37
|
:"ふんどしの桂" => 1,
|
37
38
|
:"パンツを脱ぐ" => 1,
|
38
39
|
:"一間竜" => 1,
|
40
|
+
:"下段の香" => 1,
|
41
|
+
:"全駒" => 1,
|
39
42
|
:"初手▲3六歩戦法" => 1,
|
40
43
|
:"初手▲7八銀戦法" => 1,
|
41
44
|
:"初手▲7八飛戦法" => 1,
|
42
45
|
:"割り打ちの銀" => 1,
|
43
46
|
:"原始中飛車" => 1,
|
47
|
+
:"吊るし桂" => 1,
|
44
48
|
:"垂れ歩" => 1,
|
49
|
+
:"尻金" => 1,
|
45
50
|
:"尻銀" => 1,
|
46
51
|
:"居飛車" => 1,
|
47
52
|
:"振り飛車" => 1,
|
@@ -50,9 +55,18 @@ module Bioshogi
|
|
50
55
|
:"田楽刺し" => 1,
|
51
56
|
:"突き違いの歩" => 1,
|
52
57
|
:"継ぎ桂" => 1,
|
58
|
+
:"肩金" => 1,
|
59
|
+
:"肩銀" => 1,
|
60
|
+
:"腹金" => 1,
|
53
61
|
:"腹銀" => 1,
|
62
|
+
:"裾金" => 1,
|
63
|
+
:"裾銀" => 1,
|
54
64
|
:"金底の歩" => 1,
|
65
|
+
:"金頭の桂" => 1,
|
55
66
|
:"銀ばさみ" => 1,
|
67
|
+
:"雪隠詰め" => 1,
|
68
|
+
:"頭金" => 1,
|
69
|
+
:"頭銀" => 1,
|
56
70
|
:"2手目△3ニ飛戦法" => 2,
|
57
71
|
:"2手目△3二銀システム" => 2,
|
58
72
|
:"2手目△6二銀戦法" => 2,
|
@@ -66,11 +80,14 @@ module Bioshogi
|
|
66
80
|
:"こびん攻め" => 3,
|
67
81
|
:"メイドシステム" => 3,
|
68
82
|
:"天彦流▲6六角" => 3,
|
83
|
+
:"居飛車の税金" => 3,
|
69
84
|
:"手損角交換型" => 3,
|
85
|
+
:"控えの桂" => 3,
|
70
86
|
:"継ぎ歩" => 3,
|
71
87
|
:"英ちゃん流中飛車" => 3,
|
72
88
|
:"角不成" => 3,
|
73
89
|
:"角道オープン四間飛車" => 3,
|
90
|
+
:"跳ね違いの桂" => 3,
|
74
91
|
:"連打の歩" => 3,
|
75
92
|
:"金沢流" => 3,
|
76
93
|
:"陽動振り飛車" => 3,
|
@@ -223,7 +240,7 @@ module Bioshogi
|
|
223
240
|
:"悪形矢倉" => 21,
|
224
241
|
:"桐山流タテ歩棒銀" => 21,
|
225
242
|
:"片ツノ銀囲い" => 21,
|
226
|
-
:"
|
243
|
+
:"石田流本組み" => 21,
|
227
244
|
:"立石流四間飛車" => 21,
|
228
245
|
:"藤井システム" => 21,
|
229
246
|
:"鎖鎌銀" => 21,
|
@@ -311,6 +328,7 @@ module Bioshogi
|
|
311
328
|
:"大山美濃" => 29,
|
312
329
|
:"左美濃" => 29,
|
313
330
|
:"流れ矢倉" => 29,
|
331
|
+
:"石田流" => 29,
|
314
332
|
:"金無双" => 29,
|
315
333
|
:"カギ囲い" => 30,
|
316
334
|
:"コーヤン流三間飛車" => 30,
|
@@ -69,12 +69,13 @@ module Bioshogi
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def piece_hash_table_keys_by(hv)
|
72
|
-
|
72
|
+
promoted = array_from_promoted(hv[:promoted])
|
73
|
+
motion = array_from_motion(hv[:motion])
|
73
74
|
|
74
75
|
av = []
|
75
76
|
Array.wrap(hv[:piece_key]).each do |x|
|
76
|
-
Array.wrap(
|
77
|
-
Array.wrap(
|
77
|
+
Array.wrap(promoted).each do |y|
|
78
|
+
Array.wrap(motion).each do |z|
|
78
79
|
av << [x, y, z]
|
79
80
|
end
|
80
81
|
end
|
@@ -82,6 +83,19 @@ module Bioshogi
|
|
82
83
|
av
|
83
84
|
end
|
84
85
|
|
86
|
+
def array_from_promoted(promoted)
|
87
|
+
case promoted
|
88
|
+
when true
|
89
|
+
[true]
|
90
|
+
when false
|
91
|
+
[false]
|
92
|
+
when :both
|
93
|
+
[true, false]
|
94
|
+
else
|
95
|
+
raise "must not happen"
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
85
99
|
def array_from_motion(motion)
|
86
100
|
case motion
|
87
101
|
when :move
|
@@ -21,22 +21,35 @@ module Bioshogi
|
|
21
21
|
{ key: "こびん攻め", trigger_piece_key: { piece_key: :pawn, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
22
22
|
{ key: "一間竜", trigger_piece_key: { piece_key: :rook, promoted: true, motion: :move }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
23
23
|
{ key: "位の確保", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :move }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: true, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
24
|
-
{ key: "腹銀", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :
|
25
|
-
{ key: "尻銀", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :
|
26
|
-
{ key: "
|
27
|
-
{ key: "
|
28
|
-
{ key: "
|
29
|
-
{ key: "
|
30
|
-
{ key: "
|
24
|
+
{ key: "腹銀", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
25
|
+
{ key: "尻銀", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
26
|
+
{ key: "肩銀", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
27
|
+
{ key: "裾銀", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
28
|
+
{ key: "頭銀", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
29
|
+
{ key: "腹金", trigger_piece_key: { piece_key: :gold, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
30
|
+
{ key: "尻金", trigger_piece_key: { piece_key: :gold, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
31
|
+
{ key: "肩金", trigger_piece_key: { piece_key: :gold, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
32
|
+
{ key: "裾金", trigger_piece_key: { piece_key: :gold, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
33
|
+
{ key: "頭金", trigger_piece_key: { piece_key: :gold, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
34
|
+
{ key: "割り打ちの銀", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
35
|
+
{ key: "たすきの銀", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
36
|
+
{ key: "たすきの角", trigger_piece_key: { piece_key: :bishop, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
37
|
+
{ key: "桂頭の銀", trigger_piece_key: { piece_key: :silver, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
38
|
+
{ key: "歩頭の桂", trigger_piece_key: { piece_key: :knight, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
39
|
+
{ key: "金頭の桂", trigger_piece_key: { piece_key: :knight, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
31
40
|
{ key: "田楽刺し", trigger_piece_key: { piece_key: :lance, promoted: false, motion: :drop }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
32
|
-
{ key: "
|
33
|
-
{ key: "
|
41
|
+
{ key: "下段の香", trigger_piece_key: { piece_key: :lance, promoted: false, motion: :drop }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
42
|
+
{ key: "継ぎ桂", trigger_piece_key: { piece_key: :knight, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
43
|
+
{ key: "跳ね違いの桂", trigger_piece_key: { piece_key: :knight, promoted: :both, motion: :move }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
44
|
+
{ key: "ふんどしの桂", trigger_piece_key: { piece_key: :knight, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
45
|
+
{ key: "控えの桂", trigger_piece_key: { piece_key: :knight, promoted: false, motion: :drop }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
34
46
|
{ key: "パンツを脱ぐ", trigger_piece_key: { piece_key: :knight, promoted: false, motion: :move }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: 0, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
35
|
-
{ key: "銀ばさみ", trigger_piece_key: { piece_key: :pawn, promoted: false, motion: :
|
47
|
+
{ key: "銀ばさみ", trigger_piece_key: { piece_key: :pawn, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: true, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
36
48
|
{ key: "端玉には端歩", trigger_piece_key: { piece_key: :pawn, promoted: false, motion: :move }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
49
|
+
{ key: "居飛車の税金", trigger_piece_key: nil, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: true, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
37
50
|
{ key: "銀冠の小部屋", trigger_piece_key: nil, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
38
51
|
{ key: "幽霊角", trigger_piece_key: nil, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
39
|
-
{ key: "遠見の角", trigger_piece_key: { piece_key: :bishop, promoted: false, motion: :
|
52
|
+
{ key: "遠見の角", trigger_piece_key: { piece_key: :bishop, promoted: false, motion: :both }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
40
53
|
{ key: "突き違いの歩", trigger_piece_key: nil, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: true, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
41
54
|
{ key: "土下座の歩", trigger_piece_key: { piece_key: :pawn, promoted: false, motion: :drop }, parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: nil, not_have_pawn: nil, kill_only: nil, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: nil, kill_count_lteq: nil, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, },
|
42
55
|
{ key: "2段ロケット", parent: nil, },
|
@@ -5,8 +5,6 @@
|
|
5
5
|
module Bioshogi
|
6
6
|
module Analysis
|
7
7
|
class TechniqueVerifyInfo
|
8
|
-
ROW_IS_2 = 1 # ▲から見て2段目のこと
|
9
|
-
|
10
8
|
include ApplicationMemoryRecord
|
11
9
|
memory_record [
|
12
10
|
{
|
@@ -124,9 +122,11 @@ module Bioshogi
|
|
124
122
|
},
|
125
123
|
},
|
126
124
|
|
125
|
+
################################################################################ 銀
|
126
|
+
|
127
127
|
{
|
128
128
|
key: "腹銀",
|
129
|
-
description: "
|
129
|
+
description: "銀を打ったか移動させたとき左右どちらかに相手の玉がある",
|
130
130
|
func: proc {
|
131
131
|
verify_if do
|
132
132
|
V.left_right_vectors.any? do |e|
|
@@ -142,7 +142,7 @@ module Bioshogi
|
|
142
142
|
|
143
143
|
{
|
144
144
|
key: "尻銀",
|
145
|
-
description: "
|
145
|
+
description: "銀を打ったか移動させたとき下に相手の玉がある",
|
146
146
|
func: proc {
|
147
147
|
verify_if do
|
148
148
|
if v = soldier.relative_move_to(:down)
|
@@ -154,6 +154,96 @@ module Bioshogi
|
|
154
154
|
},
|
155
155
|
},
|
156
156
|
|
157
|
+
{
|
158
|
+
key: "肩銀",
|
159
|
+
description: "銀を打ったか移動させたとき左斜め前か右斜め前に玉がある",
|
160
|
+
func: proc {
|
161
|
+
verify_if do
|
162
|
+
V.bishop_naname_mae_vectors.any? do |up_left|
|
163
|
+
if v = soldier.relative_move_to(up_left)
|
164
|
+
if s = board[v]
|
165
|
+
s.piece.key == :king && opponent?(s)
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
},
|
171
|
+
},
|
172
|
+
|
173
|
+
{
|
174
|
+
key: "裾銀",
|
175
|
+
description: "銀を打ったか移動させたとき左斜め後か右斜め後に玉がある",
|
176
|
+
func: proc {
|
177
|
+
verify_if do
|
178
|
+
V.wariuchi_vectors.any? do |down_left|
|
179
|
+
if v = soldier.relative_move_to(down_left)
|
180
|
+
if s = board[v]
|
181
|
+
s.piece.key == :king && opponent?(s)
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
186
|
+
},
|
187
|
+
},
|
188
|
+
|
189
|
+
{
|
190
|
+
key: "頭銀",
|
191
|
+
description: "銀を打ったか移動させたとき前に相手の玉がある",
|
192
|
+
func: proc {
|
193
|
+
verify_if do
|
194
|
+
if v = soldier.relative_move_to(:up)
|
195
|
+
if s = board[v]
|
196
|
+
s.piece.key == :king && opponent?(s)
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
200
|
+
},
|
201
|
+
},
|
202
|
+
|
203
|
+
################################################################################ 金
|
204
|
+
|
205
|
+
{
|
206
|
+
key: "腹金",
|
207
|
+
description: "金を打ったか移動させたとき左右どちらかに相手の玉がある",
|
208
|
+
func: proc {
|
209
|
+
instance_eval(&TechniqueVerifyInfo[:"腹銀"].func)
|
210
|
+
},
|
211
|
+
},
|
212
|
+
|
213
|
+
{
|
214
|
+
key: "尻金",
|
215
|
+
description: "金を打ったか移動させたとき下に相手の玉がある",
|
216
|
+
func: proc {
|
217
|
+
instance_eval(&TechniqueVerifyInfo[:"尻銀"].func)
|
218
|
+
},
|
219
|
+
},
|
220
|
+
|
221
|
+
{
|
222
|
+
key: "肩金",
|
223
|
+
description: "金を打ったか移動させたとき左斜め前か右斜め前に玉がある",
|
224
|
+
func: proc {
|
225
|
+
instance_eval(&TechniqueVerifyInfo[:"肩銀"].func)
|
226
|
+
},
|
227
|
+
},
|
228
|
+
|
229
|
+
{
|
230
|
+
key: "裾金",
|
231
|
+
description: "金を打ったか移動させたとき左斜め後か右斜め後に玉がある",
|
232
|
+
func: proc {
|
233
|
+
instance_eval(&TechniqueVerifyInfo[:"裾銀"].func)
|
234
|
+
},
|
235
|
+
},
|
236
|
+
|
237
|
+
{
|
238
|
+
key: "頭金",
|
239
|
+
description: "金を打ったか移動させたとき前に相手の玉がある",
|
240
|
+
func: proc {
|
241
|
+
instance_eval(&TechniqueVerifyInfo[:"頭銀"].func)
|
242
|
+
},
|
243
|
+
},
|
244
|
+
|
245
|
+
################################################################################
|
246
|
+
|
157
247
|
{
|
158
248
|
key: "垂れ歩",
|
159
249
|
description: "打った歩の前が空で次に成れる余地がある場合",
|
@@ -282,7 +372,7 @@ module Bioshogi
|
|
282
372
|
|
283
373
|
{
|
284
374
|
key: "歩頭の桂",
|
285
|
-
description: "
|
375
|
+
description: "打ったまたは移動した桂の上に相手の歩がある",
|
286
376
|
func: proc {
|
287
377
|
verify_if do
|
288
378
|
if v = soldier.relative_move_to(:up)
|
@@ -294,12 +384,30 @@ module Bioshogi
|
|
294
384
|
},
|
295
385
|
},
|
296
386
|
|
387
|
+
{
|
388
|
+
key: "金頭の桂",
|
389
|
+
description: "打ったまたは移動した桂の上に相手の金がある",
|
390
|
+
func: proc {
|
391
|
+
verify_if do
|
392
|
+
if v = soldier.relative_move_to(:up)
|
393
|
+
if s = board[v]
|
394
|
+
s.piece.key == :gold && opponent?(s)
|
395
|
+
end
|
396
|
+
end
|
397
|
+
end
|
398
|
+
},
|
399
|
+
},
|
400
|
+
|
297
401
|
{
|
298
402
|
key: "銀ばさみ",
|
299
403
|
description: "動かした歩の左右どちらかに相手の銀があり、その向こうに自分の歩がある。また歩の前に何もないこと。",
|
300
404
|
func: proc {
|
301
405
|
#【条件1】「同歩」でないこと
|
302
|
-
|
406
|
+
skip_if do
|
407
|
+
if move_hand = executor.move_hand
|
408
|
+
move_hand.captured_soldier
|
409
|
+
end
|
410
|
+
end
|
303
411
|
|
304
412
|
#【条件2】進めた歩の前が空であること
|
305
413
|
verify_if do
|
@@ -431,6 +539,17 @@ module Bioshogi
|
|
431
539
|
},
|
432
540
|
},
|
433
541
|
|
542
|
+
{
|
543
|
+
# https://yokohamayanke.com/1078/ によると金底の香の状態でも「下段の香」として紹介されている
|
544
|
+
# いろんな条件を考えたが結局「下段」のみのチェックとする
|
545
|
+
key: "下段の香",
|
546
|
+
description: "打った香が一番下",
|
547
|
+
func: proc {
|
548
|
+
#【条件1】「最下段」であること
|
549
|
+
verify_if { soldier.bottom_spaces.zero? }
|
550
|
+
},
|
551
|
+
},
|
552
|
+
|
434
553
|
{
|
435
554
|
key: "ふんどしの桂",
|
436
555
|
description: "打った桂の2つ前の左右に自分より価値の高い相手の駒がある",
|
@@ -449,6 +568,34 @@ module Bioshogi
|
|
449
568
|
},
|
450
569
|
},
|
451
570
|
|
571
|
+
{
|
572
|
+
key: "控えの桂",
|
573
|
+
description: "打った桂の利きにある相手の駒を集め、それが1つ以上かつすべて歩である",
|
574
|
+
func: proc {
|
575
|
+
#【条件1】打った位置が6段目以降である
|
576
|
+
verify_if { soldier.top_spaces >= Dimension::Row.promotable_depth + 2 }
|
577
|
+
|
578
|
+
# 打った桂の利きの2箇所にある相手の駒を取得する
|
579
|
+
soldiers = V.keima_vectors.collect { |e|
|
580
|
+
if v = soldier.relative_move_to(e)
|
581
|
+
if s = board[v]
|
582
|
+
if opponent?(s)
|
583
|
+
s
|
584
|
+
end
|
585
|
+
end
|
586
|
+
end
|
587
|
+
}.compact
|
588
|
+
|
589
|
+
# 【条件2】 相手の駒は1つ以上ある
|
590
|
+
verify_if { !soldiers.empty? }
|
591
|
+
|
592
|
+
# 【条件3】 相手の駒は「歩」である
|
593
|
+
verify_if do
|
594
|
+
soldiers.all? { |e| e.piece.key == :pawn }
|
595
|
+
end
|
596
|
+
},
|
597
|
+
},
|
598
|
+
|
452
599
|
{
|
453
600
|
key: "土下座の歩",
|
454
601
|
description: nil,
|
@@ -597,6 +744,28 @@ module Bioshogi
|
|
597
744
|
},
|
598
745
|
},
|
599
746
|
|
747
|
+
{
|
748
|
+
key: "跳ね違いの桂",
|
749
|
+
description: "移動元から見て移動してない方に相手が1手前に移動した桂があるか?",
|
750
|
+
func: proc {
|
751
|
+
verify_if do
|
752
|
+
# △33桂(21)▲13桂成(25)で考える
|
753
|
+
# 跳ね違いは相手の桂を捌けなくする目的でもあるため「成っていない桂」のチェックとする
|
754
|
+
V.keima_vectors.any? do |e|
|
755
|
+
if v = origin_soldier.relative_move_to(e) # 25から33と13を見る
|
756
|
+
if s = board[v] # そこにある駒
|
757
|
+
if opponent?(s) && s.piece.key == :knight && s.normal? # その駒は相手の駒かつ桂
|
758
|
+
if hand_log = executor.container.hand_logs[-1] # それは1手前に「動かした」駒か?
|
759
|
+
hand_log&.move_hand&.soldier == s
|
760
|
+
end
|
761
|
+
end
|
762
|
+
end
|
763
|
+
end
|
764
|
+
end
|
765
|
+
end
|
766
|
+
},
|
767
|
+
},
|
768
|
+
|
600
769
|
{
|
601
770
|
key: "入玉",
|
602
771
|
description: "玉が4段目から3段目に移動した",
|
@@ -625,3 +794,7 @@ module Bioshogi
|
|
625
794
|
end
|
626
795
|
end
|
627
796
|
end
|
797
|
+
# ~> -:8:in `<class:TechniqueVerifyInfo>': uninitialized constant Bioshogi::Analysis::TechniqueVerifyInfo::ApplicationMemoryRecord (NameError)
|
798
|
+
# ~> from -:7:in `<module:Analysis>'
|
799
|
+
# ~> from -:6:in `<module:Bioshogi>'
|
800
|
+
# ~> from -:5:in `<main>'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
棋戦:共有将棋盤
|
2
|
+
先手の囲い:居玉
|
3
|
+
後手の囲い:居玉
|
4
|
+
先手の備考:全駒, 相居玉
|
5
|
+
後手の備考:玉単騎, 相居玉
|
6
|
+
先手の棋風:王道
|
7
|
+
後手の棋風:王道
|
8
|
+
後手の持駒:なし
|
9
|
+
9 8 7 6 5 4 3 2 1
|
10
|
+
+---------------------------+
|
11
|
+
| ・ ・ ・ ・v玉 ・ ・ ・ ・|一
|
12
|
+
| ・ ・ ・ ・ ・ ・ ・v金 ・|二
|
13
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|三
|
14
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|四
|
15
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|五
|
16
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|六
|
17
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|七
|
18
|
+
| ・ ・ ・ ・ ・ ・ ・ 飛 ・|八
|
19
|
+
| ・ ・ ・ ・ 玉 ・ ・ ・ ・|九
|
20
|
+
+---------------------------+
|
21
|
+
先手の持駒:飛 角二 金三 銀四 桂四 香四 歩十八
|
22
|
+
先手番
|
23
|
+
手数----指手---------消費時間--
|
24
|
+
1 2二飛成(28)
|
25
|
+
*▲備考:全駒
|
26
|
+
2 投了
|
27
|
+
まで1手で先手の勝ち
|