bioshogi 0.0.17 → 0.0.18
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/.rubocop.yml +59 -0
- data/A/342/206/222B/342/206/222C/345/233/262/343/201/204.txt +145 -5
- data/A/342/206/222B/342/206/222C/346/210/246/346/263/225.txt +347 -52
- data/Gemfile.lock +77 -33
- data/bioshogi.gemspec +2 -1
- data/lib/bioshogi/ai/evaluator/attack_weight_table.rb +0 -1
- data/lib/bioshogi/ai/evaluator/base.rb +1 -1
- data/lib/bioshogi/ai/evaluator/level3.rb +2 -3
- data/lib/bioshogi/ai/evaluator/level4.rb +1 -1
- data/lib/bioshogi/alias_mod.rb +35 -0
- data/lib/bioshogi/analysis/abbrev_expander.rb +48 -0
- data/lib/bioshogi/analysis/analyzer_mod.rb +26 -41
- data/lib/bioshogi/analysis/atsumeruyo.rb +19 -0
- data/lib/bioshogi/analysis/attack_info.rb +441 -305
- data/lib/bioshogi/analysis/basic_accessor.rb +37 -94
- data/lib/bioshogi/analysis/board_piece_counts_methods.rb +12 -17
- data/lib/bioshogi/analysis/capture_analyzer.rb +27 -0
- data/lib/bioshogi/analysis/capture_detector.rb +107 -0
- data/lib/bioshogi/analysis/cluster_score_info.rb +48 -0
- data/lib/bioshogi/analysis/{board_piller_methods.rb → column_soldier_counter_methods.rb} +7 -6
- data/lib/bioshogi/analysis/custom_analyzer.rb +22 -0
- data/lib/bioshogi/analysis/custom_detector_info.rb +24 -0
- data/lib/bioshogi/analysis/custom_detectors/anaguma_detector.rb +129 -0
- data/lib/bioshogi/analysis/custom_detectors/gyokutousen_detector.rb +88 -0
- data/lib/bioshogi/analysis/custom_detectors/hikakukoukan_detector.rb +84 -0
- data/lib/bioshogi/analysis/custom_detectors/hisyakaku_kiru_detector.rb +53 -0
- data/lib/bioshogi/analysis/custom_detectors/kakukoukan_detector.rb +63 -0
- data/lib/bioshogi/analysis/custom_detectors/kakunihakaku_detector.rb +72 -0
- data/lib/bioshogi/analysis/custom_detectors/magic_square_detector.rb +41 -0
- data/lib/bioshogi/analysis/custom_detectors/nyuugyoku_anaguma_detector.rb +67 -0
- data/lib/bioshogi/analysis/custom_detectors/outbreak_detector.rb +20 -0
- data/lib/bioshogi/analysis/custom_trigger_info.rb +16 -0
- data/lib/bioshogi/analysis/defense_info.rb +157 -152
- data/lib/bioshogi/analysis/every_analyzer.rb +27 -0
- data/lib/bioshogi/analysis/every_detector.rb +18 -0
- data/lib/bioshogi/analysis/executer_dsl.rb +248 -0
- data/lib/bioshogi/analysis/file_list.rb +13 -0
- data/lib/bioshogi/analysis/file_normalizer.rb +6 -3
- data/lib/bioshogi/analysis/finalize_tag_detector.rb +97 -0
- data/lib/bioshogi/analysis/finalize_tag_func_info.rb +321 -0
- data/lib/bioshogi/analysis/finalize_tag_info.rb +55 -0
- data/lib/bioshogi/analysis/frequency.rb +3 -375
- data/lib/bioshogi/analysis/group_info.rb +45 -2
- data/lib/bioshogi/analysis/kakukiri_canceler.rb +44 -0
- data/lib/bioshogi/analysis/motion_analyzer.rb +40 -0
- data/lib/bioshogi/analysis/motion_detector.rb +2022 -0
- data/lib/bioshogi/analysis/normalize_check.rb +22 -0
- data/lib/bioshogi/analysis/note_info.rb +25 -83
- data/lib/bioshogi/analysis/performance_benchmark.rb +29 -0
- data/lib/bioshogi/analysis/player_methods.rb +30 -2
- data/lib/bioshogi/analysis/report/all.org +517 -0
- data/lib/bioshogi/analysis/report/capture.org +9 -0
- data/lib/bioshogi/analysis/report/every.org +5 -0
- data/lib/bioshogi/analysis/report/motion.org +83 -0
- data/lib/bioshogi/analysis/report/shape.org +6 -0
- data/lib/bioshogi/analysis/report/shape_info.org +364 -0
- data/lib/bioshogi/analysis/shape_analyzer.rb +254 -0
- data/lib/bioshogi/analysis/shape_analyzer_methods.rb +55 -0
- data/lib/bioshogi/analysis/shape_detector.rb +23 -0
- data/lib/bioshogi/analysis/shape_info.rb +500 -203
- data/lib/bioshogi/analysis/shape_info_accessor.rb +15 -0
- data/lib/bioshogi/analysis/soldier_lookup_table_methods.rb +50 -0
- data/lib/bioshogi/analysis/soldier_place_methods.rb +51 -0
- data/lib/bioshogi/analysis/static_kif_mod.rb +25 -0
- data/lib/bioshogi/{formatter/sugatayaki_validator.rb → analysis/sugatayaki_detector.rb} +18 -33
- data/lib/bioshogi/analysis/{tactic_validator.rb → tactic_detector.rb} +3 -3
- data/lib/bioshogi/analysis/tactic_hit_turn_table.rb +521 -422
- data/lib/bioshogi/analysis/tactic_hit_turn_table_generator.rb +4 -3
- data/lib/bioshogi/analysis/tactic_info.rb +17 -141
- data/lib/bioshogi/analysis/tag_bundle.rb +117 -0
- data/lib/bioshogi/analysis/tag_column_names.rb +31 -0
- data/lib/bioshogi/analysis/tag_index.rb +102 -0
- data/lib/bioshogi/analysis/tag_methods.rb +12 -0
- data/lib/bioshogi/analysis/tag_reporter.rb +40 -0
- data/lib/bioshogi/analysis/technique_info.rb +176 -62
- data/lib/bioshogi/analysis/tree_mod.rb +40 -0
- data/lib/bioshogi/analysis/trigger_expander.rb +62 -0
- data/lib/bioshogi/analysis/used_soldier_counter.rb +33 -0
- data/lib/bioshogi/analysis/xmotion_analyzer.rb +24 -0
- data/lib/bioshogi/analysis/xmotion_detector_info.rb +52 -0
- data/lib/bioshogi/analysis/xmotion_detectors/horse_detector.rb +60 -0
- data/lib/bioshogi/analysis/xmotion_detectors/outebisha0_detector.rb +74 -0
- data/lib/bioshogi/analysis/xmotion_detectors/outebisha_detector.rb +124 -0
- data/lib/bioshogi/analysis/xmotion_detectors/outekaku_detector.rb +33 -0
- data/lib/bioshogi/analysis/xmotion_detectors/rocket_detector.rb +116 -0
- data/lib/bioshogi/analysis/xmotion_detectors/wazaarinokei_detector.rb +80 -0
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/217/263/345/233/233/351/226/223/351/243/233/350/273/212/347/263/273.kif +9 -0
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/345/217/263/345/233/233/351/226/223/351/243/233/350/273/212/347/263/273.kif +9 -0
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/346/212/227/345/275/242.kif +10 -1
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/261/205/351/243/233/350/273/212.kif +44 -4
- data/lib/bioshogi/analysis//345/202/231/350/200/203//346/200/245/346/210/246.kif +47 -47
- data/lib/bioshogi/analysis//345/202/231/350/200/203//346/211/213/345/276/227/350/247/222/344/272/244/346/217/233/345/236/213.kif +12 -2
- data/lib/bioshogi/analysis//345/202/231/350/200/203//346/211/213/346/220/215/350/247/222/344/272/244/346/217/233/345/236/213.kif +13 -3
- data/lib/bioshogi/analysis//345/202/231/350/200/203//346/214/201/344/271/205/346/210/246.kif +38 -11
- data/lib/bioshogi/analysis//345/202/231/350/200/203//346/214/257/343/202/212/351/243/233/350/273/212.kif +26 -7
- data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/345/205/245/347/216/211.kif +15 -4
- data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/345/261/205/347/216/211.kif +79 -23
- data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/345/261/205/351/243/233/350/273/212.kif +19 -5
- data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/346/214/257/343/202/212/351/243/233/350/273/212.kif +12 -3
- data/lib/bioshogi/analysis//345/202/231/350/200/203//347/233/270/347/251/264/347/206/212.kif +27 -8
- data/lib/bioshogi/analysis//345/202/231/350/200/203//347/237/255/346/211/213/346/225/260.kif +18 -7
- data/lib/bioshogi/analysis//345/202/231/350/200/203//350/247/222/344/272/244/346/217/233/345/236/213.kif +12 -2
- data/lib/bioshogi/analysis//345/202/231/350/200/203//351/225/267/346/211/213/346/225/260.kif +64 -11
- 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 +15 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/204/343/201/213/343/201/240/345/233/262/343/201/204.kif +18 -3
- 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 +30 -7
- 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 +39 -12
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/232/343/202/214/347/276/216/346/277/203.kif +14 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/201/241/343/202/207/343/202/223/343/201/276/343/201/222/347/276/216/346/277/203.kif +12 -3
- 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 +24 -6
- 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 +31 -8
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/250/343/203/253/343/203/242/345/233/262/343/201/204.kif +12 -3
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/252/343/203/252/343/202/252/343/203/263/345/233/262/343/201/204.kif +32 -0
- 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 +30 -11
- 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 +34 -9
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/202/256/345/233/262/343/201/204.kif +44 -11
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/202/277/345/233/262/343/201/204.kif +35 -11
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/203/213/345/233/262/343/201/204.kif +21 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/203/213/347/274/266/345/233/262/343/201/204.kif +10 -2
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/203/226/343/203/210/345/233/262/343/201/204.kif +19 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/202/253/343/203/226/343/203/210/347/276/216/346/277/203.kif +20 -6
- 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 +33 -8
- 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 +19 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/201/343/203/247/343/202/263/343/203/254/343/203/274/343/203/210/345/233/262/343/201/204.kif +13 -8
- 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 +17 -5
- 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 +31 -9
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/223/343/203/203/343/202/2604.kif +31 -11
- 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 +30 -8
- 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 +43 -14
- data/lib/bioshogi/analysis//345/233/262/343/201/204//343/203/240/343/203/252/343/203/244/343/203/252/347/237/242/345/200/211.kif +19 -4
- 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 +20 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/200/346/226/207/345/255/227/347/237/242/345/200/211.kif +15 -3
- data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/200/346/236/232/347/251/264/347/206/212.kif +237 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/203/346/236/232/347/251/264/347/206/212.kif +237 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/211/346/236/232/347/251/264/347/206/212.kif +237 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/255/344/275/217/343/201/276/343/201/204.kif +41 -9
- data/lib/bioshogi/analysis//345/233/262/343/201/204//344/270/255/345/216/237/345/233/262/343/201/204.kif +17 -4
- 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 +15 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//344/272/214/346/236/232/347/251/264/347/206/212.kif +237 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//344/272/224/346/236/232/347/251/264/347/206/212.kif +237 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/205/245/347/216/211/347/251/264/347/206/212.kif +42 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/205/253/346/236/232/347/251/264/347/206/212.kif +237 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/205/255/346/236/232/347/251/264/347/206/212.kif +237 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/215/207/347/224/260/347/276/216/346/277/203.kif +19 -3
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/217/263/347/237/242/345/200/211.kif +28 -7
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/236/232/347/251/264/347/206/212.kif +22 -8
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/236/232/347/276/216/346/277/203.kif +16 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/236/232/351/212/200/345/206/240.kif +43 -13
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/346/256/265/347/253/257/347/216/211.kif +49 -13
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/233/233/350/247/222/347/237/242/345/200/211.kif +21 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/234/237/345/261/205/347/237/242/345/200/211.kif +17 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/235/212/344/270/273/347/276/216/346/277/203.kif +17 -3
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/247/345/261/261/347/276/216/346/277/203.kif +15 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/247/347/233/276/345/233/262/343/201/204.kif +15 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/247/351/232/205/345/233/262/343/201/204.kif +13 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/345/256/210/351/226/243/345/233/262/343/201/204//343/203/201/343/203/247/343/202/263/343/203/254/343/203/274/343/203/210/345/233/262/343/201/204/343/201/270/343/201/256/346/264/276/347/224/237.kif +72 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/345/256/210/351/226/243/345/233/262/343/201/204.kif +13 -4
- 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 +16 -7
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/347/251/272/343/201/256/345/237/216.kif +51 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/244/251/351/207/216/347/237/242/345/200/211.kif +17 -6
- 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 +51 -16
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/347/216/211.kif +142 -56
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/261/205/351/243/233/347/251/264/351/237/263/347/204/241/343/201/227/343/201/256/346/247/213/343/201/210.kif +18 -6
- 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 +19 -6
- 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 +43 -12
- 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 +16 -6
- 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 +15 -4
- 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 +16 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/267/246/345/261/261/345/233/262/343/201/204.kif +13 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//345/267/246/347/276/216/346/277/203.kif +19 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//346/202/252/345/275/242/347/237/242/345/200/211.kif +15 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/343/202/250/343/203/253/343/203/242.kif +22 -6
- 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 +52 -13
- 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 +42 -13
- 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 +14 -3
- 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 +21 -8
- 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 +19 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/347/251/264/347/206/212.kif +18 -5
- 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 +19 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//346/214/257/343/202/212/351/243/233/350/273/212/351/212/200/345/206/240/347/251/264/347/206/212.kif +29 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//346/226/207/351/216/256/345/233/262/343/201/204.kif +21 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//346/226/260/345/236/213/351/233/201/346/234/250.kif +17 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//346/227/251/345/233/262/343/201/204.kif +13 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//346/234/250/346/235/221/347/276/216/346/277/203.kif +20 -7
- 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 +27 -8
- 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 +20 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//346/265/201/343/202/214/347/237/242/345/200/211.kif +13 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//346/265/201/347/267/232/347/237/242/345/200/211.kif +21 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/204/241/346/225/265/345/233/262/343/201/204.kif +12 -3
- 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 +16 -4
- 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 +17 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/211/207/347/276/216/346/277/203/345/233/262/343/201/204.kif +12 -3
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/211/207/351/212/200/345/206/240.kif +24 -6
- 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 +14 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/237/242/345/200/211/347/251/264/347/206/212.kif +30 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/245/236/345/220/211/346/265/201/347/251/264/347/206/212.kif +19 -6
- data/lib/bioshogi/analysis//345/{202/231/350/200/203 → 233/262/343/201/204}//347/251/264/347/206/212.kif +33 -12
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/253/257/347/216/211/351/212/200/345/206/240.kif +19 -9
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/256/261/345/205/245/343/202/212/345/250/230.kif +15 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/264/231/347/251/264/347/206/212.kif +60 -11
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/267/217/347/237/242/345/200/211.kif +34 -15
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/276/216/346/277/203/345/233/262/343/201/204.kif +13 -4
- 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 +17 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/210/237/345/233/262/343/201/204.kif +12 -3
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/210/237/345/233/262/343/201/204DX.kif +18 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/217/212/346/260/264/347/237/242/345/200/211.kif +21 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/217/261/347/237/242/345/200/211.kif +26 -8
- 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 +13 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/243/270/347/251/264/347/206/212.kif +36 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/243/276/345/233/272/343/202/201.kif +13 -7
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/247/222/346/217/233/343/202/217/343/202/212/347/251/264/347/206/212.kif +76 -0
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/247/222/347/237/242/345/200/211.kif +23 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/247/222/351/201/223/344/270/215/347/252/201/343/201/215/345/267/246/347/276/216/346/277/203.kif +12 -3
- data/lib/bioshogi/analysis//345/233/262/343/201/204//350/261/206/350/205/220/347/237/242/345/200/211.kif +15 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/200/243/347/233/237/347/276/216/346/277/203.kif +12 -3
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/345/244/232/344/274/235.kif +14 -3
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/204/241/345/217/214.kif +23 -9
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/233/276/345/233/262/343/201/204.kif +14 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/237/242/345/200/211.kif +16 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/347/276/216/346/277/203.kif +25 -8
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/207/221/351/226/200/347/237/242/345/200/211.kif +18 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240.kif +21 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/206/240/347/251/264/347/206/212.kif +28 -9
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/345/244/232/344/274/235.kif +41 -7
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/347/237/242/345/200/211.kif +18 -3
- 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 +17 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/212/200/347/276/216/346/277/203.kif +19 -6
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/232/205/347/237/242/345/200/211.kif +19 -5
- 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 +25 -5
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/233/262/351/232/240/343/202/214/347/216/211.kif +15 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/253/230/347/237/242/345/200/211.kif +16 -4
- 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 +17 -4
- data/lib/bioshogi/analysis//345/233/262/343/201/204//351/255/224/346/226/271/351/231/243.kif +47 -0
- 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 +9 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225/2/346/211/213/347/233/256/342/226/2633/{343/203/213 → 344/272/214}/351/243/233/346/210/246/346/263/225.kif +44 -13
- 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 +9 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225/2/346/211/213/347/233/256/342/226/2637/345/233/233/346/255/251/346/210/246/346/263/225.kif +9 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225/3/342/206/2224/342/206/2223/346/210/246/346/263/225.kif +14 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225/3/346/211/213/347/233/256/342/226/2627/344/270/203/350/247/222/346/210/246/346/263/225.kif +20 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225/4/346/211/213/347/233/256/342/226/2633/344/270/211/350/247/222/346/210/246/346/263/225.kif +10 -2
- data/lib/bioshogi/analysis//346/210/246/346/263/225/5/346/211/213/347/210/206/345/274/276.kif +21 -8
- data/lib/bioshogi/analysis//346/210/246/346/263/225/5/347/255/213/344/275/215/345/217/226/343/202/212.kif +14 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225/5/347/255/213/344/275/215/345/217/226/343/202/212/344/270/255/351/243/233/350/273/212.kif +13 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225/6/347/255/213/344/275/215/345/217/226/343/202/212.kif +14 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225/7/346/211/213/347/210/206/345/274/276.kif +30 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225/GAVA/350/247/222.kif +20 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225/UFO/351/207/221.kif +34 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225/UFO/351/212/200.kif +21 -6
- 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 +43 -16
- data/lib/bioshogi/analysis//346/210/246/346/263/225/xaby/350/247/222/346/210/246/346/263/225.kif +18 -5
- 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 +22 -6
- 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 +17 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2624/345/205/255/351/212/200/345/267/246/346/200/245/346/210/246.kif +15 -4
- 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 +36 -11
- 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 +22 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//342/226/2632/344/270/211/346/255/251/346/210/246/346/263/225.kif +25 -4
- 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 +23 -4
- 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 +29 -6
- 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 +21 -9
- 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 +41 -9
- 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 +27 -6
- 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 +31 -9
- 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 +13 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/215/343/202/223/343/201/250/343/201/206/343/202/223/346/210/246/346/263/225.kif +20 -3
- 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 +15 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//{345/257/276/343/201/262/343/201/255/343/202/212/351/243/233/350/273/212/343 → 343}/201/237/343/201/223/351/207/221/346/210/246/346/263/225.kif +25 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/244/343/201/217/343/201/244/343/201/217/343/201/274/343/201/206/343/201/227/346/210/246/346/263/225.kif +18 -7
- 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 +45 -14
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/201/262/343/201/255/343/202/212/351/243/233/350/273/212.kif +22 -4
- 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 +25 -6
- 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/214/201/344/271/205/346/210/246.kif +73 -0
- 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 +31 -11
- 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 +31 -8
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/246/343/202/275/347/237/242/345/200/211.kif +11 -3
- 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 +39 -13
- 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 +60 -11
- 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 +19 -4
- 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 +13 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/253/343/203/241/343/203/254/343/202/252/343/203/263/346/210/246/346/263/225.kif +19 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/257/343/203/253/343/202/257/343/203/253/350/247/222.kif +154 -0
- 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 +45 -9
- 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 +34 -12
- 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 +24 -5
- 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 +40 -11
- 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 +20 -4
- 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 +37 -10
- 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 +37 -14
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/202/277/343/203/251/343/203/263/343/203/201/343/203/245/343/203/251/346/210/246/346/263/225.kif +21 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/200/343/202/244/343/203/254/343/202/257/343/203/210/345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +18 -7
- 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 +41 -14
- 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 +38 -12
- 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 +49 -8
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/211/343/203/251/343/202/264/343/203/263/343/202/271/343/203/232/343/202/267/343/203/243/343/203/253.kif +67 -0
- 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 +16 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/216/343/203/274/343/202/254/343/203/274/343/203/211/346/210/246/346/263/225.kif +29 -8
- 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 +26 -8
- 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 +14 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/221/343/203/203/343/202/257/343/203/236/343/203/263/346/210/246/346/263/225.kif +22 -4
- 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 +25 -6
- 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 +19 -6
- 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 +22 -6
- 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 +11 -2
- 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 +19 -6
- 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 +39 -9
- data/lib/bioshogi/analysis//346/210/246/346/263/225//{351/207/221/351/212/200/346/251/213.kif → 343/203/252/343/203/203/343/203/201/343/203/226/343/203/252/343/203/203/343/202/270.kif} +21 -9
- data/lib/bioshogi/analysis//346/210/246/346/263/225//343/203/254/343/202/260/343/202/271/343/203/232.kif +26 -7
- 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 +42 -13
- 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 +42 -12
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/351/226/223/351/243/233/350/273/212.kif +14 -3
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/351/226/223/351/243/233/350/273/212/345/217/263/347/251/264/347/206/212.kif +56 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/346/256/265/345/217/263/347/216/211.kif +39 -13
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/351/226/223/351/243/233/350/273/212.kif +23 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/351/226/223/351/243/233/350/273/212/343/203/237/343/203/254/343/203/213/343/202/242/343/203/240.kif +13 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/211/351/226/223/351/243/233/350/273/212/350/227/244/344/272/225/343/202/267/343/202/271/343/203/206/343/203/240.kif +14 -5
- 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 +24 -6
- 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 +34 -11
- 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 +25 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/216/237/351/243/233/350/273/212.kif +32 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/345/272/247/351/243/233/350/273/212.kif +30 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/255/351/243/233/350/273/212.kif +26 -0
- 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 +13 -5
- 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 +57 -18
- 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 +18 -5
- 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 +18 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/271/235/351/226/223/351/243/233/350/273/212.kif +20 -6
- 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 +34 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/205/210/346/211/213/344/270/255/351/243/233/350/273/212.kif +14 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/210/235/346/211/213/342/226/2623/345/205/255/346/255/251/346/210/246/346/263/225.kif +9 -0
- 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 +16 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/210/235/346/211/213/342/226/2627/345/205/253/351/243/233/346/210/246/346/263/225.kif +13 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/212/233/346/210/246.kif +146 -21
- 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 +28 -8
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/213/207/346/260/227/346/265/201.kif +20 -5
- 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 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/216/237/345/247/213/344/270/255/351/243/233/350/273/212.kif +12 -3
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/216/237/345/247/213/346/243/222/351/212/200.kif +22 -6
- 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.kif +10 -6
- 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 +28 -8
- 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 +26 -7
- 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 +16 -1
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/217/263/347/216/211.kif +24 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/220/214/345/236/213/347/237/242/345/200/211.kif +18 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/220/221/343/201/213/343/201/204/351/243/233/350/273/212.kif +23 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/233/233/346/211/213/350/247/222.kif +19 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/233/233/351/226/223/351/243/233/350/273/212.kif +11 -2
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/233/233/351/226/223/351/243/233/350/273/212/343/203/237/343/203/254/343/203/213/343/202/242/343/203/240.kif +13 -6
- 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 +40 -12
- 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 +29 -8
- 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 +10 -2
- 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 +22 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/254/211/351/207/216/346/265/201.kif +29 -8
- 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 +52 -11
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/257/276/346/214/257/343/202/212/346/214/201/344/271/205/346/210/246.kif +14 -4
- 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 +30 -6
- 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 +26 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/261/261/345/264/216/346/265/201/343/203/221/343/203/203/343/202/257/343/203/236/343/203/263.kif +10 -1
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/261/261/347/224/260/345/256/232/350/267/241.kif +16 -5
- 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 +33 -11
- 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 +20 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//345/274/225/343/201/215/350/247/222.kif +38 -0
- 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 +20 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/210/270/350/276/272/346/265/2014/342/206/2223/346/210/246/346/263/225.kif +14 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/343/203/235/343/203/263/343/203/235/343/203/263/346/241/202.kif +25 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/345/254/211/351/207/216/346/265/201.kif +35 -7
- 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 +35 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/347/237/263/347/224/260/346/265/201.kif +15 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/347/261/263/351/225/267/347/216/211.kif +31 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/351/242/250/350/273/212.kif +13 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/226/260/351/254/274/346/256/272/343/201/227.kif +23 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/227/251/347/237/263/347/224/260.kif +12 -3
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/227/251/347/271/260/343/202/212/351/207/221.kif +40 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/227/251/347/271/260/343/202/212/351/212/200.kif +36 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/232/264/351/212/200.kif +24 -8
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/234/250/346/235/221/345/256/232/350/267/241.kif +39 -11
- 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 +11 -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 +28 -9
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/347/216/211.kif +14 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/347/216/211/350/242/226/351/243/233/350/273/212.kif +47 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/351/207/221.kif +23 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/222/351/212/200.kif +19 -4
- 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 +30 -11
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/243/256/345/256/211/346/265/201/350/242/226/351/243/233/350/273/212/347/251/264/347/206/212.kif +17 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/245/240/346/234/254/345/274/217/347/237/263/347/224/260/346/265/201.kif +34 -11
- 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 +24 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//346/250/252/346/255/251/345/217/226/343/202/212.kif +23 -4
- 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 +19 -5
- 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 +15 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/216/211/351/240/255/351/212/200.kif +34 -9
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/256/343/201/217/343/202/211/343/201/276/343/201/227/346/210/246/346/263/225.kif +11 -1
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/346/214/257/343/202/212/351/243/233/350/273/212.kif +1 -1
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/346/216/233/343/201/213/343/202/212.kif +12 -3
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/233/270/346/216/233/343/201/213/343/202/212/346/243/222/351/212/200.kif +21 -6
- 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 +33 -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 +23 -11
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/234/237/351/203/250/346/265/201.kif +45 -17
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211.kif +36 -0
- 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 +31 -8
- 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 +15 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/345/217/263/347/216/211.kif +17 -5
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/210/246/346/263/225}//347/237/242/345/200/211/346/226/26024/346/211/213/347/265/204.kif +19 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/346/227/24724/346/211/213/347/265/204.kif +53 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/346/243/222/351/212/200.kif +29 -10
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/242/345/200/211/346/265/201/344/270/255/351/243/233/350/273/212.kif +13 -3
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/237/263/347/224/260/346/265/201.kif +42 -14
- 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 +24 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/245/236/345/220/211/346/265/201/344/270/211/351/226/223/351/243/233/350/273/212.kif +13 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/250/262/345/272/255/346/210/246/346/263/225.kif +14 -5
- 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 +13 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/251/264/350/247/222/346/210/246/346/263/225.kif +42 -12
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/251/272/344/270/255/346/210/246.kif +306 -0
- 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 +24 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/253/257/346/243/222/351/212/200.kif +22 -6
- 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 +25 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/255/213/351/201/225/343/201/204/350/247/222.kif +24 -9
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/255/213/351/201/225/343/201/204/350/247/222/350/237/273/345/234/260/347/215/204/346/210/246/346/263/225.kif +19 -9
- data/lib/bioshogi/analysis//346/210/246/346/263/225//347/255/213/351/201/225/343/201/204/350/247/222/351/230/252/347/224/260/346/265/201.kif +63 -0
- 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 +55 -18
- 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 +37 -11
- 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 +39 -10
- 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 +24 -7
- 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 +14 -3
- 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 +16 -6
- 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 +32 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/205/260/346/216/233/343/201/221/351/207/221.kif +29 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/205/260/346/216/233/343/201/221/351/212/200.kif +20 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/212/261/346/235/221/346/265/201/345/220/215/345/217/244/345/261/213/346/210/246/346/263/225.kif +24 -10
- 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 +40 -8
- 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 +37 -13
- 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 +38 -9
- 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 +18 -4
- 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 +10 -2
- 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 +43 -14
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/227/244/344/272/225/343/202/267/343/202/271/343/203/206/343/203/240.kif +25 -5
- 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 +25 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/242/226/351/243/233/350/273/212.kif +56 -15
- 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 +13 -4
- 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 +32 -10
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/346/217/233/343/202/217/343/202/212.kif +19 -5
- 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 +42 -15
- 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 +47 -16
- 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 +29 -9
- 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 +23 -6
- 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 +23 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/247/222/351/201/223/343/202/252/343/203/274/343/203/227/343/203/263/345/233/233/351/226/223/351/243/233/350/273/212.kif +12 -3
- 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 +37 -10
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/266/205/346/200/245/346/210/246.kif +24 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//350/266/205/351/200/237/342/226/2623/344/270/203/351/212/{200/346/210/246/346/263/225.kif → 200.kif} +32 -11
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/200/206/346/243/222/351/212/200.kif +17 -4
- 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 → 351/200/237/346/224/273}/346/243/222/351/212/200.kif +39 -11
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/201/240/345/261/261/346/265/201.kif +33 -8
- 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 +21 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/207/221/346/262/242/346/265/201.kif +10 -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 +33 -8
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/210/264/346/234/250/346/265/201/346/227/251/347/237/263/347/224/260.kif +26 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/212/200/351/233/262/351/233/200.kif +21 -8
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/214/206/345/210/200/346/210/246/346/263/225.kif +22 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/216/226/351/216/214/351/212/200.kif +23 -6
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/217/241/343/201/256/345/267/246/346/227/251/347/271/260/343/202/212/351/212/200.kif +103 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/226/223/345/256/256/344/271/205/345/244/242/346/265/201.kif +28 -6
- 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 +10 -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 +27 -8
- 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 +24 -8
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/231/275/345/213/225/346/214/257/343/202/212/351/243/233/350/273/212.kif +9 -1
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/200/345/210/272/343/201/227.kif +30 -11
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/201/346/234/250/345/217/263/347/216/211.kif +38 -8
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/233/201/346/234/250/346/210/246/346/263/225.kif +192 -0
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/235/222/351/207/216/346/265/201.kif +20 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/242/250/350/273/212.kif +40 -8
- 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 +28 -10
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/243/257/345/263/266/346/265/201/345/274/225/343/201/215/350/247/222/346/210/246/346/263/225.kif +15 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/243/257/345/263/266/346/265/201/347/233/270/346/216/233/343/201/213/343/202/212/345/274/225/343/201/215/350/247/{222/346/210/246/346/263/225.kif → 222.kif} +21 -6
- 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 +28 -8
- 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 +25 -7
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/254/274/346/256/272/343/201/227.kif +19 -4
- 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 +21 -6
- 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 +13 -4
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/263/245/345/210/272/343/201/227.kif +14 -5
- data/lib/bioshogi/analysis//346/210/246/346/263/225//351/267/272/345/256/256/345/256/232/350/267/241.kif +23 -8
- 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/91/343/201/256/351/243/233/343/201/257/343/203/255/343/202/261/343/203/203/343/203/210/343/201/256/344/270/200/351/203/250/343/201/250/350/246/213/343/201/252/343/201/225/343/201/252/343/201/204_/346/211/223/343/201/243/343/201/237/345/240/264/345/220/210.kif +30 -0
- 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/91/343/201/256/351/243/233/343/201/257/343/203/255/343/202/261/343/203/203/343/203/210/343/201/256/344/270/200/351/203/250/343/201/250/350/246/213/343/201/252/343/201/225/343/201/252/343/201/204_/347/275/256/343/201/204/343/201/246/343/201/202/343/202/213/345/240/264/345/220/210.kif +30 -0
- 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 +10 -5
- data/lib/bioshogi/analysis//346/211/213/347/255/213/3/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210.kif +10 -2
- data/lib/bioshogi/analysis//346/211/213/347/255/213/4/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210.kif +10 -2
- data/lib/bioshogi/analysis//346/211/213/347/255/213/5/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210.kif +10 -2
- data/lib/bioshogi/analysis//346/211/213/347/255/213/6/346/256/265/343/203/255/343/202/261/343/203/203/343/203/210.kif +12 -5
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/223/343/201/263/343/202/223/346/224/273/343/202/201.kif +13 -2
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/237/343/201/231/343/201/215/343/201/256/350/247/222.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/237/343/201/231/343/201/215/343/201/256/351/212/200.kif +9 -0
- 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 +18 -11
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/250/351/207/221/346/224/273/343/202/201.kif +50 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/201/265/343/202/223/343/201/251/343/201/227/343/201/256/346/241/202.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/202/277/343/203/203/343/203/201/343/203/200/343/202/246/343/203/263.kif +58 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/217/343/203/203/343/203/201/351/226/211/351/216/226.kif +39 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/221/343/203/263/343/203/{204 → 206/343/202/243}/343/202/222/350/204/261/343/201/220.kif +12 -2
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/221/343/203/263/343/203/211/343/203/251/343/201/256/346/255/251.kif +32 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/235/343/203/274/343/203/263/343/203/217/343/203/263/343/202/277/343/203/274.kif +53 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/236/343/203/240/343/202/267/343/201/256/343/201/250/351/207/221.kif +60 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//343/203/237/343/203/213/343/203/236/343/203/252/343/202/271/343/203/210.kif +98 -0
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//343/203/255/343/202/261/343/203/203/343/203/210.kif +10 -2
- data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/200/351/226/223/347/253/234.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/211/346/241/202/346/207/220/345/210/203.kif +50 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/213/346/256/265/343/201/256/351/246/231.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/241/345/217/226/343/202/212.kif +30 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//344/270/255/346/256/265/347/216/211.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//344/272/214/346/236/232/351/243/233/350/273/212.kif +75 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//344/275/215/343/201/256/347/242/272/344/277/235.kif +9 -8
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/205/245/347/216/211.kif +37 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/205/250/351/247/222.kif +50 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/211/262/343/202/212/346/211/223/343/201/241/343/201/256/351/212/200.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/213/235/343/201/241/347/242/2725/344/270/211/343/201/250.kif +38 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/217/214/347/216/211/346/216/245/350/277/221.kif +43 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/217/214/347/253/234/345/217/214/351/246/254/351/231/243.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/217/214/351/246/254/347/265/220/347/225/214.kif +36 -0
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//345/220/212/343/202/213/343/201/227/346/241/202.kif +11 -2
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//345/220/215/344/272/272/343/201/253/345/256/232/350/267/241/343/201/252/343/201/227.kif +30 -8
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/234/237/344/270/213/345/272/247/343/201/256/346/255/251.kif +17 -3
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/236/202/343/202/214/346/255/251.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/240/205/351/231/243/343/201/256/351/207/221.kif +40 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/243/201/351/207/221.kif +30 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/243/201/351/212/200.kif +25 -0
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//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 +36 -11
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//345/244/247/351/247/222/345/205/250/343/203/226/343/203/203/343/203/201.kif +30 -9
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/256/210/343/202/212/343/201/256/351/246/254.kif +46 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/260/201/351/246/231/351/200/243/350/210/236.kif +51 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/260/273/351/207/221.kif +13 -2
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/260/273/351/212/200.kif +13 -6
- 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 +12 -3
- data/lib/bioshogi/analysis//{345/202/231/350/200/203//350/203/214/346/260/264/343/201/256/351/231/243.kif → 346/211/213/347/255/213//345/261/215/343/201/256/350/210/236.kif} +31 -9
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/271/275/351/234/212/350/247/222.kif +11 -7
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/272/217/347/233/244/343/201/257/350/247/222/343/202/210/343/202/212/351/243/233/350/273/212.kif +38 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/272/217/347/233/244/343/201/257/351/243/233/350/273/212/343/202/210/343/202/212/350/247/222.kif +45 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//345/272/225/346/255/251/343/201/253/351/246/231.kif +49 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/200/245/346/211/200/343/201/256/346/241/202.kif +33 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/211/213/345/276/227.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/211/213/346/220/215.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/212/200/343/201/202/343/202/212/343/201/256/346/241/202.kif +57 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/216/247/343/201/210/343/201/256/346/241/202.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/241/202/351/240/255/343/201/256/346/241/202.kif +36 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/241/202/351/240/255/343/201/256/347/216/211.kif +32 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/241/202/351/240/255/343/201/256/351/212/200.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/241/202/351/240/255/346/224/273/343/202/201.kif +49 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/343/201/256/351/214/254/351/207/221/350/241/223/345/270/253.kif +50 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/345/210/207/343/202/214.kif +49 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/350/243/217/343/201/256/346/255/251.kif +35 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/350/243/217/343/201/256/351/246/231.kif +46 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/255/251/351/240/255/343/201/256/346/241/202.kif +13 -8
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/265/256/343/201/215/351/243/233/350/273/212.kif +33 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/272/226/347/216/213/346/211/213/350/247/222.kif +30 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//346/272/226/347/216/213/346/211/213/351/243/233/350/273/212.kif +33 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/211/345/210/207/343/202/212.kif +29 -0
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//347/216/211/345/215/230/351/250/216.kif +20 -4
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/211/351/240/255/346/210/246.kif +35 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/211/351/240/255/346/224/273/343/202/201.kif +49 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/211/351/243/233/346/216/245/350/277/221.kif +36 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/213/346/211/213/350/247/222.kif +30 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/216/213/346/211/213/351/243/233/350/273/212.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/224/260/346/245/275/345/210/272/343/201/227.kif +18 -6
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//347/251/264/347/206/212/343/201/256/345/247/277/347/204/274/343/201/215.kif +33 -12
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/251/264/347/206/212/345/206/215/347/224/237.kif +68 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/251/272/344/270/255/346/210/246.kif +32 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/252/201/343/201/215/346/215/250/343/201/246.kif +37 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/252/201/343/201/215/351/201/225/343/201/204/343/201/256/346/255/251.kif +33 -10
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/253/234/345/210/207/343/202/212.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/253/257/346/224/273/343/202/201.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/253/257/347/216/211.kif +43 -0
- 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 +13 -2
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/266/231/343/201/216/346/241/202.kif +11 -2
- data/lib/bioshogi/analysis//346/211/213/347/255/213//347/266/231/343/201/216/346/255/251.kif +13 -10
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/202/251/351/207/221.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/202/251/351/212/200.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/205/271/351/207/221.kif +11 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/205/271/351/212/200.kif +15 -4
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/207/252/351/231/243/350/247/222.kif +39 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/207/252/351/231/243/351/243/233/350/273/212.kif +39 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/223/213/346/255/251//351/212/200/343/201/253/343/202/210/343/202/213/350/223/213/346/255/251.kif +44 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/223/213/346/255/251.kif +64 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/270/347/216/211.kif +38 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/276/351/207/221.kif +13 -6
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/243/276/351/212/200.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/343/201/253/343/201/257/350/247/222.kif +36 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/343/201/253/343/201/257/351/243/233/350/273/212.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/343/201/253/343/202/210/343/202/213/344/270/241/345/217/226/343/202/212.kif +30 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/344/270/215/346/210/220.kif +36 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/344/272/244/346/217/233.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/345/210/207/343/202/212.kif +45 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//350/247/222/351/240/255/346/224/273/343/202/201.kif +85 -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 +10 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/200/200/345/240/264/343/201/256/351/207/221.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/200/243/346/211/223/343/201/256/346/255/251.kif +10 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/201/223/345/240/264/345/207/272/347/246/201.kif +28 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/201/240/350/246/213/343/201/256/350/247/222.kif +15 -10
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//351/203/275/350/251/260/343/202/201.kif +27 -8
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/207/221/345/272/225/343/201/256/346/255/251.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/207/221/345/272/225/343/201/256/351/246/231.kif +35 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/207/221/351/212/200/343/202/263/343/203/263/343/203/227/343/203/252/343/203/274/343/203/210.kif +42 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/207/221/351/240/255/343/201/256/346/241/202.kif +13 -8
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/212/200/343/201/260/343/201/225/343/201/277.kif +12 -1
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/212/200/344/270/215/346/210/220.kif +48 -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 +28 -11
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/212/200/350/243/276/343/201/256/346/255/251.kif +39 -0
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//351/233/252/351/232/240/350/251/260/343/202/201.kif +11 -4
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/240/255/351/207/221.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/240/255/351/212/200.kif +9 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/343/201/253/343/201/257/350/247/222.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/343/201/253/343/201/257/351/243/233/350/273/212.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/343/201/253/343/202/210/343/202/213/344/270/241/345/217/226/343/202/212.kif +30 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/344/270/215/346/210/220.kif +28 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/345/205/210/344/272/244/346/217/233.kif +40 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/243/233/350/273/212/345/210/207/343/202/212.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/246/254/343/201/253/343/201/257/350/247/222.kif +36 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/246/254/343/201/253/343/201/257/351/243/233/350/273/212.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/246/254/345/210/207/343/202/212.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/247/222/343/201/256/346/214/201/343/201/241/350/205/220/343/202/214.kif +74 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/247/222/345/276/227/343/201/257/346/255/243/347/276/251.kif +60 -0
- data/lib/bioshogi/analysis//{345/202/231/350/200/203 → 346/211/213/347/255/213}//351/247/222/346/237/261.kif +42 -17
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/253/230/350/267/263/343/201/263/343/201/256/346/241/202.kif +38 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/276/215/343/201/253/343/201/257/350/247/222.kif +34 -0
- data/lib/bioshogi/analysis//346/211/213/347/255/213//351/276/215/343/201/253/343/201/257/351/243/233/350/273/212.kif +34 -0
- data/lib/bioshogi/board/basic.rb +5 -4
- data/lib/bioshogi/board/csa_formatter.rb +1 -0
- data/lib/bioshogi/board/{technique_matcher_methods.rb → detector_methods.rb} +1 -1
- data/lib/bioshogi/board/kakinoki_formatter.rb +1 -0
- data/lib/bioshogi/board/reader_methods.rb +1 -1
- data/lib/bioshogi/board_parser/compare_board_parser.rb +1 -1
- data/lib/bioshogi/board_parser/kakinoki_board_parser.rb +7 -3
- data/lib/bioshogi/board_parser.rb +1 -1
- data/lib/bioshogi/column_soldier_counter.rb +47 -0
- data/lib/bioshogi/container/core_methods.rb +36 -8
- data/lib/bioshogi/container/execute_methods.rb +32 -1
- data/lib/bioshogi/container/players_methods.rb +9 -12
- data/lib/bioshogi/container/serialize_methods.rb +7 -6
- data/lib/bioshogi/container.rb +8 -4
- data/lib/bioshogi/counter_hash.rb +1 -0
- data/lib/bioshogi/csa_header_info.rb +2 -1
- data/lib/bioshogi/dimension/base.rb +54 -12
- data/lib/bioshogi/dimension/column.rb +88 -61
- data/lib/bioshogi/dimension/dimension_info.rb +1 -1
- data/lib/bioshogi/dimension/row.rb +59 -10
- data/lib/bioshogi/{extreme_validator.rb → extreme_detect.rb} +37 -27
- data/lib/bioshogi/formatter/akf_builder.rb +9 -11
- data/lib/bioshogi/formatter/animation/animation_builder_timeout.rb +1 -1
- data/lib/bioshogi/formatter/animation/animation_mp4_builder.rb +1 -0
- data/lib/bioshogi/formatter/animation/demo_builder.rb +1 -1
- data/lib/bioshogi/formatter/animation/progress_cop.rb +1 -0
- data/lib/bioshogi/formatter/core.rb +85 -103
- data/lib/bioshogi/formatter/csa_builder.rb +30 -24
- data/lib/bioshogi/formatter/ki2_builder.rb +1 -1
- data/lib/bioshogi/formatter/kif_builder.rb +8 -10
- data/lib/bioshogi/formatter/kif_ki2_shared.rb +10 -17
- data/lib/bioshogi/formatter/runner.rb +4 -2
- data/lib/bioshogi/freq_piece_info.rb +72 -0
- data/lib/bioshogi/hand/drop.rb +1 -1
- data/lib/bioshogi/hand/move.rb +50 -1
- data/lib/bioshogi/hand/shared.rb +8 -12
- data/lib/bioshogi/hand_log.rb +3 -3
- data/lib/bioshogi/hand_logs_mod.rb +1 -1
- data/lib/bioshogi/input_adapter/abstract_adapter.rb +7 -1
- data/lib/bioshogi/input_adapter/ki2_adapter.rb +9 -9
- data/lib/bioshogi/input_adapter/sfen_adapter.rb +1 -1
- data/lib/bioshogi/input_adapter/shared_validation.rb +2 -4
- data/lib/bioshogi/input_parser.rb +1 -1
- data/lib/bioshogi/last_action_info.rb +83 -0
- data/lib/bioshogi/location.rb +1 -0
- data/lib/bioshogi/official_formatter.rb +8 -8
- data/lib/bioshogi/order_info.rb +2 -2
- data/lib/bioshogi/parser/base.rb +8 -8
- data/lib/bioshogi/parser/csa_parser.rb +6 -2
- data/lib/bioshogi/parser/header.rb +13 -0
- data/lib/bioshogi/parser/inspector.rb +10 -2
- data/lib/bioshogi/parser/kakinoki_methods.rb +10 -8
- data/lib/bioshogi/parser/ki2_parser.rb +4 -3
- data/lib/bioshogi/parser/kif_parser.rb +13 -11
- data/lib/bioshogi/parser/pi.rb +58 -21
- data/lib/bioshogi/parser/sfen_parser.rb +1 -0
- data/lib/bioshogi/parser.rb +5 -1
- data/lib/bioshogi/piece/piece_score.rb +8 -8
- data/lib/bioshogi/piece/piece_vector.rb +3 -2
- data/lib/bioshogi/piece.rb +33 -14
- data/lib/bioshogi/piece_box.rb +11 -3
- data/lib/bioshogi/place.rb +70 -11
- data/lib/bioshogi/player/other_methods.rb +36 -14
- data/lib/bioshogi/player/piece_box_methods.rb +1 -1
- data/lib/bioshogi/player/pressure_methods.rb +4 -4
- data/lib/bioshogi/player/soldier_methods.rb +21 -3
- data/lib/bioshogi/player.rb +5 -4
- data/lib/bioshogi/player_executor/base.rb +6 -5
- data/lib/bioshogi/preset_info.rb +55 -48
- data/lib/bioshogi/screen_image/board_methods.rb +5 -1
- data/lib/bioshogi/screen_image/piece_font_weight_info.rb +1 -1
- data/lib/bioshogi/screen_image/piece_image_info.rb +4 -4
- data/lib/bioshogi/sfen_importer.rb +2 -1
- data/lib/bioshogi/simple_model.rb +1 -1
- data/lib/bioshogi/soldier/detector_methods.rb +109 -0
- data/lib/bioshogi/soldier.rb +29 -8
- data/lib/bioshogi/soldier_box.rb +1 -0
- data/lib/bioshogi/soldier_walker.rb +1 -0
- data/lib/bioshogi/tasks/chore.rake +4 -0
- data/lib/bioshogi/tasks/extreme_detect.rake +7 -0
- data/lib/bioshogi/tasks/perf.rake +5 -0
- data/lib/bioshogi/tasks/rdoc.rake +11 -0
- data/lib/bioshogi/tasks/report.rake +7 -0
- data/lib/bioshogi/tasks/tactic.rake +5 -0
- data/lib/bioshogi/tasks/tactic_detector.rake +8 -0
- data/lib/bioshogi/v/preset_vectors.rb +101 -37
- data/lib/bioshogi/v.rb +1 -1
- data/lib/bioshogi/version.rb +1 -1
- data/lib/bioshogi.rb +14 -5
- data/rdoc/Bioshogi/AI/Brain.html +534 -0
- data/rdoc/Bioshogi/AI/Diver/Base.html +193 -0
- data/rdoc/Bioshogi/AI/Diver/NegaAlphaDiver.html +259 -0
- data/rdoc/Bioshogi/AI/Diver/NegaAlphaMateDiver.html +369 -0
- data/rdoc/Bioshogi/AI/Diver/NegaMaxDiver.html +196 -0
- data/rdoc/Bioshogi/AI/Diver/NegaScoutDiver.html +258 -0
- data/rdoc/Bioshogi/AI/Diver.html +101 -0
- data/rdoc/Bioshogi/AI/Evaluator/Base.html +253 -0
- data/rdoc/Bioshogi/AI/Evaluator/Level0.html +107 -0
- data/rdoc/Bioshogi/AI/Evaluator/Level1.html +107 -0
- data/rdoc/Bioshogi/AI/Evaluator/Level2.html +105 -0
- data/rdoc/Bioshogi/AI/Evaluator/Level3.html +212 -0
- data/rdoc/Bioshogi/AI/Evaluator/Level4.html +157 -0
- data/rdoc/Bioshogi/AI/Evaluator.html +114 -0
- data/rdoc/Bioshogi/AI/Versus.html +280 -0
- data/rdoc/Bioshogi/AI.html +556 -0
- data/rdoc/Bioshogi/AliasMod.html +204 -0
- data/rdoc/Bioshogi/AlredyPromoted.html +107 -0
- data/rdoc/Bioshogi/AmbiguousFormatError.html +107 -0
- data/rdoc/Bioshogi/Analysis/AbbrevExpander.html +259 -0
- data/rdoc/Bioshogi/Analysis/AnagumaDetector.html +243 -0
- data/rdoc/Bioshogi/Analysis/Atsumeruyo.html +211 -0
- data/rdoc/Bioshogi/Analysis/AttackInfo.html +157 -0
- data/rdoc/Bioshogi/Analysis/BoardPieceCountsMethods.html +285 -0
- data/rdoc/Bioshogi/Analysis/CaptureAnalyzer.html +225 -0
- data/rdoc/Bioshogi/Analysis/CaptureDetector.html +113 -0
- data/rdoc/Bioshogi/Analysis/ClusterScoreInfo.html +156 -0
- data/rdoc/Bioshogi/Analysis/ColumnSoldierCounterMethods.html +252 -0
- data/rdoc/Bioshogi/Analysis/CustomAnalyzer.html +214 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectorInfo.html +156 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectors/AnagumaDetector.html +243 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectors/GyokutousenDetector.html +412 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectors/HikakukoukanDetector.html +296 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectors/HisyakakuKiruDetector.html +249 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectors/KakukoukanDetector.html +259 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectors/KakunihakakuDetector.html +268 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectors/MagicSquareDetector.html +237 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectors/NyuugyokuAnagumaDetector.html +338 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectors/OutbreakDetector.html +216 -0
- data/rdoc/Bioshogi/Analysis/CustomDetectors.html +101 -0
- data/rdoc/Bioshogi/Analysis/CustomTriggerInfo.html +156 -0
- data/rdoc/Bioshogi/Analysis/DefenseInfo.html +114 -0
- data/rdoc/Bioshogi/Analysis/EveryAnalyzer.html +225 -0
- data/rdoc/Bioshogi/Analysis/EveryDetector.html +113 -0
- data/rdoc/Bioshogi/Analysis/ExecuterDsl.html +998 -0
- data/rdoc/Bioshogi/Analysis/FileList.html +158 -0
- data/rdoc/Bioshogi/Analysis/FileNormalizer/NormalizeOne.html +202 -0
- data/rdoc/Bioshogi/Analysis/FileNormalizer.html +148 -0
- data/rdoc/Bioshogi/Analysis/FinalizeTagDetector.html +413 -0
- data/rdoc/Bioshogi/Analysis/FinalizeTagFuncInfo.html +113 -0
- data/rdoc/Bioshogi/Analysis/FinalizeTagInfo.html +156 -0
- data/rdoc/Bioshogi/Analysis/GroupInfo.html +156 -0
- data/rdoc/Bioshogi/Analysis/HikakukoukanDetector.html +273 -0
- data/rdoc/Bioshogi/Analysis/HisyakakuKiruDetector.html +249 -0
- data/rdoc/Bioshogi/Analysis/HorseDetector.html +306 -0
- data/rdoc/Bioshogi/Analysis/KakukiriCanceler.html +242 -0
- data/rdoc/Bioshogi/Analysis/MagicSquareDetector.html +233 -0
- data/rdoc/Bioshogi/Analysis/MotionAnalyzer.html +262 -0
- data/rdoc/Bioshogi/Analysis/MotionDetector.html +156 -0
- data/rdoc/Bioshogi/Analysis/MotionTriggerTableBuilder.html +155 -0
- data/rdoc/Bioshogi/Analysis/NormalizeCheck.html +159 -0
- data/rdoc/Bioshogi/Analysis/NoteInfo.html +114 -0
- data/rdoc/Bioshogi/Analysis/OutbreakDetector.html +216 -0
- data/rdoc/Bioshogi/Analysis/PerformanceBenchmark.html +166 -0
- data/rdoc/Bioshogi/Analysis/PlayerMethods.html +336 -0
- data/rdoc/Bioshogi/Analysis/RocketDetector.html +252 -0
- data/rdoc/Bioshogi/Analysis/ShapeAnalyzer.html +478 -0
- data/rdoc/Bioshogi/Analysis/ShapeDetector.html +113 -0
- data/rdoc/Bioshogi/Analysis/ShapeInfo.html +156 -0
- data/rdoc/Bioshogi/Analysis/SoldierLookupTableMethods.html +285 -0
- data/rdoc/Bioshogi/Analysis/SoldierPlaceMethods.html +285 -0
- data/rdoc/Bioshogi/Analysis/StyleInfo.html +113 -0
- data/rdoc/Bioshogi/Analysis/SugatayakiDetector.html +426 -0
- data/rdoc/Bioshogi/Analysis/TacticDetector/SingleValidator.html +212 -0
- data/rdoc/Bioshogi/Analysis/TacticDetector.html +216 -0
- data/rdoc/Bioshogi/Analysis/TacticHitTurnTableGenerator.html +346 -0
- data/rdoc/Bioshogi/Analysis/TacticInfo.html +263 -0
- data/rdoc/Bioshogi/Analysis/TacticStat.html +151 -0
- data/rdoc/Bioshogi/Analysis/TagBundle/List.html +178 -0
- data/rdoc/Bioshogi/Analysis/TagBundle.html +689 -0
- data/rdoc/Bioshogi/Analysis/TagIndex.html +534 -0
- data/rdoc/Bioshogi/Analysis/TagReporter.html +257 -0
- data/rdoc/Bioshogi/Analysis/TechniqueInfo.html +114 -0
- data/rdoc/Bioshogi/Analysis/TriggerExpander.html +146 -0
- data/rdoc/Bioshogi/Analysis/UsedSoldierCounter.html +229 -0
- data/rdoc/Bioshogi/Analysis/XmotionAnalyzer.html +222 -0
- data/rdoc/Bioshogi/Analysis/XmotionDetectorInfo.html +204 -0
- data/rdoc/Bioshogi/Analysis/XmotionDetectors/HorseDetector.html +306 -0
- data/rdoc/Bioshogi/Analysis/XmotionDetectors/Outebisha0Detector.html +270 -0
- data/rdoc/Bioshogi/Analysis/XmotionDetectors/OutebishaDetector.html +497 -0
- data/rdoc/Bioshogi/Analysis/XmotionDetectors/OutekakuDetector.html +298 -0
- data/rdoc/Bioshogi/Analysis/XmotionDetectors/RocketDetector.html +252 -0
- data/rdoc/Bioshogi/Analysis/XmotionDetectors/WazaarinokeiDetector.html +276 -0
- data/rdoc/Bioshogi/Analysis/XmotionDetectors.html +101 -0
- data/rdoc/Bioshogi/Analysis.html +1369 -0
- data/rdoc/Bioshogi/Assertion.html +183 -0
- data/rdoc/Bioshogi/BeforePlaceNotFound.html +107 -0
- data/rdoc/Bioshogi/BioshogiError.html +105 -0
- data/rdoc/Bioshogi/Board/Basic.html +203 -0
- data/rdoc/Bioshogi/Board/CsaFormatter.html +198 -0
- data/rdoc/Bioshogi/Board/DetectorMethods.html +182 -0
- data/rdoc/Bioshogi/Board/KakinokiFormatter.html +191 -0
- data/rdoc/Bioshogi/Board/ReaderMethods.html +591 -0
- data/rdoc/Bioshogi/Board/UpdateMethods.html +406 -0
- data/rdoc/Bioshogi/Board.html +264 -0
- data/rdoc/Bioshogi/BoardParser/Base.html +282 -0
- data/rdoc/Bioshogi/BoardParser/CompareBoardParser.html +527 -0
- data/rdoc/Bioshogi/BoardParser/CsaBoardParser.html +214 -0
- data/rdoc/Bioshogi/BoardParser/KakinokiBoardParser.html +218 -0
- data/rdoc/Bioshogi/BoardParser/SfenBoardParser.html +205 -0
- data/rdoc/Bioshogi/BoardParser.html +178 -0
- data/rdoc/Bioshogi/BrainProcessingHeavy.html +107 -0
- data/rdoc/Bioshogi/CLI.html +116 -0
- data/rdoc/Bioshogi/ColumnSoldierCounter.html +299 -0
- data/rdoc/Bioshogi/CommonError.html +107 -0
- data/rdoc/Bioshogi/ConsumedTimeMinusError.html +107 -0
- data/rdoc/Bioshogi/Container/Basic.html +117 -0
- data/rdoc/Bioshogi/Container/CheckmateYomiage.html +282 -0
- data/rdoc/Bioshogi/Container/Fast.html +159 -0
- data/rdoc/Bioshogi/Container/Simple.html +160 -0
- data/rdoc/Bioshogi/Container.html +2166 -0
- data/rdoc/Bioshogi/Converter.html +226 -0
- data/rdoc/Bioshogi/CounterHash.html +226 -0
- data/rdoc/Bioshogi/CoverImage/Renderer.html +116 -0
- data/rdoc/Bioshogi/CoverImage.html +526 -0
- data/rdoc/Bioshogi/CsaHeaderInfo.html +228 -0
- data/rdoc/Bioshogi/DeadPieceRuleError.html +107 -0
- data/rdoc/Bioshogi/DifferentTurnCommonError.html +107 -0
- data/rdoc/Bioshogi/Dimension/Base.html +893 -0
- data/rdoc/Bioshogi/Dimension/CharInfo.html +156 -0
- data/rdoc/Bioshogi/Dimension/Column.html +873 -0
- data/rdoc/Bioshogi/Dimension/DimensionInfo.html +160 -0
- data/rdoc/Bioshogi/Dimension/ModuleMethods.html +244 -0
- data/rdoc/Bioshogi/Dimension/Row.html +932 -0
- data/rdoc/Bioshogi/Dimension.html +109 -0
- data/rdoc/Bioshogi/DoublePawnCommonError.html +107 -0
- data/rdoc/Bioshogi/ExtremeDetect.html +540 -0
- data/rdoc/Bioshogi/FileFormatError.html +107 -0
- data/rdoc/Bioshogi/Formatter/AkfBuilder.html +289 -0
- data/rdoc/Bioshogi/Formatter/Animation/AnimationApngBuilder.html +178 -0
- data/rdoc/Bioshogi/Formatter/Animation/AnimationGifBuilder.html +332 -0
- data/rdoc/Bioshogi/Formatter/Animation/AnimationMp4Builder.html +446 -0
- data/rdoc/Bioshogi/Formatter/Animation/AnimationWebpBuilder.html +177 -0
- data/rdoc/Bioshogi/Formatter/Animation/AnimationZipBuilder.html +277 -0
- data/rdoc/Bioshogi/Formatter/Animation/AudioThemeInfo.html +300 -0
- data/rdoc/Bioshogi/Formatter/Animation/DemoBuilder.html +150 -0
- data/rdoc/Bioshogi/Formatter/Animation/FfmpegError.html +105 -0
- data/rdoc/Bioshogi/Formatter/Animation/ProgressCop.html +522 -0
- data/rdoc/Bioshogi/Formatter/Animation/SerialFilenameGenerator.html +402 -0
- data/rdoc/Bioshogi/Formatter/Animation/SystemSupport.html +271 -0
- data/rdoc/Bioshogi/Formatter/Animation.html +509 -0
- data/rdoc/Bioshogi/Formatter/Core.html +1047 -0
- data/rdoc/Bioshogi/Formatter/CsaBuilder.html +314 -0
- data/rdoc/Bioshogi/Formatter/Ki2Builder.html +166 -0
- data/rdoc/Bioshogi/Formatter/KifBuilder.html +175 -0
- data/rdoc/Bioshogi/Formatter/Runner.html +249 -0
- data/rdoc/Bioshogi/Formatter.html +631 -0
- data/rdoc/Bioshogi/FreqPieceInfo.html +216 -0
- data/rdoc/Bioshogi/Hand/Drop.html +446 -0
- data/rdoc/Bioshogi/Hand/Move.html +668 -0
- data/rdoc/Bioshogi/Hand.html +551 -0
- data/rdoc/Bioshogi/HandLog.html +581 -0
- data/rdoc/Bioshogi/HandLogs.html +212 -0
- data/rdoc/Bioshogi/HoldPieceNotFound.html +107 -0
- data/rdoc/Bioshogi/HoldPieceNotFound2.html +107 -0
- data/rdoc/Bioshogi/IllegibleFormat.html +107 -0
- data/rdoc/Bioshogi/InputAdapter/AbstractAdapter.html +600 -0
- data/rdoc/Bioshogi/InputAdapter/CsaAdapter.html +348 -0
- data/rdoc/Bioshogi/InputAdapter/Ki2Adapter.html +346 -0
- data/rdoc/Bioshogi/InputAdapter/KifAdapter.html +322 -0
- data/rdoc/Bioshogi/InputAdapter/SfenAdapter.html +357 -0
- data/rdoc/Bioshogi/InputAdapter.html +614 -0
- data/rdoc/Bioshogi/InputParser.html +301 -0
- data/rdoc/Bioshogi/KanjiNumber.html +279 -0
- data/rdoc/Bioshogi/KeyNotFound.html +107 -0
- data/rdoc/Bioshogi/KifuFormatInfo.html +160 -0
- data/rdoc/Bioshogi/LastActionInfo.html +245 -0
- data/rdoc/Bioshogi/Location.html +744 -0
- data/rdoc/Bioshogi/MainClock.html +253 -0
- data/rdoc/Bioshogi/Media.html +576 -0
- data/rdoc/Bioshogi/MementoStackEmpty.html +107 -0
- data/rdoc/Bioshogi/MovableBattlerNotFound.html +107 -0
- data/rdoc/Bioshogi/MustNotHappen.html +107 -0
- data/rdoc/Bioshogi/NoPromotablePiece.html +107 -0
- data/rdoc/Bioshogi/NotFoundOnBoard.html +107 -0
- data/rdoc/Bioshogi/NotPromotable.html +107 -0
- data/rdoc/Bioshogi/OfficialFormatter.html +334 -0
- data/rdoc/Bioshogi/OrderInfo.html +113 -0
- data/rdoc/Bioshogi/Parser/Base.html +423 -0
- data/rdoc/Bioshogi/Parser/BodParser.html +105 -0
- data/rdoc/Bioshogi/Parser/CsaParser.html +227 -0
- data/rdoc/Bioshogi/Parser/Header.html +366 -0
- data/rdoc/Bioshogi/Parser/Inspector.html +233 -0
- data/rdoc/Bioshogi/Parser/Ki2Parser.html +174 -0
- data/rdoc/Bioshogi/Parser/KifParser.html +185 -0
- data/rdoc/Bioshogi/Parser/Pi.html +589 -0
- data/rdoc/Bioshogi/Parser/SfenParser.html +201 -0
- data/rdoc/Bioshogi/Parser/TimeParser.html +191 -0
- data/rdoc/Bioshogi/Parser.html +616 -0
- data/rdoc/Bioshogi/Piece/EkScoreInfo.html +123 -0
- data/rdoc/Bioshogi/Piece/PieceCsa.html +190 -0
- data/rdoc/Bioshogi/Piece/PiecePressure.html +156 -0
- data/rdoc/Bioshogi/Piece/PieceScale.html +113 -0
- data/rdoc/Bioshogi/Piece/PieceScore.html +240 -0
- data/rdoc/Bioshogi/Piece/PieceVector.html +200 -0
- data/rdoc/Bioshogi/Piece/YomiagePieceInfo.html +190 -0
- data/rdoc/Bioshogi/Piece.html +1317 -0
- data/rdoc/Bioshogi/PieceAlredyExist.html +107 -0
- data/rdoc/Bioshogi/PieceBox.html +791 -0
- data/rdoc/Bioshogi/PieceNotFound.html +107 -0
- data/rdoc/Bioshogi/PieceNotFoundOnBoard.html +107 -0
- data/rdoc/Bioshogi/Place.html +1467 -0
- data/rdoc/Bioshogi/Player/OtherMethods.html +395 -0
- data/rdoc/Bioshogi/Player/PieceBoxMethods.html +312 -0
- data/rdoc/Bioshogi/Player/PressureMethods.html +246 -0
- data/rdoc/Bioshogi/Player/SoldierMethods.html +420 -0
- data/rdoc/Bioshogi/Player.html +605 -0
- data/rdoc/Bioshogi/PlayerExecutor/Base.html +579 -0
- data/rdoc/Bioshogi/PlayerExecutor/Brain.html +107 -0
- data/rdoc/Bioshogi/PlayerExecutor/ErrorHandler.html +192 -0
- data/rdoc/Bioshogi/PlayerExecutor/Human.html +114 -0
- data/rdoc/Bioshogi/PlayerExecutor/WithoutAnalyzer.html +105 -0
- data/rdoc/Bioshogi/PlayerExecutor.html +101 -0
- data/rdoc/Bioshogi/PresetInfo.html +541 -0
- data/rdoc/Bioshogi/PromotedPiecePutOnError.html +107 -0
- data/rdoc/Bioshogi/PromotedPieceToNormalPiece.html +107 -0
- data/rdoc/Bioshogi/Rect.html +105 -0
- data/rdoc/Bioshogi/ReversePlayerPieceMoveError.html +107 -0
- data/rdoc/Bioshogi/RuleError.html +154 -0
- data/rdoc/Bioshogi/SamePlaceDifferent.html +107 -0
- data/rdoc/Bioshogi/SamePlayerBattlerOverwrideError.html +107 -0
- data/rdoc/Bioshogi/ScreenImage/ColorThemeInfo.html +410 -0
- data/rdoc/Bioshogi/ScreenImage/FontThemeInfo.html +231 -0
- data/rdoc/Bioshogi/ScreenImage/NureyonImageInfo.html +105 -0
- data/rdoc/Bioshogi/ScreenImage/PaletteInfo.html +156 -0
- data/rdoc/Bioshogi/ScreenImage/PieceFontWeightInfo.html +113 -0
- data/rdoc/Bioshogi/ScreenImage/PieceImageInfo.html +202 -0
- data/rdoc/Bioshogi/ScreenImage/Renderer.html +121 -0
- data/rdoc/Bioshogi/ScreenImage.html +3251 -0
- data/rdoc/Bioshogi/Sfen.html +722 -0
- data/rdoc/Bioshogi/SfenImporter.html +234 -0
- data/rdoc/Bioshogi/SimpleModel.html +152 -0
- data/rdoc/Bioshogi/Simulator.html +286 -0
- data/rdoc/Bioshogi/SingleClock.html +293 -0
- data/rdoc/Bioshogi/Soldier.html +1693 -0
- data/rdoc/Bioshogi/SoldierBox.html +270 -0
- data/rdoc/Bioshogi/SoldierWalker.html +195 -0
- data/rdoc/Bioshogi/SoldierWarpError.html +107 -0
- data/rdoc/Bioshogi/Source.html +232 -0
- data/rdoc/Bioshogi/Stat.html +117 -0
- data/rdoc/Bioshogi/SyntaxDefact.html +107 -0
- data/rdoc/Bioshogi/TurnInfo.html +449 -0
- data/rdoc/Bioshogi/UnconfirmedObject.html +107 -0
- data/rdoc/Bioshogi/V/OnceVector.html +150 -0
- data/rdoc/Bioshogi/V/PresetVectors.html +1284 -0
- data/rdoc/Bioshogi/V/RepeatVector.html +150 -0
- data/rdoc/Bioshogi/V.html +569 -0
- data/rdoc/Bioshogi/Yomiage/Formatter.html +298 -0
- data/rdoc/Bioshogi/Yomiage/KanjiInfo.html +113 -0
- data/rdoc/Bioshogi/Yomiage/NumberInfo.html +113 -0
- data/rdoc/Bioshogi/Yomiage.html +101 -0
- data/rdoc/Bioshogi.html +553 -0
- data/rdoc/Object.html +121 -0
- data/rdoc/created.rid +261 -0
- data/rdoc/css/fonts.css +167 -0
- data/rdoc/css/rdoc.css +668 -0
- data/rdoc/fonts/Lato-Light.ttf +0 -0
- data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
- data/rdoc/fonts/Lato-Regular.ttf +0 -0
- data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
- data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/rdoc/images/add.png +0 -0
- data/rdoc/images/arrow_up.png +0 -0
- data/rdoc/images/brick.png +0 -0
- data/rdoc/images/brick_link.png +0 -0
- data/rdoc/images/bug.png +0 -0
- data/rdoc/images/bullet_black.png +0 -0
- data/rdoc/images/bullet_toggle_minus.png +0 -0
- data/rdoc/images/bullet_toggle_plus.png +0 -0
- data/rdoc/images/date.png +0 -0
- data/rdoc/images/delete.png +0 -0
- data/rdoc/images/find.png +0 -0
- data/rdoc/images/loadingAnimation.gif +0 -0
- data/rdoc/images/macFFBgHack.png +0 -0
- data/rdoc/images/package.png +0 -0
- data/rdoc/images/page_green.png +0 -0
- data/rdoc/images/page_white_text.png +0 -0
- data/rdoc/images/page_white_width.png +0 -0
- data/rdoc/images/plugin.png +0 -0
- data/rdoc/images/ruby.png +0 -0
- data/rdoc/images/tag_blue.png +0 -0
- data/rdoc/images/tag_green.png +0 -0
- data/rdoc/images/transparent.png +0 -0
- data/rdoc/images/wrench.png +0 -0
- data/rdoc/images/wrench_orange.png +0 -0
- data/rdoc/images/zoom.png +0 -0
- data/rdoc/index.html +393 -0
- data/rdoc/js/darkfish.js +120 -0
- data/rdoc/js/navigation.js +105 -0
- data/rdoc/js/navigation.js.gz +0 -0
- data/rdoc/js/search.js +110 -0
- data/rdoc/js/search_index.js +1 -0
- data/rdoc/js/search_index.js.gz +0 -0
- data/rdoc/js/searcher.js +229 -0
- data/rdoc/js/searcher.js.gz +0 -0
- data/rdoc/table_of_contents.html +7196 -0
- data//347/275/256/343/201/215/346/217/233/343/201/210/346/216/250/345/245/250.txt +1 -1
- metadata +542 -60
- data/.travis.yml +0 -14
- data/lib/bioshogi/analysis/analyzer.rb +0 -463
- data/lib/bioshogi/analysis/chaos_info.rb +0 -17
- data/lib/bioshogi/analysis/core_soldier_place_methods.rb +0 -58
- data/lib/bioshogi/analysis/rocket_analyzer.rb +0 -104
- data/lib/bioshogi/analysis/sect_info.rb +0 -13
- data/lib/bioshogi/analysis/shape_info_relation.rb +0 -37
- data/lib/bioshogi/analysis/skill_set.rb +0 -105
- data/lib/bioshogi/analysis/technique_matcher_helper.rb +0 -8
- data/lib/bioshogi/analysis/technique_verify_info.rb +0 -800
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/205/245/347/216/211.kif +0 -26
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/205/250/351/247/222.kif +0 -27
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/345/261/205/351/243/233/350/273/212.kif +0 -10
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/346/214/257/343/202/212/351/243/233/350/273/212.kif +0 -11
- data/lib/bioshogi/analysis//345/202/231/350/200/203//345/257/276/347/251/264/347/206/212.kif +0 -122
- data/lib/bioshogi/analysis//345/202/231/350/200/203//347/237/242/345/200/211/346/227/24724/346/211/213/347/265/204.kif +0 -39
- data/lib/bioshogi/analysis//345/202/231/350/200/203//350/247/222/344/270/215/346/210/220.kif +0 -23
- data/lib/bioshogi/analysis//345/202/231/350/200/203//351/243/233/350/273/212/344/270/215/346/210/220.kif +0 -15
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/211/207/347/251/264/347/206/212.kif +0 -51
- data/lib/bioshogi/analysis//345/233/262/343/201/204//347/251/272/344/270/255/346/245/274/351/226/243.kif +0 -59
- data/lib/bioshogi/analysis//346/210/246/346/263/225//344/270/200/351/226/223/351/243/233/350/273/212/347/251/264/347/206/212.kif +0 -42
- data/lib/bioshogi/formatter/last_action_info.rb +0 -81
- data/lib/bioshogi/formatter/skill_embed.rb +0 -316
- data/lib/bioshogi/formatter/style_embed.rb +0 -27
- data/lib/bioshogi/piller_cop.rb +0 -47
- data/lib/bioshogi/soldier/technique_matcher_methods.rb +0 -57
- data/lib/bioshogi/tasks/extreme_validator.rake +0 -8
- data/lib/bioshogi/tasks/tactic_validator.rake +0 -8
data/lib/bioshogi/parser/pi.rb
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# frozen-string-literal: true
|
2
2
|
|
3
|
+
# 設計がおかしくなっていた原因は、このクラスを DTO として扱っていたことにある。
|
4
|
+
# last_action_key が「なんでもハッシュ」になっているのも問題である。
|
5
|
+
# 読み込んだ情報へのアクセスメソッドは、このクラス内に積極的に定義すべき。
|
6
|
+
|
3
7
|
module Bioshogi
|
4
8
|
module Parser
|
5
9
|
class Pi
|
@@ -7,7 +11,11 @@ module Bioshogi
|
|
7
11
|
attr_accessor :move_infos
|
8
12
|
attr_accessor :first_comments
|
9
13
|
attr_accessor :board_source
|
10
|
-
|
14
|
+
|
15
|
+
attr_accessor :last_action_unknown_str
|
16
|
+
attr_accessor :last_action_info1
|
17
|
+
attr_accessor :last_used_seconds
|
18
|
+
|
11
19
|
attr_accessor :header
|
12
20
|
attr_accessor :force_preset_info
|
13
21
|
attr_accessor :force_location
|
@@ -15,14 +23,17 @@ module Bioshogi
|
|
15
23
|
attr_accessor :player_piece_boxes
|
16
24
|
attr_accessor :sfen_info
|
17
25
|
|
18
|
-
# 変換時に必要なもの
|
19
26
|
attr_accessor :error_message
|
20
27
|
|
21
28
|
def initialize
|
22
29
|
@move_infos = []
|
23
30
|
@first_comments = []
|
24
31
|
@board_source = nil
|
25
|
-
|
32
|
+
|
33
|
+
@last_action_info1 = nil # LastActionInfo[:TORYO]
|
34
|
+
@last_action_unknown_str = nil
|
35
|
+
@last_used_seconds = nil
|
36
|
+
|
26
37
|
@header = Header.new
|
27
38
|
@force_preset_info = nil
|
28
39
|
@force_location = nil
|
@@ -32,34 +43,60 @@ module Bioshogi
|
|
32
43
|
@sfen_info = nil
|
33
44
|
end
|
34
45
|
|
46
|
+
################################################################################ 以下すべて読み取りメソッド
|
47
|
+
|
48
|
+
def to_h
|
49
|
+
instance_variables.inject({}) do |a, e|
|
50
|
+
a.merge(e => instance_variable_get(e))
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def used_seconds_at(index)
|
55
|
+
@move_infos.dig(index, :used_seconds).to_i
|
56
|
+
end
|
57
|
+
|
35
58
|
def clock_exist?
|
36
|
-
|
37
|
-
|
59
|
+
unless defined?(@clock_exist_p)
|
60
|
+
@clock_exist_p = @move_infos.any? { |e| e[:used_seconds].to_i.nonzero? }
|
61
|
+
end
|
62
|
+
|
63
|
+
@clock_exist_p
|
38
64
|
end
|
39
65
|
|
40
66
|
def clock_nothing?
|
41
67
|
!clock_exist?
|
42
68
|
end
|
43
69
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
70
|
+
def input_last_action_info
|
71
|
+
last_action_info1 || header.last_action_info2 || LastActionInfo[:TORYO]
|
72
|
+
end
|
73
|
+
|
74
|
+
# 出力するときの結末
|
75
|
+
# nil を返す場合もある
|
76
|
+
def output_last_action_info
|
77
|
+
@output_last_action_info ||= illegal_move_last_action_info || input_last_action_info
|
78
|
+
end
|
79
|
+
|
80
|
+
def illegal_move_last_action_info
|
81
|
+
if error_message
|
82
|
+
LastActionInfo.fetch(:ILLEGAL_MOVE)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
private :illegal_move_last_action_info
|
86
|
+
|
87
|
+
def error_message_part(comment_mark = "*")
|
88
|
+
if v = error_message
|
89
|
+
v = v.strip + "\n"
|
90
|
+
s = "-" * 76 + "\n"
|
91
|
+
[s, *v.lines, s].collect { |e| "#{comment_mark} #{e}" }.join
|
52
92
|
end
|
53
93
|
end
|
54
94
|
|
55
|
-
#
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
last_action_info.key == :TSUMI
|
61
|
-
end
|
62
|
-
end
|
95
|
+
# 将棋倶楽部24の棋譜だけに存在する、自分の手番で相手が投了したときの文言に対応する
|
96
|
+
# "*" のあとにスペースを入れると、激指でコメントの先頭にスペースが入ってしまうため、仕方なくくっつけている
|
97
|
+
def illegal_judgement_message
|
98
|
+
if last_action_unknown_str
|
99
|
+
"本当の結末は「#{last_action_unknown_str}」だがこれが入っていると激指で読み込めなくなるので仕方なく投了にしている"
|
63
100
|
end
|
64
101
|
end
|
65
102
|
end
|
@@ -14,6 +14,7 @@ module Bioshogi
|
|
14
14
|
@pi.sfen_info = Sfen.parse(normalized_source)
|
15
15
|
@pi.move_infos = @pi.sfen_info.move_infos
|
16
16
|
@pi.force_handicap = @pi.sfen_info.handicap?
|
17
|
+
# @pi.force_preset_info = @pi.sfen_info.handicap?
|
17
18
|
|
18
19
|
@pi.sfen_info.piece_counts.each do |location_key, counts|
|
19
20
|
location = Location.fetch(location_key)
|
data/lib/bioshogi/parser.rb
CHANGED
@@ -7,7 +7,7 @@ module Bioshogi
|
|
7
7
|
# 担当するクラス
|
8
8
|
def accepted_class(source)
|
9
9
|
source = Source.wrap(source)
|
10
|
-
support_parsers.find { |e| e.accept?(source) }
|
10
|
+
support_parsers.find { |e| e.accept?(source) } || default_parser
|
11
11
|
end
|
12
12
|
|
13
13
|
# 棋譜ファイルのコンテンツを読み込む
|
@@ -36,5 +36,9 @@ module Bioshogi
|
|
36
36
|
BodParser,
|
37
37
|
]
|
38
38
|
end
|
39
|
+
|
40
|
+
def default_parser
|
41
|
+
KifParser
|
42
|
+
end
|
39
43
|
end
|
40
44
|
end
|
@@ -5,14 +5,14 @@ module Bioshogi
|
|
5
5
|
class PieceScore
|
6
6
|
include ApplicationMemoryRecord
|
7
7
|
memory_record [
|
8
|
-
{ key: :king, basic_weight: 40000, promoted_weight: 0, hold_weight: 40000, },
|
9
|
-
{ key: :rook, basic_weight: 2000, promoted_weight: 2200, hold_weight: 2100, },
|
10
|
-
{ key: :bishop, basic_weight: 1800, promoted_weight: 2000, hold_weight: 1890, },
|
11
|
-
{ key: :gold, basic_weight: 1200, promoted_weight: 0, hold_weight: 1260, },
|
12
|
-
{ key: :silver, basic_weight: 1000, promoted_weight: 1200, hold_weight: 1050, },
|
13
|
-
{ key: :knight, basic_weight: 700, promoted_weight: 1200, hold_weight: 735, },
|
14
|
-
{ key: :lance, basic_weight: 600, promoted_weight: 1200, hold_weight: 630, },
|
15
|
-
{ key: :pawn, basic_weight: 100, promoted_weight: 1200, hold_weight: 105, },
|
8
|
+
{ key: :king, basic_weight: 40000, promoted_weight: 0, hold_weight: 40000, category_score: 2, },
|
9
|
+
{ key: :rook, basic_weight: 2000, promoted_weight: 2200, hold_weight: 2100, category_score: 1, },
|
10
|
+
{ key: :bishop, basic_weight: 1800, promoted_weight: 2000, hold_weight: 1890, category_score: 1, },
|
11
|
+
{ key: :gold, basic_weight: 1200, promoted_weight: 0, hold_weight: 1260, category_score: 0, },
|
12
|
+
{ key: :silver, basic_weight: 1000, promoted_weight: 1200, hold_weight: 1050, category_score: 0, },
|
13
|
+
{ key: :knight, basic_weight: 700, promoted_weight: 1200, hold_weight: 735, category_score: 0, },
|
14
|
+
{ key: :lance, basic_weight: 600, promoted_weight: 1200, hold_weight: 630, category_score: 0, },
|
15
|
+
{ key: :pawn, basic_weight: 100, promoted_weight: 1200, hold_weight: 105, category_score: 0, },
|
16
16
|
]
|
17
17
|
|
18
18
|
class << self
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen-string-literal: true
|
2
|
+
|
2
3
|
#
|
3
4
|
# basic_once_vectors 通常の1ベクトル
|
4
5
|
# basic_repeat_vectors 通常の繰り返しベクトル
|
@@ -104,9 +105,9 @@ module Bioshogi
|
|
104
105
|
|
105
106
|
def pattern_plus
|
106
107
|
[
|
107
|
-
nil, [0
|
108
|
+
nil, [0, -1], nil,
|
108
109
|
[-1, 0], nil, [+1, 0],
|
109
|
-
nil, [0
|
110
|
+
nil, [0, +1], nil,
|
110
111
|
]
|
111
112
|
end
|
112
113
|
|
data/lib/bioshogi/piece.rb
CHANGED
@@ -11,6 +11,7 @@ module Bioshogi
|
|
11
11
|
class Piece
|
12
12
|
concern :CLI do
|
13
13
|
included do
|
14
|
+
# bioshogi piece
|
14
15
|
desc "piece", "駒一覧"
|
15
16
|
def piece
|
16
17
|
tp Piece.collect(&:to_h)
|
@@ -32,7 +33,7 @@ module Bioshogi
|
|
32
33
|
str = str.remove(/\p{blank}/)
|
33
34
|
str.scan(/(#{Piece.all_names.join("|")})(\d+)?/o).inject({}) do |a, (piece, count)|
|
34
35
|
piece = Piece.fetch(piece)
|
35
|
-
a.merge(piece.key => (count || 1).to_i) {|_, v1, v2| v1 + v2 }
|
36
|
+
a.merge(piece.key => (count || 1).to_i) { |_, v1, v2| v1 + v2 }
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
@@ -97,14 +98,14 @@ module Bioshogi
|
|
97
98
|
|
98
99
|
include ApplicationMemoryRecord
|
99
100
|
memory_record [
|
100
|
-
{ key: :king, name: "玉", basic_alias: "王", promoted_name: nil, promoted_formal_sheet_name: nil, other_matched_promoted_names: nil, sfen_char: "K", promotable: false, always_alive: true,
|
101
|
-
{ key: :rook, name: "飛", basic_alias: nil, promoted_name: "龍", promoted_formal_sheet_name: nil, other_matched_promoted_names: "竜", sfen_char: "R", promotable: true, always_alive: true,
|
102
|
-
{ key: :bishop, name: "角", basic_alias: nil, promoted_name: "馬", promoted_formal_sheet_name: nil, other_matched_promoted_names: nil, sfen_char: "B", promotable: true, always_alive: true,
|
103
|
-
{ key: :gold, name: "金", basic_alias: nil, promoted_name: nil, promoted_formal_sheet_name: nil, other_matched_promoted_names: nil, sfen_char: "G", promotable: false, always_alive: true,
|
104
|
-
{ key: :silver, name: "銀", basic_alias: nil, promoted_name: "全", promoted_formal_sheet_name: "成銀", other_matched_promoted_names: nil, sfen_char: "S", promotable: true, always_alive: true,
|
105
|
-
{ key: :knight, name: "桂", basic_alias: nil, promoted_name: "圭", promoted_formal_sheet_name: "成桂", other_matched_promoted_names: "今", sfen_char: "N", promotable: true, always_alive: false,
|
106
|
-
{ key: :lance, name: "香", basic_alias: nil, promoted_name: "杏", promoted_formal_sheet_name: "成香", other_matched_promoted_names: "仝", sfen_char: "L", promotable: true, always_alive: false,
|
107
|
-
{ key: :pawn, name: "歩", basic_alias: nil, promoted_name: "と", promoted_formal_sheet_name: nil, other_matched_promoted_names: nil, sfen_char: "P", promotable: true, always_alive: false,
|
101
|
+
{ key: :king, name: "玉", basic_alias: "王", promoted_name: nil, promoted_formal_sheet_name: nil, other_matched_promoted_names: nil, sfen_char: "K", promotable: false, always_alive: true, hisyakaku: false, dengaku_target: true, tatakare_target: true, forward_movable: true, kogoma: false, kingin: false, swap_key: nil, keini_yowai: false, fuigai: true, count: 1, },
|
102
|
+
{ key: :rook, name: "飛", basic_alias: nil, promoted_name: "龍", promoted_formal_sheet_name: nil, other_matched_promoted_names: "竜", sfen_char: "R", promotable: true, always_alive: true, hisyakaku: true, dengaku_target: true, tatakare_target: true, forward_movable: true, kogoma: false, kingin: false, swap_key: :bishop, keini_yowai: false, fuigai: true, count: 1, },
|
103
|
+
{ key: :bishop, name: "角", basic_alias: nil, promoted_name: "馬", promoted_formal_sheet_name: nil, other_matched_promoted_names: nil, sfen_char: "B", promotable: true, always_alive: true, hisyakaku: true, dengaku_target: true, tatakare_target: false, forward_movable: false, kogoma: false, kingin: false, swap_key: :rook, keini_yowai: true, fuigai: true, count: 1, },
|
104
|
+
{ key: :gold, name: "金", basic_alias: nil, promoted_name: nil, promoted_formal_sheet_name: nil, other_matched_promoted_names: nil, sfen_char: "G", promotable: false, always_alive: true, hisyakaku: false, dengaku_target: true, tatakare_target: true, forward_movable: true, kogoma: true, kingin: true, swap_key: nil, keini_yowai: false, fuigai: true, count: 2, },
|
105
|
+
{ key: :silver, name: "銀", basic_alias: nil, promoted_name: "全", promoted_formal_sheet_name: "成銀", other_matched_promoted_names: nil, sfen_char: "S", promotable: true, always_alive: true, hisyakaku: false, dengaku_target: true, tatakare_target: true, forward_movable: true, kogoma: true, kingin: true, swap_key: nil, keini_yowai: true, fuigai: true, count: 2, },
|
106
|
+
{ key: :knight, name: "桂", basic_alias: nil, promoted_name: "圭", promoted_formal_sheet_name: "成桂", other_matched_promoted_names: "今", sfen_char: "N", promotable: true, always_alive: false, hisyakaku: false, dengaku_target: false, tatakare_target: false, forward_movable: false, kogoma: true, kingin: false, swap_key: nil, keini_yowai: true, fuigai: true, count: 2, },
|
107
|
+
{ key: :lance, name: "香", basic_alias: nil, promoted_name: "杏", promoted_formal_sheet_name: "成香", other_matched_promoted_names: "仝", sfen_char: "L", promotable: true, always_alive: false, hisyakaku: false, dengaku_target: false, tatakare_target: false, forward_movable: true, kogoma: true, kingin: false, swap_key: nil, keini_yowai: false, fuigai: true, count: 2, },
|
108
|
+
{ key: :pawn, name: "歩", basic_alias: nil, promoted_name: "と", promoted_formal_sheet_name: nil, other_matched_promoted_names: nil, sfen_char: "P", promotable: true, always_alive: false, hisyakaku: false, dengaku_target: false, tatakare_target: false, forward_movable: true, kogoma: true, kingin: false, swap_key: nil, keini_yowai: true, fuigai: false, count: 9, },
|
108
109
|
]
|
109
110
|
|
110
111
|
class << self
|
@@ -130,8 +131,12 @@ module Bioshogi
|
|
130
131
|
@promoted_group ||= inject({}) { |a, e| a.merge(e.promoted_names.collect { |key| [key, e] }.to_h) }
|
131
132
|
end
|
132
133
|
|
133
|
-
def
|
134
|
-
@
|
134
|
+
def hisyakaku_pieces
|
135
|
+
@hisyakaku_pieces ||= find_all(&:hisyakaku)
|
136
|
+
end
|
137
|
+
|
138
|
+
def kingin_pieces
|
139
|
+
@kingin_pieces ||= find_all(&:kingin)
|
135
140
|
end
|
136
141
|
end
|
137
142
|
|
@@ -147,8 +152,18 @@ module Bioshogi
|
|
147
152
|
promotable
|
148
153
|
end
|
149
154
|
|
150
|
-
def
|
151
|
-
|
155
|
+
def xxx_kiri(...)
|
156
|
+
name = any_name(...)
|
157
|
+
name = { "龍" => "竜", "飛" => "飛車" }.fetch(name, name)
|
158
|
+
"#{name}切り"
|
159
|
+
end
|
160
|
+
|
161
|
+
def swaped
|
162
|
+
unless defined?(@swaped)
|
163
|
+
@swaped = self.class[swap_key]
|
164
|
+
end
|
165
|
+
|
166
|
+
@swaped
|
152
167
|
end
|
153
168
|
|
154
169
|
concerning :NameMethods do
|
@@ -198,6 +213,10 @@ module Bioshogi
|
|
198
213
|
def promoted_names
|
199
214
|
[promoted_name, *promoted_formal_sheet_name, *other_matched_promoted_names, csa.promoted_name].flatten.compact
|
200
215
|
end
|
216
|
+
|
217
|
+
def to_counts_key(promoted)
|
218
|
+
:"#{sfen_char}#{promoted ? 1 : 0}"
|
219
|
+
end
|
201
220
|
end
|
202
221
|
|
203
222
|
concerning :SfenMethods do
|
@@ -236,7 +255,7 @@ module Bioshogi
|
|
236
255
|
def piece_score
|
237
256
|
@piece_score ||= PieceScore.fetch(key)
|
238
257
|
end
|
239
|
-
delegate :any_weight, :basic_weight, :promoted_weight, :hold_weight, to: :piece_score
|
258
|
+
delegate :any_weight, :basic_weight, :promoted_weight, :hold_weight, :category_score, to: :piece_score
|
240
259
|
|
241
260
|
def piece_pressure
|
242
261
|
@piece_pressure ||= PiecePressure.fetch(key)
|
data/lib/bioshogi/piece_box.rb
CHANGED
@@ -2,17 +2,25 @@
|
|
2
2
|
|
3
3
|
module Bioshogi
|
4
4
|
class PieceBox < SimpleDelegator
|
5
|
-
|
5
|
+
SOLE_PIECES = "玉飛角金2銀2桂2香2歩9"
|
6
6
|
|
7
7
|
class << self
|
8
8
|
def real_box
|
9
9
|
new(all_piece_counts)
|
10
10
|
end
|
11
11
|
|
12
|
+
def showcase_all
|
13
|
+
@showcase_all ||= real_box.freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
def showcase_sole
|
17
|
+
@showcase_sole ||= new(Piece.s_to_h(SOLE_PIECES)).freeze
|
18
|
+
end
|
19
|
+
|
12
20
|
private
|
13
21
|
|
14
22
|
def all_piece_counts
|
15
|
-
@all_piece_counts ||= Piece.s_to_h(
|
23
|
+
@all_piece_counts ||= Piece.s_to_h(SOLE_PIECES * 2).freeze
|
16
24
|
end
|
17
25
|
end
|
18
26
|
|
@@ -89,7 +97,7 @@ module Bioshogi
|
|
89
97
|
def detail_score
|
90
98
|
object.collect { |piece_key, count|
|
91
99
|
piece = Piece[piece_key]
|
92
|
-
{piece: piece.name, count: count, weight: piece.hold_weight, total: piece.hold_weight * count}
|
100
|
+
{ piece: piece.name, count: count, weight: piece.hold_weight, total: piece.hold_weight * count }
|
93
101
|
}
|
94
102
|
end
|
95
103
|
|
data/lib/bioshogi/place.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen-string-literal: true
|
2
|
+
|
2
3
|
#
|
3
4
|
# 座標
|
4
5
|
#
|
@@ -83,8 +84,13 @@ module Bioshogi
|
|
83
84
|
|
84
85
|
attr_accessor :column, :row
|
85
86
|
|
86
|
-
#
|
87
|
-
DELEGATE_METHODS = [
|
87
|
+
# # Soldier に生やすやつ
|
88
|
+
# DELEGATE_METHODS = [
|
89
|
+
# ]
|
90
|
+
|
91
|
+
# Soldier に生やすやつ
|
92
|
+
# ただの delgate ではなく soldier 側の location をこっそり受け取る
|
93
|
+
DELEGATE_METHODS_WITH_LOCATION = [
|
88
94
|
*Dimension::Column::DELEGATE_METHODS,
|
89
95
|
*Dimension::Row::DELEGATE_METHODS,
|
90
96
|
|
@@ -98,6 +104,11 @@ module Bioshogi
|
|
98
104
|
:move_to_right_edge,
|
99
105
|
]
|
100
106
|
|
107
|
+
# flip する必要がない上下左右対称のメソッド
|
108
|
+
DIRECT_DELEGATE_METHODS = [
|
109
|
+
:both_side_without_corner?,
|
110
|
+
]
|
111
|
+
|
101
112
|
def initialize(column, row)
|
102
113
|
@column = column
|
103
114
|
@row = row
|
@@ -146,14 +157,14 @@ module Bioshogi
|
|
146
157
|
|
147
158
|
# "6八銀" なら [6, 8]
|
148
159
|
# キャッシュすると3倍速くなる
|
149
|
-
def
|
150
|
-
@cache[:
|
160
|
+
def human_int
|
161
|
+
@cache[:human_int] ||= to_a.collect(&:human_int)
|
151
162
|
end
|
152
163
|
|
153
164
|
# "6八銀" なら {column:6, row:8}
|
154
165
|
# キャッシュすると2倍速くなる
|
155
166
|
def to_human_h
|
156
|
-
@cache[:to_human_h] ||= Hash[[:column, :row].zip(
|
167
|
+
@cache[:to_human_h] ||= Hash[[:column, :row].zip(human_int)]
|
157
168
|
end
|
158
169
|
|
159
170
|
# ほぼキャッシュ効果なし。それどころか少し遅くなる。ただ配列を再生成しないのでこれでいいことにする。
|
@@ -184,12 +195,53 @@ module Bioshogi
|
|
184
195
|
|
185
196
|
################################################################################
|
186
197
|
|
198
|
+
# マンハッタン距離を返す
|
199
|
+
# 斜め上には2歩必要なため「結果 <= 1」とすれば 3x3 をダイヤモンド型で範囲の比較ができる
|
200
|
+
def manhattan_distance(other)
|
201
|
+
column.distance(other.column) + row.distance(other.row)
|
202
|
+
end
|
203
|
+
|
204
|
+
# 縦横の大きい方のマンハッタン距離を返す
|
205
|
+
# a.manhattan_distance_a_side_max(b) <= 2 なら a の 5x5 の中に b が含まれていることがわかる
|
206
|
+
def manhattan_distance_a_side_max(other)
|
207
|
+
[column.distance(other.column), row.distance(other.row)].max
|
208
|
+
end
|
209
|
+
|
210
|
+
# manhattan_distance_a_side_max の高速版
|
211
|
+
# other との縦横の差が radius 以下か?
|
212
|
+
# a.in_outer_area?(b, 2) なら a の 5x5 の中に b が含まれていることがわかる
|
213
|
+
# a.in_outer_area?(b, 1) なら a の 3x3 の中に b が含まれていることがわかる
|
214
|
+
# a.in_outer_area?(b, 0) なら a の 1x1 の中に b が含まれていることがわかる
|
215
|
+
def in_outer_area?(other, radius)
|
216
|
+
column.distance(other.column) <= radius && row.distance(other.row) <= radius
|
217
|
+
end
|
218
|
+
|
219
|
+
################################################################################
|
220
|
+
|
221
|
+
# ▲視点で from からの差をベクトルで返す
|
222
|
+
#
|
223
|
+
# Place["55"].vector_from(Place["56"]) == V.up # => true
|
224
|
+
# Place["55"].vector_from(Place["54"]) == V.down # => true
|
225
|
+
# Place["55"].vector_from(Place["45"]) == V.left # => true
|
226
|
+
# Place["55"].vector_from(Place["65"]) == V.right # => true
|
227
|
+
def vector_from(from)
|
228
|
+
V[column.value - from.column.value, row.value - from.row.value]
|
229
|
+
end
|
230
|
+
|
231
|
+
def vector_to(to)
|
232
|
+
to.vector_from(self)
|
233
|
+
end
|
234
|
+
|
235
|
+
################################################################################
|
236
|
+
|
187
237
|
def ==(other)
|
188
238
|
eql?(other)
|
189
239
|
end
|
190
240
|
|
191
241
|
def <=>(other)
|
192
|
-
|
242
|
+
if self.class == other.class
|
243
|
+
to_xy <=> other.to_xy
|
244
|
+
end
|
193
245
|
end
|
194
246
|
|
195
247
|
def hash
|
@@ -212,7 +264,7 @@ module Bioshogi
|
|
212
264
|
|
213
265
|
# 自玉の位置にいる?
|
214
266
|
def king_default_place?(location)
|
215
|
-
|
267
|
+
column_is5?(location) && bottom_spaces(location) == 0
|
216
268
|
end
|
217
269
|
|
218
270
|
def xy_add(x, y)
|
@@ -231,6 +283,13 @@ module Bioshogi
|
|
231
283
|
xy_add(x * location.sign_dir, y * location.sign_dir)
|
232
284
|
end
|
233
285
|
|
286
|
+
################################################################################ 上下左右対象
|
287
|
+
|
288
|
+
# 角を除いた両サイドにいる?
|
289
|
+
def both_side_without_corner?
|
290
|
+
@column.side_edge? && @row.top_spaces >= 1 && @row.bottom_spaces >= 1
|
291
|
+
end
|
292
|
+
|
234
293
|
################################################################################ location から見た上下左右に寄せた位置を返す
|
235
294
|
|
236
295
|
def move_to_bottom_edge(location)
|
@@ -252,14 +311,14 @@ module Bioshogi
|
|
252
311
|
################################################################################ location から見た情報を返す
|
253
312
|
|
254
313
|
Dimension::Column::DELEGATE_METHODS.each do |name|
|
255
|
-
define_method(name) do |location|
|
256
|
-
@column.white_then_flip(location).public_send(name)
|
314
|
+
define_method(name) do |location, *args|
|
315
|
+
@column.white_then_flip(location).public_send(name, *args)
|
257
316
|
end
|
258
317
|
end
|
259
318
|
|
260
319
|
Dimension::Row::DELEGATE_METHODS.each do |name|
|
261
|
-
define_method(name) do |location|
|
262
|
-
@row.white_then_flip(location).public_send(name)
|
320
|
+
define_method(name) do |location, *args|
|
321
|
+
@row.white_then_flip(location).public_send(name, *args)
|
263
322
|
end
|
264
323
|
end
|
265
324
|
|
@@ -3,29 +3,51 @@
|
|
3
3
|
module Bioshogi
|
4
4
|
class Player
|
5
5
|
module OtherMethods
|
6
|
-
STRONG_PIECE_ALL_COUNT = Location.count * Piece.strong_pieces.count
|
7
|
-
|
8
6
|
################################################################################
|
9
7
|
|
10
8
|
# 大駒コンプリートしている?
|
11
|
-
def
|
12
|
-
|
9
|
+
def hisyakaku_piece_completed?
|
10
|
+
hisyakaku_piece_have_count >= hisyakaku_pieces_count_all
|
11
|
+
end
|
12
|
+
|
13
|
+
def hisyakaku_pieces_count_all
|
14
|
+
@hisyakaku_pieces_count_all ||= (Location.count * Piece.hisyakaku_pieces.sum(&:count))
|
15
|
+
end
|
16
|
+
private :hisyakaku_pieces_count_all
|
17
|
+
|
18
|
+
# 持駒を含めた大駒の数
|
19
|
+
def hisyakaku_piece_have_count
|
20
|
+
Piece.hisyakaku_pieces.sum do |e|
|
21
|
+
piece_box.fetch(e.key, 0) + board.soldiers_count[location.key][e.key]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
################################################################################
|
26
|
+
|
27
|
+
# 金銀コンプリートしている?
|
28
|
+
def kingin_piece_completed?
|
29
|
+
kingin_piece_have_count >= kingin_pieces_count_all
|
30
|
+
end
|
31
|
+
|
32
|
+
def kingin_pieces_count_all
|
33
|
+
@kingin_pieces_count_all ||= (Location.count * Piece.kingin_pieces.sum(&:count))
|
13
34
|
end
|
35
|
+
private :kingin_pieces_count_all
|
14
36
|
|
15
|
-
#
|
16
|
-
def
|
17
|
-
Piece.
|
18
|
-
piece_box.fetch(e.key, 0) + board.
|
37
|
+
# 持駒を含めた金銀の数
|
38
|
+
def kingin_piece_have_count
|
39
|
+
Piece.kingin_pieces.sum do |e|
|
40
|
+
piece_box.fetch(e.key, 0) + board.soldiers_count[location.key][e.key]
|
19
41
|
end
|
20
42
|
end
|
21
43
|
|
22
44
|
################################################################################
|
23
45
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
46
|
+
# 玉単騎状態?
|
47
|
+
def bare_king?
|
48
|
+
if board.soldiers_count_per_location[location.key] == 1 # 盤上の自分の駒が1つ
|
49
|
+
if soldiers_lookup1(:king).present? # 玉がいる
|
50
|
+
piece_box.empty? # 持駒がない
|
29
51
|
end
|
30
52
|
end
|
31
53
|
end
|
@@ -54,7 +76,7 @@ module Bioshogi
|
|
54
76
|
|
55
77
|
# 圧倒的なスコアがある?
|
56
78
|
def overwhelming_score?
|
57
|
-
current_score >=
|
79
|
+
current_score >= Analysis::ClusterScoreInfo["圧倒的な駒得"].min_score
|
58
80
|
end
|
59
81
|
|
60
82
|
################################################################################
|
@@ -11,7 +11,7 @@ module Bioshogi
|
|
11
11
|
# 圧力レベル(デバッグ用)
|
12
12
|
def pressure_report
|
13
13
|
rows = []
|
14
|
-
rows += soldiers.collect { |e| {"盤上" => e, "勢力" => e.pressure_level} }
|
14
|
+
rows += soldiers.collect { |e| { "盤上" => e, "勢力" => e.pressure_level } }
|
15
15
|
rows += piece_box.collect { |piece_key, count|
|
16
16
|
piece = Piece[piece_key]
|
17
17
|
{
|
@@ -19,9 +19,9 @@ module Bioshogi
|
|
19
19
|
"持駒" => "#{piece}#{count}",
|
20
20
|
}
|
21
21
|
}
|
22
|
-
rows += [{"勢力" => "合計 #{pressure_level}"}]
|
23
|
-
rows += [{"勢力" => "終盤率 #{pressure_rate}"}]
|
24
|
-
rows += [{"勢力" => "序盤率 #{1.0 - pressure_rate}"}]
|
22
|
+
rows += [{ "勢力" => "合計 #{pressure_level}" }]
|
23
|
+
rows += [{ "勢力" => "終盤率 #{pressure_rate}" }]
|
24
|
+
rows += [{ "勢力" => "序盤率 #{1.0 - pressure_rate}" }]
|
25
25
|
rows
|
26
26
|
end
|
27
27
|
|
@@ -3,16 +3,32 @@
|
|
3
3
|
module Bioshogi
|
4
4
|
class Player
|
5
5
|
module SoldierMethods
|
6
|
-
|
7
|
-
|
6
|
+
################################################################################
|
7
|
+
|
8
|
+
# O(1)
|
9
|
+
def soldiers_lookup1(piece_key)
|
10
|
+
board.soldiers_lookup1(location.key, piece_key)
|
8
11
|
end
|
9
12
|
|
13
|
+
# O(1)
|
10
14
|
def king_soldier
|
11
|
-
|
15
|
+
soldiers_lookup1(:king).first
|
16
|
+
end
|
17
|
+
|
18
|
+
def king_soldier_only_one_exist?
|
19
|
+
soldiers_lookup1(:king).size == 1
|
12
20
|
end
|
13
21
|
|
14
22
|
################################################################################
|
15
23
|
|
24
|
+
# O(1)
|
25
|
+
def soldiers_lookup2(...)
|
26
|
+
board.soldiers_lookup2(location.key, ...)
|
27
|
+
end
|
28
|
+
|
29
|
+
################################################################################
|
30
|
+
|
31
|
+
# O(n)
|
16
32
|
def soldiers
|
17
33
|
board.surface.values.find_all { |e| e.location == location }
|
18
34
|
end
|
@@ -21,6 +37,8 @@ module Bioshogi
|
|
21
37
|
soldiers.collect(&:name_without_location).sort.join(" ")
|
22
38
|
end
|
23
39
|
|
40
|
+
################################################################################ 得点
|
41
|
+
|
24
42
|
# 入玉宣言時の盤上にある駒の得点合計
|
25
43
|
def soldiers_ek_score
|
26
44
|
soldiers.sum(&:ek_score)
|
data/lib/bioshogi/player.rb
CHANGED
@@ -21,12 +21,13 @@ module Bioshogi
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def execute(str, options = {})
|
24
|
+
# @executor に入れている理由は最後に実行した情報を保持するためらしい
|
24
25
|
@executor = (options[:executor_class] || PlayerExecutor::Human).new(self, str, options)
|
25
26
|
@executor.execute
|
26
27
|
end
|
27
28
|
|
28
29
|
def opponent_player
|
29
|
-
|
30
|
+
container.player_at(location.flip)
|
30
31
|
end
|
31
32
|
|
32
33
|
# 自分と相手
|
@@ -90,10 +91,10 @@ module Bioshogi
|
|
90
91
|
end
|
91
92
|
end
|
92
93
|
|
93
|
-
def
|
94
|
-
@
|
94
|
+
def tag_bundle
|
95
|
+
@tag_bundle ||= Analysis::TagBundle.new
|
95
96
|
end
|
96
|
-
delegate :attack_infos, :defense_infos, to: :
|
97
|
+
delegate :attack_infos, :defense_infos, to: :tag_bundle
|
97
98
|
|
98
99
|
def single_clock
|
99
100
|
@single_clock ||= SingleClock.new
|