bioshogi 0.0.14 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.dumbjump +4 -0
- data/A/342/206/222B/342/206/222C/346/210/246/346/263/225.txt +2 -2
- data/Gemfile.lock +1 -1
- data/README.org +3 -3
- data/lib/bioshogi/ai/brain.rb +6 -6
- data/lib/bioshogi/analysis/analyzer.rb +66 -8
- data/lib/bioshogi/analysis/analyzer_mod.rb +2 -9
- data/lib/bioshogi/analysis/attack_info.rb +231 -227
- data/lib/bioshogi/analysis/{tech_accessor.rb → basic_accessor.rb} +4 -4
- data/lib/bioshogi/analysis/board_piller_methods.rb +9 -9
- data/lib/bioshogi/analysis/defense_info.rb +132 -132
- data/lib/bioshogi/analysis/file_normalizer.rb +1 -1
- data/lib/bioshogi/analysis/frequency.rb +368 -311
- data/lib/bioshogi/analysis/note_info.rb +6 -6
- data/lib/bioshogi/analysis/rocket_analyzer.rb +45 -58
- data/lib/bioshogi/analysis/shape_info.rb +73 -19
- data/lib/bioshogi/analysis/style_accessor.rb +22 -19
- data/lib/bioshogi/analysis/tactic_hit_turn_table.rb +8 -3
- data/lib/bioshogi/analysis/tactic_hit_turn_table_generator.rb +15 -14
- data/lib/bioshogi/analysis/tactic_info.rb +2 -2
- data/lib/bioshogi/analysis/technique_info.rb +3 -4
- data/lib/bioshogi/analysis/technique_verify_info.rb +627 -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/345/205/250/343/203/226/343/203/203/343/203/201.kif +4 -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/214/201/344/271/205/346/210/246.kif +2 -2
- 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 +7 -3
- data/lib/bioshogi/analysis//345/202/231/350/200/203//351/225/267/346/211/213/346/225/260.kif +1 -2
- data/lib/bioshogi/analysis//345/202/231/350/200/203//351/247/222/346/237/261.kif +4 -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/213/343/202/223/343/201/264/343/202/207/343/201/206/345/233/262/343/201/204.kif +4 -2
- 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 +1 -1
- 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 +1 -1
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/202/277/345/233/262/343/201/204.kif +3 -1
- 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 +1 -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 +1 -1
- 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 +6 -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 +2 -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 +2 -2
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/256/265/347/253/257/347/216/211.kif +3 -3
- 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/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 +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 +4 -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 +1 -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 +1 -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 +4 -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 +5 -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/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/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/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/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//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/347/251/264/347/206/212.kif +1 -1
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/256/261/345/205/245/343/202/212/345/250/230.kif +2 -2
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/267/217/347/237/242/345/200/211.kif +1 -1
- 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/212/346/260/264/347/237/242/345/200/211.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 +1 -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 +1 -1
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/276/216/346/277/203.kif +2 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240/347/251/264/347/206/212.kif +1 -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 +2 -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/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/U/343/202/277/343/203/274/343/203/263/351/243/233/350/273/212.kif +5 -2
- 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 +5 -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 +1 -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 +3 -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 +1 -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 +1 -1
- 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 +4 -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 +1 -1
- 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/250/343/203/253/343/203/242/346/200/245/346/210/246.kif +6 -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 +6 -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 +3 -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 +1 -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 +1 -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 +3 -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 -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 +6 -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 +1 -1
- 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 +1 -1
- 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 +1 -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 +2 -2
- 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/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 -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 +2 -1
- 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 +6 -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 +3 -2
- 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 +1 -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 +2 -1
- 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 +2 -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 +3 -2
- 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/235/351/226/223/351/243/233/350/273/212.kif +1 -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 +1 -1
- 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 +1 -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/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 +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 +3 -2
- 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 +2 -1
- 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 +4 -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 +1 -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 +6 -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 +2 -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/346/243/222/351/212/200/345/236/213.kif +2 -0
- 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 +3 -2
- 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//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 +2 -0
- 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 +3 -1
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/347/261/263/351/225/267/347/216/211.kif +1 -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 +5 -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 +2 -1
- 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/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 +2 -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 -2
- 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 +3 -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 +2 -0
- 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 +3 -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/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 +3 -2
- 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 +8 -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 +2 -1
- 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 +3 -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/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/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 +5 -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 +5 -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 +4 -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/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 +2 -1
- 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/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/346/217/233/343/202/217/343/202/212/345/217/263/347/216/211.kif +5 -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 +4 -1
- 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 +3 -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 +1 -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 +3 -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 +2 -2
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/201/346/234/250/345/217/263/347/216/211.kif +3 -2
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/242/250/350/273/212.kif +1 -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/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//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//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.rb +4 -0
- 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/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/formatter/sugatayaki_validator.rb +1 -1
- 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 +37 -37
- data/lib/bioshogi/order_info.rb +5 -3
- data/lib/bioshogi/piece/piece_vector.rb +16 -10
- data/lib/bioshogi/piece.rb +2 -2
- data/lib/bioshogi/place.rb +155 -62
- data/lib/bioshogi/player/soldier_methods.rb +2 -2
- data/lib/bioshogi/screen_image/core_methods.rb +2 -2
- data/lib/bioshogi/screen_image/pentagon.rb +2 -2
- data/lib/bioshogi/screen_image/soldier_methods.rb +1 -1
- data/lib/bioshogi/screen_image/stand.rb +5 -5
- data/lib/bioshogi/soldier/technique_matcher_methods.rb +51 -0
- data/lib/bioshogi/soldier.rb +14 -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 +2 -0
- data//347/275/256/343/201/215/346/217/233/343/201/210/346/216/250/345/245/250.txt +1 -1
- metadata +14 -7
- data/lib/bioshogi/analysis/technique_matcher_info.rb +0 -810
- data/lib/bioshogi/dimension/place_x.rb +0 -27
- data/lib/bioshogi/dimension/place_y.rb +0 -57
@@ -7,14 +7,14 @@ module Bioshogi
|
|
7
7
|
memory_record [
|
8
8
|
# 戦法から引っ越し
|
9
9
|
|
10
|
-
{ 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: true, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: true, kill_count_lteq: 1, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: "角", op_hold_piece_eq: nil, group_key: nil, add_to_self: nil, add_to_opponent: "角交換型",
|
11
|
-
{ key: "手得角交換型", parent: "角交換型", 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, op_hold_piece_eq: nil, group_key: nil, add_to_self: nil, add_to_opponent: nil,
|
12
|
-
{ key: "手損角交換型", parent: "角交換型", related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: :
|
10
|
+
{ 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: true, drop_only: nil, pawn_bishop_have_ok: nil, pawn_have_ok: nil, outbreak_skip: true, kill_count_lteq: 1, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: "角", op_hold_piece_eq: nil, group_key: nil, add_to_self: nil, add_to_opponent: "角交換型", technique_verify_info: nil, },
|
11
|
+
{ key: "手得角交換型", parent: "角交換型", 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, op_hold_piece_eq: nil, group_key: nil, add_to_self: nil, add_to_opponent: nil, technique_verify_info: nil, },
|
12
|
+
{ key: "手損角交換型", parent: "角交換型", related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: nil, order_key: :order_first, not_have_pawn: nil, kill_only: true, 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: "角", op_hold_piece_eq: nil, group_key: nil, add_to_self: nil, add_to_opponent: "手得角交換型", technique_verify_info: nil, },
|
13
13
|
|
14
14
|
# shape_info あり
|
15
15
|
|
16
|
-
{ key: "矢倉旧24手組", parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: 24, 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: 0, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, op_hold_piece_eq: nil, group_key: nil, add_to_self: nil, add_to_opponent: "矢倉旧24手組",
|
17
|
-
{ key: "矢倉新24手組", parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: 24, 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: 0, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, op_hold_piece_eq: nil, group_key: nil, add_to_self: nil, add_to_opponent: "矢倉新24手組",
|
16
|
+
{ key: "矢倉旧24手組", parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: 24, 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: 0, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, op_hold_piece_eq: nil, group_key: nil, add_to_self: nil, add_to_opponent: "矢倉旧24手組", technique_verify_info: nil, },
|
17
|
+
{ key: "矢倉新24手組", parent: nil, related_ancestors: nil, alternate_name: nil, alias_names: nil, turn_limit: nil, turn_eq: 24, 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: 0, hold_piece_not_in: nil, hold_piece_in: nil, hold_piece_empty: nil, hold_piece_eq: nil, op_hold_piece_eq: nil, group_key: nil, add_to_self: nil, add_to_opponent: "矢倉新24手組", technique_verify_info: nil, },
|
18
18
|
|
19
19
|
# パラメータがないものはあとで埋めるもの
|
20
20
|
|
@@ -93,7 +93,7 @@ module Bioshogi
|
|
93
93
|
class_attribute :human_name, default: "備考"
|
94
94
|
|
95
95
|
include ShapeInfoRelation
|
96
|
-
include
|
96
|
+
include BasicAccessor
|
97
97
|
include StyleAccessor
|
98
98
|
end
|
99
99
|
end
|
@@ -5,48 +5,45 @@ module Bioshogi
|
|
5
5
|
class RocketAnalyzer
|
6
6
|
DEBUG = false
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
delegate *[
|
9
|
+
:executor,
|
10
|
+
:soldier,
|
11
|
+
:board,
|
12
|
+
:drop_hand,
|
13
|
+
:opponent?,
|
14
|
+
:verify_if,
|
15
|
+
:skip_if,
|
16
|
+
], to: :@analyzer
|
13
17
|
|
14
18
|
def initialize(analyzer)
|
15
19
|
@analyzer = analyzer
|
16
20
|
end
|
17
21
|
|
18
22
|
def call
|
19
|
-
|
20
|
-
|
21
|
-
|
23
|
+
catch :skip do
|
24
|
+
# 1. 「飛龍」が来たか「香」を打った
|
25
|
+
verify_if { trigger? }
|
22
26
|
|
23
|
-
|
24
|
-
count = @rook_count + @lance_count
|
27
|
+
investigate
|
25
28
|
|
26
|
-
|
27
|
-
|
28
|
-
return
|
29
|
-
end
|
29
|
+
# 「飛龍香」が縦に2つ以上あること
|
30
|
+
verify_if { count_all >= 2 }
|
30
31
|
|
31
|
-
|
32
|
-
|
33
|
-
return
|
34
|
-
end
|
32
|
+
# 「飛飛」並びは除外する
|
33
|
+
skip_if { @rook_count == 2 && @lance_count == 0 }
|
35
34
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
35
|
+
# 飛の下に香がある形は除外する
|
36
|
+
# [@lance, @rook, @lance <=> @rook, soldier.location.sign_dir] # => [3, 4, -1, 1] (先手)
|
37
|
+
# [@lance, @rook, @lance <=> @rook, soldier.location.sign_dir] # => [5, 4, 1, -1] (後手)
|
38
|
+
# つまり ((@lance <=> @rook) + soldier.location.sign_dir).zero? のとき飛車の上に香車がいる
|
39
|
+
skip_if do
|
40
|
+
if @rook_count == 1 && @lance_count == 1
|
41
|
+
((@lance.row.value <=> @rook.row.value) + soldier.location.sign_dir).nonzero?
|
42
|
+
end
|
43
43
|
end
|
44
|
-
end
|
45
44
|
|
46
|
-
|
47
|
-
|
48
|
-
if technique_info = TechniqueInfo[:"#{count}段ロケット"] # 7段以上のロケットは除外する
|
49
|
-
analyzer.skill_push(technique_info)
|
45
|
+
if e = TechniqueInfo[:"#{count_all}段ロケット"] # 7段以上のロケットは除外する
|
46
|
+
@analyzer.skill_push(e)
|
50
47
|
end
|
51
48
|
end
|
52
49
|
end
|
@@ -54,41 +51,39 @@ module Bioshogi
|
|
54
51
|
private
|
55
52
|
|
56
53
|
def investigate
|
57
|
-
@
|
58
|
-
@
|
54
|
+
@rook = nil # 飛車の座標
|
55
|
+
@lance = nil # 香車の座標
|
59
56
|
|
60
|
-
@rook_count = 0
|
61
|
-
@lance_count = 0
|
57
|
+
@rook_count = 0 # 発見した飛車の個数
|
58
|
+
@lance_count = 0 # 発見した香車の個数
|
62
59
|
|
63
60
|
# いま打った駒が飛車か香車かで初期値を調整する
|
64
61
|
|
65
62
|
if soldier.piece.key == :rook
|
66
63
|
@rook_count += 1
|
67
|
-
@
|
64
|
+
@rook = soldier.place
|
68
65
|
else
|
69
66
|
@lance_count += 1
|
70
|
-
@
|
67
|
+
@lance = soldier.place
|
71
68
|
end
|
72
69
|
|
73
70
|
# 打った位置から上下に移動して飛車と香車の位置と個数を調べる
|
74
71
|
|
75
|
-
[
|
72
|
+
[:up, :down].each do |up|
|
76
73
|
(1..).each do |y|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
if s = analyzer.surface[place]
|
82
|
-
if s.location != soldier.location
|
74
|
+
v = soldier.relative_move_to(up, magnification: y)
|
75
|
+
v or break # 盤面の外
|
76
|
+
if s = @analyzer.board[v]
|
77
|
+
if opponent?(s)
|
83
78
|
break # 相手の駒
|
84
79
|
end
|
85
80
|
case
|
86
81
|
when s.piece.key == :rook # 「飛」「龍」
|
87
82
|
@rook_count += 1
|
88
|
-
@
|
89
|
-
when s.piece.key == :lance &&
|
83
|
+
@rook = v
|
84
|
+
when s.piece.key == :lance && s.normal? # 「香」
|
90
85
|
@lance_count += 1
|
91
|
-
@
|
86
|
+
@lance = v
|
92
87
|
else
|
93
88
|
break # 自分の「飛龍香」以外
|
94
89
|
end
|
@@ -97,20 +92,12 @@ module Bioshogi
|
|
97
92
|
end
|
98
93
|
end
|
99
94
|
|
100
|
-
def
|
101
|
-
soldier.piece.key == :rook || (soldier.piece.key == :lance &&
|
102
|
-
end
|
103
|
-
|
104
|
-
def surface
|
105
|
-
analyzer.surface
|
106
|
-
end
|
107
|
-
|
108
|
-
def soldier
|
109
|
-
executor.hand.soldier
|
95
|
+
def trigger?
|
96
|
+
soldier.piece.key == :rook || (soldier.piece.key == :lance && soldier.normal? && drop_hand) # 「飛龍」が来たか「香」を打った
|
110
97
|
end
|
111
98
|
|
112
|
-
def
|
113
|
-
|
99
|
+
def count_all
|
100
|
+
@rook_count + @lance_count
|
114
101
|
end
|
115
102
|
end
|
116
103
|
end
|
@@ -2434,11 +2434,12 @@ EOT
|
|
2434
2434
|
},
|
2435
2435
|
{
|
2436
2436
|
key: "都成流△3一金",
|
2437
|
+
description: "本人の解説動画で先手でも手番調整で使えるとのことなので後手番専用としてはいけない",
|
2437
2438
|
body: <<~EOT,
|
2438
2439
|
+---------------------------+
|
2439
2440
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
2440
2441
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
2441
|
-
| ・ ・ ・ ・ ・ ・ ・
|
2442
|
+
| ・ ・ ・ ・ ・ ・v歩 ・ ・|
|
2442
2443
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
2443
2444
|
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
2444
2445
|
| ・v飛 歩 ・ ・ ・ ・ ・ ・|
|
@@ -2635,6 +2636,24 @@ EOT
|
|
2635
2636
|
+---------------------------+
|
2636
2637
|
EOT
|
2637
2638
|
},
|
2639
|
+
{
|
2640
|
+
key: "ゴリ違い角",
|
2641
|
+
description: "お互いに角を取り合った局面で先手は26歩の1回で2筋の歩をぶつけられる",
|
2642
|
+
body: <<~EOT,
|
2643
|
+
+---------------------------+
|
2644
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
2645
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
2646
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
2647
|
+
| ・ ・ ・ ・ ・ ・ ・v歩 ・|
|
2648
|
+
| ・ ・ ・v角 ・ ・v歩 角 ・|
|
2649
|
+
| ・ ・ ・!歩 ・ ・ ・ ・ ・|
|
2650
|
+
| ・ ・ 金 ・ ・ ・ ・ ・ ・|
|
2651
|
+
| ・ ・ ・ ・ ・ ・ ・ 飛 ・|
|
2652
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
2653
|
+
+---------------------------+
|
2654
|
+
EOT
|
2655
|
+
},
|
2656
|
+
|
2638
2657
|
{
|
2639
2658
|
key: "木村定跡",
|
2640
2659
|
body: <<~EOT,
|
@@ -3515,7 +3534,7 @@ EOT
|
|
3515
3534
|
},
|
3516
3535
|
|
3517
3536
|
{
|
3518
|
-
key: "
|
3537
|
+
key: "戸辺流4→3戦法",
|
3519
3538
|
description: "後手番で早石田に組む戦法で、▲65角打を避けるためにいったん4筋で歩を守り、その間に玉を動かし、3筋に移動する。35歩を後回しにするのが重要",
|
3520
3539
|
body: <<~EOT,
|
3521
3540
|
+---------------------------+
|
@@ -3638,6 +3657,23 @@ EOT
|
|
3638
3657
|
EOT
|
3639
3658
|
},
|
3640
3659
|
|
3660
|
+
{
|
3661
|
+
key: "鬼六流どっかん飛車",
|
3662
|
+
body: <<~EOT,
|
3663
|
+
+---------------------------+
|
3664
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3665
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3666
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3667
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3668
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3669
|
+
| ・v飛 ・ ・ ・ ・ ・ ・ ・|
|
3670
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3671
|
+
| ・!飛 ・ ・ ★ 銀 金 玉 ・|
|
3672
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
3673
|
+
+---------------------------+
|
3674
|
+
EOT
|
3675
|
+
},
|
3676
|
+
|
3641
3677
|
{
|
3642
3678
|
key: "向かい飛車",
|
3643
3679
|
body: <<~EOT,
|
@@ -3986,6 +4022,24 @@ EOT
|
|
3986
4022
|
EOT
|
3987
4023
|
},
|
3988
4024
|
|
4025
|
+
{
|
4026
|
+
key: "錆刀戦法",
|
4027
|
+
description: "74歩とさせて37歩としていない状態で28角打とする",
|
4028
|
+
body: <<~EOT,
|
4029
|
+
+---------------------------+
|
4030
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
4031
|
+
| ・v飛 ・ ・ ・ ・ ・ ・ ・|
|
4032
|
+
| ・ ・ ○ ・ ・ ・ ・ ・ ・|
|
4033
|
+
| ・ ・v歩 ○ ・ ・ ・ ・ ・|
|
4034
|
+
| ・ ・ ・ 歩 ○ ・ ・ ・ ・|
|
4035
|
+
| ・ ・ 歩 ・ 歩 ○ ・ ・ ・|
|
4036
|
+
| ・ ・ 銀 ・ 銀 ・ 歩 ・ ・|
|
4037
|
+
| ・ ・ ・ 飛 ・ ・ 玉!角 ・|
|
4038
|
+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|
|
4039
|
+
+---------------------------+
|
4040
|
+
EOT
|
4041
|
+
},
|
4042
|
+
|
3989
4043
|
{
|
3990
4044
|
key: "幻想四間飛車",
|
3991
4045
|
body: <<~EOT,
|
@@ -5513,23 +5567,23 @@ EOT
|
|
5513
5567
|
+---------------------------+
|
5514
5568
|
EOT
|
5515
5569
|
},
|
5516
|
-
|
5517
|
-
|
5518
|
-
|
5519
|
-
|
5520
|
-
+---------------------------+
|
5521
|
-
| ・ ・ ・ ・ ・ ・ ・ ・ ・|一
|
5522
|
-
| ・ ・ ・ ・ ・ ・ ・ ・ ・|二
|
5523
|
-
| ・ ・ ・ ・ ・ ・ ・ ・ ・|三
|
5524
|
-
| ・ ・ ・ ・ ○ ・ ・ ・ ・|四
|
5525
|
-
| ・ ・ ・ ・ ・ ○ ・ ・ ・|五
|
5526
|
-
| ・ ・ ・ ・ ・ ・ ○ ・ ・|六
|
5527
|
-
| ・ ・ ・ ・ ・ ・ ・ ○ ・|七
|
5528
|
-
| ・ ・ ・ ・ ・ ・ ・ ・!角|八
|
5529
|
-
| ・ ・ ・ ・ ・ ・ ・ ・ ・|九
|
5530
|
-
+---------------------------+
|
5531
|
-
EOT
|
5532
|
-
|
5570
|
+
# {
|
5571
|
+
# key: "遠見の角",
|
5572
|
+
# body: <<~EOT,
|
5573
|
+
# 9 8 7 6 5 4 3 2 1
|
5574
|
+
# +---------------------------+
|
5575
|
+
# | ・ ・ ・ ・ ・ ・ ・ ・ ・|一
|
5576
|
+
# | ・ ・ ・ ・ ・ ・ ・ ・ ・|二
|
5577
|
+
# | ・ ・ ・ ・ ・ ・ ・ ・ ・|三
|
5578
|
+
# | ・ ・ ・ ・ ○ ・ ・ ・ ・|四
|
5579
|
+
# | ・ ・ ・ ・ ・ ○ ・ ・ ・|五
|
5580
|
+
# | ・ ・ ・ ・ ・ ・ ○ ・ ・|六
|
5581
|
+
# | ・ ・ ・ ・ ・ ・ ・ ○ ・|七
|
5582
|
+
# | ・ ・ ・ ・ ・ ・ ・ ・!角|八
|
5583
|
+
# | ・ ・ ・ ・ ・ ・ ・ ・ ・|九
|
5584
|
+
# +---------------------------+
|
5585
|
+
# EOT
|
5586
|
+
# },
|
5533
5587
|
{
|
5534
5588
|
key: "突き違いの歩",
|
5535
5589
|
body: <<~EOT,
|
@@ -4,41 +4,44 @@ module Bioshogi
|
|
4
4
|
module Analysis
|
5
5
|
concern :StyleAccessor do
|
6
6
|
class_methods do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
# - 頻度0件の戦法が多いため0件の戦法は初期値「変態」としてテーブルには含めない
|
8
|
+
# - 1件でも存在するものだけで4エリアで分けたテーブルを作る
|
9
|
+
# - そこに含まれなかったものは「変態」とする
|
10
|
+
# - こうすることでほとんどが王道になってしまうのを防ぐことができる
|
12
11
|
def styles_hash
|
13
12
|
@styles_hash ||= yield_self do
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
# 分布数降順の戦法配列を準備する
|
14
|
+
|
15
|
+
av = values
|
16
|
+
av = av.find_all { |e| e.frequency >= 1 } # 1件以上のものに絞る
|
17
|
+
av = av.sort_by { |e| -e.frequency } # 分布数降順とする
|
18
|
+
|
19
|
+
# テーブル作成
|
20
|
+
|
21
|
+
backets = Array.new(av.size, StyleInfo.count.pred) # 正確に四分割できないため「変態」で埋める
|
22
|
+
step = av.size / StyleInfo.count # 1区分の幅
|
23
|
+
StyleInfo.count.pred.times do |i| # i = 0, 1, 2
|
20
24
|
range = (i * step)...(i.next * step)
|
21
|
-
backets.fill(i, range)
|
25
|
+
backets.fill(i, range) # 最初の3区分を 0, 1, 2 で埋める
|
22
26
|
end
|
23
|
-
|
27
|
+
|
28
|
+
# 分布数降順の戦法に対応するスタイルを割り当てる
|
29
|
+
|
30
|
+
av.each_with_object({}).with_index do |(e, m), i|
|
24
31
|
m[e.key] = StyleInfo.fetch(backets[i])
|
25
32
|
end
|
26
33
|
end
|
27
34
|
end
|
28
35
|
end
|
29
36
|
|
30
|
-
# 王道 or 変態
|
31
|
-
# 新しい戦法を追加したばかりのときはテーブルにない場合がある? → 必ずある
|
32
|
-
# なぜなら最初に新しい戦法を追加するのは bioshogi 側なため。
|
33
|
-
# したがってない場合を心配する必要はない。
|
34
37
|
def style_info
|
35
|
-
self.class.styles_hash.
|
38
|
+
self.class.styles_hash[key] || StyleInfo.values.last
|
36
39
|
end
|
37
40
|
|
38
41
|
# 使用数
|
39
42
|
# これは Frequency にない場合もあるため、ない場合に 0 を返すのは正しい。
|
40
43
|
def frequency
|
41
|
-
Frequency
|
44
|
+
Frequency.dig(tactic_key, key) || 0
|
42
45
|
end
|
43
46
|
end
|
44
47
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# -*- frozen_string_literal: true -*-
|
2
2
|
# /Users/ikeda/src/bioshogi/lib/bioshogi/analysis/tactic_hit_turn_table_generator.rb から生成しているので編集するべからず
|
3
|
+
# 手数が nil のものは最後に判定してるため成立した手数を正確に知ることができない
|
3
4
|
module Bioshogi
|
4
5
|
module Analysis
|
5
6
|
TacticHitTurnTable = {
|
@@ -31,6 +32,7 @@ module Bioshogi
|
|
31
32
|
:"6段ロケット" => 1,
|
32
33
|
:"たすきの角" => 1,
|
33
34
|
:"たすきの銀" => 1,
|
35
|
+
:"たたきの歩" => 1,
|
34
36
|
:"ふんどしの桂" => 1,
|
35
37
|
:"パンツを脱ぐ" => 1,
|
36
38
|
:"一間竜" => 1,
|
@@ -47,10 +49,8 @@ module Bioshogi
|
|
47
49
|
:"歩頭の桂" => 1,
|
48
50
|
:"田楽刺し" => 1,
|
49
51
|
:"突き違いの歩" => 1,
|
50
|
-
:"端玉には端歩" => 1,
|
51
52
|
:"継ぎ桂" => 1,
|
52
53
|
:"腹銀" => 1,
|
53
|
-
:"遠見の角" => 1,
|
54
54
|
:"金底の歩" => 1,
|
55
55
|
:"銀ばさみ" => 1,
|
56
56
|
:"2手目△3ニ飛戦法" => 2,
|
@@ -60,6 +60,8 @@ module Bioshogi
|
|
60
60
|
:"パックマン戦法" => 2,
|
61
61
|
:"嬉野流" => 2,
|
62
62
|
:"新米長玉" => 2,
|
63
|
+
:"端玉には端歩" => 2,
|
64
|
+
:"遠見の角" => 2,
|
63
65
|
:"阪田流2手目△9四歩" => 2,
|
64
66
|
:"こびん攻め" => 3,
|
65
67
|
:"メイドシステム" => 3,
|
@@ -122,7 +124,7 @@ module Bioshogi
|
|
122
124
|
:"△3三飛戦法" => 10,
|
123
125
|
:"ダイレクト向かい飛車" => 10,
|
124
126
|
:"一間飛車" => 10,
|
125
|
-
:"
|
127
|
+
:"戸辺流4→3戦法" => 10,
|
126
128
|
:"阪田流向かい飛車" => 10,
|
127
129
|
:"ずれ美濃" => 11,
|
128
130
|
:"エルモ囲い" => 11,
|
@@ -141,6 +143,7 @@ module Bioshogi
|
|
141
143
|
:"英春流かまいたち戦法" => 12,
|
142
144
|
:"菜々河流向かい飛車" => 12,
|
143
145
|
:"カニ缶囲い" => 13,
|
146
|
+
:"ゴリ違い角" => 13,
|
144
147
|
:"入玉" => 13,
|
145
148
|
:"左山囲い" => 13,
|
146
149
|
:"耀龍四間飛車" => 13,
|
@@ -206,6 +209,7 @@ module Bioshogi
|
|
206
209
|
:"美濃囲い" => 19,
|
207
210
|
:"舟囲いDX" => 19,
|
208
211
|
:"角換わり早繰り銀" => 19,
|
212
|
+
:"鬼六流どっかん飛車" => 19,
|
209
213
|
:"△3三金型早繰り銀" => 20,
|
210
214
|
:"△4五角戦法" => 20,
|
211
215
|
:"一間飛車穴熊" => 20,
|
@@ -312,6 +316,7 @@ module Bioshogi
|
|
312
316
|
:"コーヤン流三間飛車" => 30,
|
313
317
|
:"羽生流右玉" => 30,
|
314
318
|
:"金多伝" => 30,
|
319
|
+
:"錆刀戦法" => 30,
|
315
320
|
:"▲4五歩早仕掛け" => 31,
|
316
321
|
:"オザワシステム" => 31,
|
317
322
|
:"セメント囲い" => 31,
|
@@ -8,7 +8,6 @@ module Bioshogi
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def call
|
11
|
-
body = body_format(to_h.inspect)
|
12
11
|
output_file.write(template % { body: body })
|
13
12
|
if @options[:verbose]
|
14
13
|
puts "write: #{output_file}"
|
@@ -16,10 +15,10 @@ module Bioshogi
|
|
16
15
|
end
|
17
16
|
|
18
17
|
def to_h
|
19
|
-
|
18
|
+
av = Analysis::TacticInfo.all_elements.collect do |e|
|
20
19
|
turn = nil
|
21
20
|
e.main_reference_info.formatter.container.hand_logs.each.with_index do |hand_log, i|
|
22
|
-
if hand_log.skill_set.
|
21
|
+
if hand_log.skill_set.has_skill?(e)
|
23
22
|
turn = i.next
|
24
23
|
break
|
25
24
|
end
|
@@ -27,7 +26,18 @@ module Bioshogi
|
|
27
26
|
[e, turn]
|
28
27
|
end
|
29
28
|
|
30
|
-
|
29
|
+
av.sort_by { |e, turn| [turn || 0, e.name] }.collect { |e, turn| [e.name, turn] }.to_h
|
30
|
+
end
|
31
|
+
|
32
|
+
def body
|
33
|
+
str = to_h.inspect
|
34
|
+
str = str.gsub(/{/, "")
|
35
|
+
str = str.gsub(/}/, ",")
|
36
|
+
str = str.gsub(/\s*,\s*/, ",\n")
|
37
|
+
str = str.gsub(/^(?=")/, " " * 3)
|
38
|
+
str = str.gsub("=>", " => ")
|
39
|
+
str = str.gsub(/ "/, ':"')
|
40
|
+
str = str.rstrip
|
31
41
|
end
|
32
42
|
|
33
43
|
def output_file
|
@@ -38,6 +48,7 @@ module Bioshogi
|
|
38
48
|
o = []
|
39
49
|
o << "# -*- frozen_string_literal: true -*-"
|
40
50
|
o << "# #{__FILE__} から生成しているので編集するべからず"
|
51
|
+
o << "# 手数が nil のものは最後に判定してるため成立した手数を正確に知ることができない"
|
41
52
|
o << "module Bioshogi"
|
42
53
|
o << " module Analysis"
|
43
54
|
o << " TacticHitTurnTable = {"
|
@@ -47,16 +58,6 @@ module Bioshogi
|
|
47
58
|
o << "end"
|
48
59
|
o.join("\n") + "\n"
|
49
60
|
end
|
50
|
-
|
51
|
-
def body_format(str)
|
52
|
-
str = str.gsub(/{/, "")
|
53
|
-
str = str.gsub(/}/, ",")
|
54
|
-
str = str.gsub(/\s*,\s*/, ",\n")
|
55
|
-
str = str.gsub(/^(?=")/, " " * 3)
|
56
|
-
str = str.gsub("=>", " => ")
|
57
|
-
str = str.gsub(/ "/, ':"')
|
58
|
-
str = str.rstrip
|
59
|
-
end
|
60
61
|
end
|
61
62
|
end
|
62
63
|
end
|
@@ -54,10 +54,10 @@ module Bioshogi
|
|
54
54
|
################################################################################
|
55
55
|
|
56
56
|
# :PIECE_HASH_TABLE:
|
57
|
-
#
|
57
|
+
# technique_verify_info を持っている all_elements
|
58
58
|
def piece_hash_table
|
59
59
|
@piece_hash_table ||= all_elements.each_with_object({}) do |e, m|
|
60
|
-
if e.
|
60
|
+
if e.technique_verify_info
|
61
61
|
Array.wrap(e.trigger_piece_key).each do |hv|
|
62
62
|
piece_hash_table_keys_by(hv).each do |key|
|
63
63
|
m[key] ||= []
|
@@ -13,7 +13,7 @@ module Bioshogi
|
|
13
13
|
|
14
14
|
include ApplicationMemoryRecord
|
15
15
|
memory_record [
|
16
|
-
|
16
|
+
{ 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, },
|
17
17
|
{ 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, },
|
18
18
|
{ 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, },
|
19
19
|
{ 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, },
|
@@ -36,10 +36,9 @@ module Bioshogi
|
|
36
36
|
{ 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, },
|
37
37
|
{ 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
38
|
{ 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:
|
39
|
+
{ key: "遠見の角", trigger_piece_key: { piece_key: :bishop, 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, },
|
40
40
|
{ 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
41
|
{ 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
|
-
# { 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: true, 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, },
|
43
42
|
{ key: "2段ロケット", parent: nil, },
|
44
43
|
{ key: "3段ロケット", parent: "2段ロケット", },
|
45
44
|
{ key: "4段ロケット", parent: "3段ロケット", },
|
@@ -50,7 +49,7 @@ module Bioshogi
|
|
50
49
|
class_attribute :human_name, default: "手筋"
|
51
50
|
|
52
51
|
include ShapeInfoRelation
|
53
|
-
include
|
52
|
+
include BasicAccessor
|
54
53
|
include StyleAccessor
|
55
54
|
|
56
55
|
class << self
|