package Games::Shogi::Taikyoku;
use 5.008001;
use strict;
use warnings;
use vars qw(@ISA $VERSION);
use Games::Shogi;
@ISA = qw(Games::Shogi);
$VERSION = '0.01';
sub size() { 36 }
sub promotion_zone() { 12 }
sub allow_drop() { undef }
sub capture() { [ 'K', 'CP', 'EM' ] }
# {{{ Board static data
my @board = (
# 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
[qw( L WT RR WH FID MEL LNG BC RH FDE EDR WD FTP FK RST RIG G CP K G LG RST FK FTP CD EDR FDE RH BC LNG MEL FID WH RR TS L )], # a
[qw( RC FEL MD FS CO RADR FOD MS RP RSE SSE GD RUT RUB NS GGD S DEL NK S WR BDE RUB RUT GD SSE RSE RP MS FOD RADR CO FS MD WEL RC )], # b
[qw( GC SDR RUST RW BG RG RTI RDR BO WDR FP RB OK PC WADR FIDR C PHM KIM C FIDR WADR PC OK RB FP WDR BO LDR LTI RG BG RW RUST SDR GC )], # c
[qw( SCH VB N PI CHG PUG HG OG CST SBR SRB GDE LN CAC GS VDR WDE V GG WDE VDR GS CAC LN GDE SRB SBR CST OG HG PUG CHG PI N VB SCH )], # d
[qw( STC CLE B R SW FC MF VT SO LST CDR CCH RUCH RS VO GDR GBD DSP DV GBD GDR VO RS RUCH CCH CDR LST SO VT MF FC SW R B CLE STC )], # e
[qw( WCH WHO HDR SM PS WBF FL FE FDR PSN FG SC BLD WG F PH KI HM LT GT CA F WG BLD SC FG PSN FDR FE FL WBF PS SM HDL WHO WCH )], # f
[qw( TCH VEW SOX DON FLH VIB AB EW LH FCO OM CC NBA SBA VS VW TF CM RM TF VW VS EBA WBA CC OM FCO LH EW AB VIB FLH DON SOX VEW TCH )], # g
[qw( ECH VSP ENBA HOM SWO CMO CS SWW BM BT OC SF BB OR SQM CSE REDR FEG LHK REDR CSE SQM OR BB SF OC BT BM SWW CS CMO SWO HOM ENBA BDR ECH )], # h
[qw( CSO SSO VSO WIG RVG M FST HSO W OSO E BSO ST LSO T BESO I GST GMA I BESO T LSO ST BSO E OSO W HSO FST M RVG WIG VSO SSO CSO )], # i
[qw( RCH SMO VM FO LBSO VP VHO BUSO DH DK SWSO HF SE SPSO VL STI SBSO RDO LD SBSO STI VL SPSO SE HF SWSO DK DH BUSO VHO VP LBSO FO VM SMO LCH )], # j
[qw( P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P )], # k
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # l
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # m
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # n
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # o
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # p
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # q
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # r
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # s
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # t
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # u
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # v
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # w
[qw( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )], # x
[qw( _ _ _ _ _ d _ _ _ _ gb _ _ _ d _ _ _ _ _ _ d _ _ _ gb _ _ _ _ d _ _ _ _ _ )], # y
[qw( p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p )], # z
[qw( lch smo vm fo lbso vp vho buso dh dk swso hf se spso vl sti sbso ld rdo sbso sti vl spso se hf swso dk dh buso vho vp lbso fo vm smo rch )], # aa
[qw( cso sso vso wig rvg m fst hso w oso e bso st lso t beso i gma gst i beso t lso st bso e oso w hso fst m rvg wig vso sso cso )], # ab
[qw( ech bdr enba hom swo cmo cs sww bm bt oc sf bb or sqm cse redr lhk feg redr cse sqm or bb sf oc bt bm sww cs cmo swo hom enba vsp ech )], # ac
[qw( tch vew sox don flh vib ab ew lh fco om cc wba eba vs vw tf rm cm tf vw vs sba nba cc om fco lh ew ab vib flh don sox vew tch )], # ad
[qw( wch who hdl sm ps wbf fl fe fdr psn fg sc bld wg f ca gt lt hm ki ph f wg bld sc fg psn fdr fe fl wbf ps sm hdr who wch )], # ae
[qw( stc cle b r sw fc mf vt so lst cdr cch ruch rs vo gdr gbd dv dsp gbd gdr vo rs ruch cch cdr lst so vt mf fc sw r b cle stc )], # af
[qw( sch vb n pi chg pug hg og cst sbr srb gde ln cac gs vdr wde gg vdr wde v gs cac ln gde srb sbr cst og hg pug chg pi n vb sch )], # ag
[qw( gc sdr rust rw bg rg lti ldr bo wdr fp rb ok pc wadr fidr c kim phm c fidr wadr pc ok rb fp wdr bo rdr rti rg bg rw rust sdr gc )], # ah
[qw( rc wel md fs co radr fod ms rp rse sse gd rut rub bde wr s nk del s ggd ns rub rut gd sse rse rp ms fod radr co fs md fel rc )], # ai
[qw( l wt rr wh fid mel lng bc rh fde edr cd ftp fk rst lg g k cp g rig rst fk ftp wd edr fde rh bc lng mer fid wh rr ts l )], # aj
);
# }}}
# {{{ Pieces
my $pieces = {
# {{{ Page 210
# {{{ 210
# King steps 2 orthogonal or diagonal
# Crown Prince steps 1 orthogonal or diagonal
# Gold General steps 1 orthogonal or forward diagonal
#
# Right General steps 1 orthogonal or diagonal
# Left General steps 1 orthogonal or diagonal
# Rear Standard steps 2 diagonal, slides orthogonal
#
# Free King slides orthogonal or diagonal
# Free Tapir steps 5 left orthogonal or right orthogonal, slides forward orthogonal or backward orthogonal or diagonal
# Wooden Dove steps 2 orthogonal, slides diagonal
#
# Wooden Dove, in addition to the normal diagonal slide, may leap 3 spaces (diagonally) then step 2 (diagonally).
#
# -210-
# }}}
# {{{ Row 1
# {{{ King
k => {
name => 'King',
romaji => 'osho',
neighborhood => [
q(o o o),
q( ooo ),
q(oo^oo),
q( ooo ),
q(o o o) ] },
# }}}
# {{{ Crown Prince
cp => {
name => 'Crown Prince',
romaji => 'taishi',
promote => 'k',
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Gold General
g => {
name => 'Gold General',
romaji => 'kinsho',
promote => 'r',
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Right General
rig => {
name => 'Right General',
promote => 'ra',
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Left General
lg => {
name => 'Left General',
promote => 'la',
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Rear Standard
rst => {
name => 'Rear Standard',
promote => 'cst',
neighborhood => [
q(o o),
q( o|o ),
q( -^- ),
q( o|o ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Free King
fk => {
name => 'Free King',
romaji => "hon'o",
promote => 'gg',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Free Tapir
ftp => {
name => 'Free Tapir',
promote => 'fk',
neighborhood => [
q( ),
q( \|/ ),
q(o5^5o),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Wooden Dove
wd => {
name => 'Wooden Dove',
neighborhood => [ [
q( ),
q( \ / ),
q( ^ ),
q( / \ ) ],
[ q(o o),
q( 2 2 ),
q( ^ ),
q( 2 2 ),
q(o o) ],
[ q(x x),
q( 3 3 ),
q( ^ ),
q( 3 3 ),
q(x x) ] ] },
# }}}
# }}}
# }}}
# {{{ Page 211
# {{{ 211
# Earth Dragon steps 1 forward diagonal or backward orthogonal, steps 2 forward orthogonal, slides backward diagonal
# Free Demon steps 5 forward orthogonal or backward orthogonal, slides left orthogonal or right orthogonal or diagonal
# Running Horse steps 1 backward orthogonal, leaps to the second backward diagonal, slides forward orthogonal or forward diagonal
#
# Beast Cadet steps 2 forward orthogonal or left orthogonal or right orthogonal or diagonal
# Long-Nosed Goblin diagonal hook-move
# Mountain Eagle(Right) steps 2 left backward diagonal, leaps 2 right diagonal, slides orthogonal or right diagonal or left forward diagonal
#
# Mountain Eagle(Left) steps 2 right backward diagonal, leaps 2 left diagonal, slides orthogonal or left diagonal or right forward diagonal
# Fire Demon steps 2 forward orthogonal or backward orthogonal, slides left orthogonal or right orthogonal or diagonal
# Whale slides foward orthogonal or backward orthogonal or backward diagonal
#
# Running Rabbit steps 1 backward orthogonal or backward diagonal, slides forward orthogonal or forward diagonal
# White Tiger steps 2 forward orthogonal or backward orthgonal, slides left orthogonal or right orthogonal or left forward diagonal
# Turtle Snake steps 1 orthogonal or left forward diagonal or right backward diagonal, slides right forward diagonal or left backward diagonal
# }}}
# {{{ Row 1
# {{{ Earth Dragon
edr => {
name => 'Earth Dragon',
promote => 'radr',
neighborhood => [
q( o ),
q( ooo ),
q( ^ ),
q( /o\ ),
q( ) ] },
# }}}
# {{{ Free Demon
fde => {
name => 'Free Demon',
promote => 'fk',
neighborhood => [
q( o ),
q( \5/ ),
q( -^- ),
q( /5\ ),
q( o ) ] },
# }}}
# {{{ Running Horse
rh => {
name => 'Running Horse',
promote => 'fde',
neighborhood => [
q( ),
q( \|/ ),
q( ^ ),
q( o ),
q(x x) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Beast Cadet
bc => {
name => 'Beast Cadet',
promote => 'bo',
neighborhood => [
q(o o o),
q( ooo ),
q(oo^oo),
q( ooo ),
q(o o) ] },
# }}}
# {{{ Long-Nosed Goblin
lng => {
name => 'Long-Nosed Goblin',
neighborhood => [
q(X X), # Hook mover
q( \ / ),
q( ^ ),
q( / \ ),
q(X X) ] },
# }}}
# {{{ Mountain Eagle (Right)
mer => {
name => 'Mountain Eagle (Right)',
prommote => 'se',
neighborhood => [
q( x),
q( \|/ ),
q( -^- ),
q( o|\ ),
q(o x) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Mountain Eagle (Left)
mel => {
name => 'Mountain Eagle (Left)',
prommote => 'se',
neighborhood => [
q(x ),
q( \|/ ),
q( -^- ),
q( /|o ),
q(x o) ] },
# }}}
# {{{ Fire Demon
fid => {
name => 'Fire Demon',
promote => 'ffi',
neighborhood => [
q( o ),
q( \o/ ),
q( -^- ),
q( /o\ ),
q( o ) ] },
# }}}
# {{{ Whale
wh => {
name => 'Whale',
romaji => 'keigei',
promote => 'gw',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( /|\ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Running Rabbit
rr => {
name => 'Running Rabbit',
promote => 'tf',
neighborhood => [
q( ),
q( \|/ ),
q( ^ ),
q( ooo ),
q( ) ] },
# }}}
# {{{ White Tiger
wt => {
name => 'White Tiger',
promote => 'dt',
neighborhood => [
q( o ),
q( \o ),
q( -^- ),
q( o ),
q( o ) ] },
# }}}
# {{{ Turtle Snake
ts => {
name => 'Turtle Snake',
promote => 'dtu',
neighborhood => [
q( ),
q( oo/ ),
q( o^o ),
q( /oo ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 212
# {{{ 212
# Ceramic Dove steps 2 orthogonal, slides diagonal
# Lance slides forward orthogonal
# Reverse Chariot slides forward orthogonal or backward orthogonal
#
# Fragrant Elephant steps 2 orthogonal or diagonal
# White Elephant steps 2 orthogonal or diagonal
# Mountain Dove steps 1 left orthogonal or right orthogonal or backward orthogonal, steps 5 forward diagonal
#
# Flying Swallow steps 1 backward orthogonal, slides forward diagonal
# Captive Officer steps 2 forward orthogonal or left orthogonal or right orthogonal, steps 3 diagonal
# Rain Dragon steps 1 forward orthogonal or forward diagonal, slides left orthogonal or right orthogonal or backward orthogonal or backward diagonal
#
# Forest Demon steps 3 forward orthogonal or left orthogonal or right orthogonal, slides backward orthogonal or forward diagonal
# Mountian Stag steps 1 forward orthogonal, steps 2 left orthogonal or right orthogonal, steps 3 forward diagonal, step 4 backward orthogonal
# Running Pup steps 1 left orthogonal or right orthogonal, slides forward orthogonal or backward orthogonal
# }}}
# {{{ Row 1
# {{{ Ceramic Dove
cd => {
name => 'Ceramic Dove',
neighborhood => [
q( o ),
q( \o/ ),
q(oo^oo),
q( /o\ ),
q( o ) ] },
# }}}
# {{{ Lance
l => {
name => 'Lance',
romaji => 'kyosha',
promote => 'who',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# {{{ Reverse Chariot
rc => {
name => 'Reverse Chariot',
romaji => 'hansha',
promote => 'wh',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( | ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Fragrant Elephant
fel => {
name => 'Fragrant Elephant',
promote => 'ek',
neighborhood => [
q(o o o),
q( ooo ),
q(oo^oo),
q( ooo ),
q(o o o) ] },
# }}}
# {{{ White Elephant
wel => {
name => 'White Elephant',
promote => 'ek',
neighborhood => [
q(o o o), # Yes, this is a copy of above
q( ooo ),
q(oo^oo),
q( ooo ),
q(o o o) ] },
# }}}
# {{{ Mountain Dove
md => {
name => 'Mountain Dove',
promote => 'gd',
neighborhood => [
q(o o),
q( 5 5 ),
q( o^o ),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Flying Swallow
fs => {
name => 'Flying Swallow',
promote => 'r',
neighborhood => [
q( ),
q( \ / ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Captive Officer
co => {
name => 'Captive Officer',
promote => 'cb',
neighborhood => [
q(o o o),
q( 3o3 ),
q(oo^oo),
q( 3o3 ),
q(o o) ] },
# }}}
# {{{ Rain Dragon
radr => {
name => 'Rain Dragon',
promote => 'gdr',
neighborhood => [
q( ),
q( ooo ),
q( -^- ),
q( /|\ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Forest Demon
fod => {
name => 'Forest Demon',
promote => 'thr',
neighborhood => [
q( o ),
q( \3/ ),
q(o3^3o),
q( | ),
q( ) ] },
# }}}
# {{{ Mountain Stag
ms => {
name => 'Mountain Stag',
promote => 'gs',
neighborhood => [
q(o o),
q( 3o3 ),
q(oo^oo),
q( 4 ),
q( o ) ] },
# }}}
# {{{ Running Pup
rp => {
name => 'Running Pup',
promote => 'fle',
neighborhood => [
q( ),
q( | ),
q( o^o ),
q( | ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 213
# {{{ 213
# Running Serpent steps 1 left orthogonal or right orthogonal, slides forward orthogonal or backward orthogonal
# Side Serpent steps 1 backward orthogonal, steps 3 forward orthogonal, slides left orthogonal or right orthogonal
# Great Dove steps 3 orthogonal, slides diagonal
#
# Running Tiger steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
# Running Bear steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
# Night Sword steps 1 backward orthogonal or forward diagonal, steps 3 left orthogonal or right orthogonal
#
# Buddhist Devil steps 1 backward orthogonal or left orthogonal or right orthogonal, steps 3 forward diagonal
# Guardian of the Gods steps 3 orthogonal
# Wrestler steps 3 diagonal
#
# Silver General steps 1 forward orthogonal or diagonal
# Drunk Elephant steps 1 forward orthogonal or left orthogonal or right orthogonal or diagonal
# Neighboring King steps 1 forward orthogonal or left orthogonal or right orthogonal or diagonal
# }}}
# {{{ Row 1
# {{{ Running Serpent
rse => {
name => 'Running Serpent',
promote => 'fse',
neighborhood => [
q( ),
q( | ),
q( o^o ),
q( | ),
q( ) ] },
# }}}
# {{{ Side Serpent
sse => {
name => 'Side Serpent',
promote => 'sh',
neighborhood => [
q( o ),
q( 3 ),
q( -^- ),
q( o ),
q( ) ] },
# }}}
# {{{ Great Dove
gd => {
name => 'Great Dove',
promote => 'wd',
neighborhood => [
q( o ),
q( \3/ ),
q(o3^3o),
q( /3\ ),
q( o ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Running Tiger
rut => {
name => 'Running Tiger',
promote => 'fti',
neighborhood => [
q( ),
q( | ),
q(oo^oo),
q( | ),
q( ) ] },
# }}}
# {{{ Running Bear
rub => {
name => 'Running Bear',
promote => 'fbe',
neighborhood => [
q( ), # Yes, this is a copy of above
q( | ),
q(oo^oo),
q( | ),
q( ) ] },
# }}}
# {{{ Night Sword
ns => {
name => 'Night Sword',
promote => 'ht',
neighborhood => [
q( ),
q( o o ),
q(o3^3o),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Buddhist Devil
bde => {
name => 'Buddhist Devil',
promote => 'ht',
neighborhood => [
q(o o),
q( 3 3 ),
q( o^o ),
q( o ),
q( ) ] },
# }}}
# {{{ Guardian of the Gods
ggd => {
name => 'Guardian of the Gods',
promote => 'ht',
neighborhood => [
q( o ),
q( 3 ),
q(o3^3o),
q( 3 ),
q( o ) ] },
# }}}
# {{{ Wrestler
wr => {
name => 'Wrestler',
promote => 'ht',
neighborhood => [
q(o o),
q( 3 3 ),
q( ^ ),
q( 3 3 ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Silver General
s => {
name => 'Silver General',
romaji => 'ginsho',
promote => 'vm',
neighborhood => [
q( ),
q( ooo ),
q( ^ ),
q( o o ),
q( ) ] },
# }}}
# {{{ Drunk Elephant
del => {
name => 'Drunk Elephant',
romaji => 'suizo',
promote => 'cp',
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( o o ),
q( ) ] },
# }}}
# {{{ Neighboring King
nk => {
name => 'Neighboring King',
promote => 'fst',
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( o o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 214
# {{{ 214
# Gold Chariot steps 1 diagonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal or backward orthogonal
# Side Dragon slides forward orthogonal or left orthogonal or right orthogonal
# Running Stag steps 2 backward orthogonal, slides left orthogonal or right orthogonal or forward diagonal
#
# Running Wolf steps 1 forward orthogonal, slides left orthogonal or right orthogonal or forward diagonal
# Bishop General range jump diagonal(ranking noted at end of document)
# Rook General range jump orthogonal(ranking noted at end of document)
#
# Right Tiger steps 1 right diagonal, slides left orthogonal or left diagonal
# Left Tiger steps 1 left diagonal, slides right orthogonal or right diagonal
# Right Dragon steps 2 right orthogonal, slides left orthogonal or left diagonal
#
# Left Dragon steps 2 left orthogonal, slides right orthogonal or right diagonal
# Beast Officer steps 2 left orthogonal or right orthogonal, steps 3 forward orthogonal or diagonal
# Wind Dragon steps 1 left backward diagonal, slides left orthogonal or right orthogonal or right backward diagonal or forward diagonal
# }}}
# {{{ Row 1
# {{{ Gold Chariot
gc => {
name => 'Gold Chariot',
promote => 'plc',
neighborhood => [
q( ),
q( o|o ),
q(oo^oo),
q( o|o ),
q( ) ] },
# }}}
# {{{ Side Dragon
sdr => {
name => 'Side Dragon',
promote => 'rudr',
neighborhood => [
q( ),
q( | ),
q( -^- ),
q( ),
q( ) ] },
# }}}
# {{{ Running Stag
rust => {
name => 'Running Stag',
promote => 'frst',
neighborhood => [
q( ),
q( \ / ),
q( -^- ),
q( o ),
q( o ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Running Wolf
rw => {
name => 'Running Wolf',
promote => 'fwo',
neighborhood => [
q( ),
q( \o/ ),
q( -^- ),
q( ),
q( ) ] },
# }}}
# {{{ Bishop General
bg => {
name => 'Bishop General',
promote => 'rde',
neighborhood => [
q(\ /), # Jump
q( \ / ),
q( ^ ),
q( / \ ),
q(/ \\) ] },
# }}}
# {{{ Rook General
rg => {
name => 'Rook General',
promote => 'fcr',
neighborhood => [
q( | ),
q( | ),
q(--^--),
q( | ),
q( | ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Right Tiger
rti => {
name => 'Right Tiger',
promote => 'wt',
neighborhood => [
q( ),
q( \ o ),
q( -^ ),
q( / o ),
q( ) ] },
# }}}
# {{{ Left Tiger
lti => {
name => 'Left Tiger',
promote => 'ts',
neighborhood => [
q( ),
q( o / ),
q( ^- ),
q( o \ ),
q( ) ] },
# }}}
# {{{ Right Dragon
rdr => {
name => 'Right Dragon',
promote => 'bdr',
neighborhood => [
q( ),
q( \ ),
q( -^oo),
q( / ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Left Dragon
ldr => {
name => 'Left Dragon',
promote => 'vsp',
neighborhood => [
q( ),
q( / ),
q(oo^- ),
q( \ ),
q( ) ] },
# }}}
# {{{ Beast Officer
bo => {
name => 'Beast Officer',
promote => 'bbd',
neighborhood => [
q(o o o),
q( 333 ),
q( o^oo),
q( 3 3 ),
q(o o) ] },
# }}}
# {{{ Wind Dragon
wdr => {
name => 'Wind Dragon',
promote => 'frdr',
neighborhood => [
q( ),
q( \ / ),
q( -^- ),
q( o \ ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 215
# {{{ 215
# Free Pup steps 1 backward diagonal, steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
# Rushing Bird steps 1 left orthogonal or right orthogonal or diagonal, steps 2 forward orthogonal
# Old Kite Hawk steps 1 left orthogonal or right orthogonal, steps 2 diagonal
#
# Peacock steps 2 backward diagonal, forward diagonal hook-move
# Water Dragon steps 2 forward diagonal, steps 4 backward diagonal, slides orthogonal
# Fire Dragon steps 2 backward diagonal, steps 4 forward diagonal, slides orthogonal
#
# Copper General steps 1 backward orthogonal or forward orthogonal or forward diagonal
# Phoenix Master steps 3 left orthogonal or right orthogonal or forward diagonal, slides backward orthogonal or forward orthogonal or backward diagonal, leaps 3 then slides forward diagonal
# Kylin Master steps 3 backward orthogonal or forward orthogonal or left orthogonal or right orthogonal , slides diagonal, leaps 3 then slides backward orthogonal or forward orthogonal
#
# Silver Chariot steps 1 backward diagonal, steps 2 forward diagonal, slides backward orthogonal or forward orthogonal
# Vertical Bear steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal
# Knight leaps 1 forward orthogonal then 1 forward diagonal
# }}}
# {{{ Row 1
# {{{ Free Pup
fp => {
name => 'Free Pup',
promote => 'fdo',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( o|o ),
q( ) ] },
# }}}
# {{{ Rushing Bird
rb => {
name => 'Rushing Bird',
promote => 'fde',
neighborhood => [
q( o ),
q( ooo ),
q( o^o ),
q( o o ),
q( ) ] },
# }}}
# {{{ Old Kite Hawk
ok => {
name => 'Old Kite Hawk',
promote => 'lng',
neighborhood => [
q(o o),
q( o o ),
q( o^o ),
q( o o ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Peacock
pc => {
name => 'Peacock',
promote => 'lng',
neighborhood => [
q(X X),
q( \ / ),
q( ^ ),
q( o o ),
q(o o) ] },
# }}}
# {{{ Water Dragon
wadr => {
name => 'Water Dragon',
promote => 'phm',
neighborhood => [
q(o o),
q( o|o ),
q( -^- ),
q( 4|4 ),
q(o o) ] },
# }}}
# {{{ Fire Dragon
fidr => {
name => 'Fire Dragon',
promote => 'kim',
neighborhood => [
q(o o),
q( 4|4 ),
q( -^- ),
q( o|o ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Copper General
c => {
name => 'Copper General',
romaji => 'dosho',
promote => 'sm',
neighborhood => [
q( ),
q( ooo ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Phoenix Master
phm => {
name => 'Phoenix Master',
neighborhood => [ [
q( ),
q( \|/ ),
q( ^ ),
q( /|\ ),
q( ) ],
[ q(x x),
q( 3 3 ),
q(o3^3o),
q( ),
q( ) ] ] },
# }}}
# {{{ Kirin Master
kim => {
name => 'Kirin Master',
neighborhood => [ [
q( x ),
q( 3 ),
q(o3^3o),
q( 3 ),
q( x ) ],
[
q( ),
q( \|/ ),
q( ^ ),
q( /|\ ),
q( ) ] ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Silver Chariot
sch => {
name => 'Silver Chariot',
promote => 'gw',
neighborhood => [
q(o o),
q( o|o ),
q( ^ ),
q( o|o ),
q( ) ] },
# }}}
# {{{ Vertical Bear
vb => {
name => 'Vertical Bear',
promote => 'fbe',
neighborhood => [
q( ),
q( | ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# {{{ Knight
n => {
name => 'Knight',
romaji => 'keima',
promote => 'sso',
neighborhood => [
q( x x ),
q( ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 216
# {{{ 216
# Pig General steps 2 backward orthogonal, steps 4 forward diagonal
# Chicken General steps 1 backward diagonal, steps 4 forward orthogonal
# Pup General steps 1 backward diagonal, steps 4 forward orthogonal
#
# Horse General steps 1 backward orthogonal or forward diagonal, steps 3 forward orthogonal
# Ox General steps 1 backward orthogonal or forward diagonal, steps 3 forward orthogonal
# Center Standard steps 3 diagonal, slides orthogonal
#
# Side Boar steps 1 backward orthogonal or forward orthogonal or diagonal, slides left orthogonal or right orthogonal
# Silver Rabbit steps 2 forward diagonal, slides backward diagonal
# Golden Deer steps 2 backward diagonal, slides forward diagonal
#
# Lion 2-space Lion move
# Captive Cadet steps 3 left orthogonal or right orthogonal or forward orthogonal or diagonal
# Great Stag steps 2 backward diagonal, leaps 2 forward diagonal, slides orthogonal
#
# The Lion moves similar to its counterpart in Chu Shogi.
# }}}
# {{{ Row 1
# {{{ Pig General
pi => {
name => 'Pig General',
promote => 'fpg',
neighborhood => [
q(o o),
q( 4 4 ),
q( ^ ),
q( o ),
q( o ) ] },
# }}}
# {{{ Chicken General
chg => {
name => 'Chicken General',
promote => 'fch',
neighborhood => [
q( o ),
q( 4 ),
q( ^ ),
q( o o ),
q( ) ] },
# }}}
# {{{ Pup General
pug => {
name => 'Pup General',
promote => 'fp',
neighborhood => [
q( o ), # Yes, duplicate
q( 4 ),
q( ^ ),
q( o o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Horse General
hg => {
name => 'Horse General',
promote => 'fh',
neighborhood => [
q( o ),
q( o3o ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Ox General
og => {
name => 'Ox General',
promote => 'fro',
neighborhood => [
q( o ), # Another dupe
q( o3o ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Center Standard
cst => {
name => 'Center Standard',
promote => 'fst',
neighborhood => [
q(o o),
q( 3|3 ),
q( -^- ),
q( 3|3 ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Side Boar
sbr => {
name => 'Side Boar',
promote => 'fbo',
neighborhood => [
q( ),
q( ooo ),
q( -^- ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Silver Rabbit
srb => {
name => 'Silver Rabbit',
promote => 'wh',
neighborhood => [
q(o o),
q( o o ),
q( ^ ),
q( / \ ),
q( ) ] },
# }}}
# {{{ Golden Deer
gde => {
name => 'Golden Deer',
promote => 'who',
neighborhood => [
q( ),
q( \ / ),
q( ^ ),
q( o o ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Lion
ln => {
name => 'Lion',
romaji => 'shishi',
promote => 'ff',
neighborhood => [
q(22222),
q(21112),
q(21^12),
q(21112),
q(22222) ] },
# }}}
# {{{ Captive Cadet
cac => {
name => 'Captive Cadet',
promote => 'co',
neighborhood => [
q(o o o),
q( 333 ),
q(o3^3o),
q( 3 3 ),
q(o o) ] },
# }}}
# {{{ Great Stag
gs => {
name => 'Great Stag',
promote => 'frst',
neighborhood => [
q(x x),
q( | ),
q( -^- ),
q( o|o ),
q(o o) ] },
# }}}
# }}}
# }}}
# {{{ Page 217
# {{{ 217
# Violent Dragon steps 2 orthogonal, range jump diagonal(ranking noted at end of document)
# Woodland Demon steps 2 left orthogonal or right orthogonal or backward diagonal, slides backward orthogonal or forward orthogonal or forward diagonal
# Vice General leaps 2 orthogonal, range jump diagonal(ranking noted at end of document)
#
# Great General range jump orthogonal or diagonal(ranking noted at end of document)
# Stone Chariot steps 1 forward diagonal, steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
# Cloud Eagle steps 1 left orthogonal or right orthogonal, steps 3 forward diagonal, slides backward orthogonal or forward orthogonal
#
# Bishop slides diagonal
# Rook slide orthogonal
# Side Wolf steps 1 left forward diagonal or right backward diagonal, slides left orthogonal or right orthogonal
#
# Flying Cat steps 1 backward orthogonal or backward diagonal, leaps 3 left orthogonal or right orthogonal or forward orthogonal or forward diagonal
# Mountain Falcon steps 2 forward orthogonal or backward diagonal, slides backward orthogonal or left orthogonal or right orthogonal or forward diagonal, leaps 2 then slides forward orthogonal
# Vertical Tiger steps 2 backward orthogonal, slides forward orthogonal
# }}}
# {{{ Row 1
# {{{ Violent Dragon
vdr => {
name => 'Violent Dragon',
promote => 'gdr',
neighborhood => [
q(\ o /),
q( \o/ ),
q(oo^oo),
q( /o\ ),
q(/ o \\) ] },
# }}}
# {{{ Woodland Demon
wde => {
name => 'Woodland Demon',
promote => 'rph',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( o|o ),
q(o | o) ] },
# }}}
# {{{ Vice General
v => {
name => 'Vice General',
promote => 'gg',
neighborhood => [
q(\ x /),
q( \ / ),
q(x ^ x),
q( / \ ),
q(/ x \\) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Great General
gg => {
name => 'Great General',
neighborhood => [
q(\ | /),
q( \|/ ),
q(--^--),
q( /|\ ),
q(/ | \\) ] },
# }}}
# {{{ Stone Chariot
stc => {
name => 'Stone Chariot',
promote => 'whe',
neighborhood => [
q( ),
q( o|o ),
q(oo^oo),
q( | ),
q( ) ] },
# }}}
# {{{ Cloud Eagle
cle => {
name => 'Cloud Eagle',
promote => 'seg',
neighborhood => [
q(o o),
q( 3|3 ),
q( o^o ),
q( | ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Bishop
b => {
name => 'Bishop',
romaji => 'kakugyo',
promote => 'dh',
neighborhood => [
q( ),
q( \ / ),
q( ^ ),
q( / \ ),
q( ) ] },
# }}}
# {{{ Rook
r => {
name => 'Rook',
romaji => 'hisha',
promote => 'dk',
neighborhood => [
q( ),
q( | ),
q( -^- ),
q( | ),
q( ) ] },
# }}}
# {{{ Side Wolf
sw => {
name => 'Side Wolf',
promote => 'fwo',
neighborhood => [
q( ),
q( o ),
q( -^- ),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Flying Cat
fc => {
name => 'Flying Cat',
promote => 'r',
neighborhood => [
q(x x x),
q( 333 ),
q(x3^3x),
q( ooo ),
q( ) ] },
# }}}
# {{{ Mountain Falcon
mf => {
name => 'Mountain Falcon',
promote => 'hf',
neighborhood => [
q( x ),
q( \|/ ),
q( -^- ),
q( o|o ),
q(o o) ] },
# }}}
# {{{ Vertical Tiger
vt => {
name => 'Vertical Tiger',
promote => 'fti',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( o ),
q( o ) ] },
# }}}
# }}}
# }}}
# {{{ Page 218
# {{{ 218
# Soldier slides orthogonal
# Little Standard steps 1 backward diagonal, steps 2 forward diagonal, slides orthogonal
# Cloud Dragon steps 1 left orthogonal or right orthogonal or forward orthogonal, slides diagonal or backward orthogonal
#
# Copper Chariot steps 3 forward diagonal, slides backward orthogonal or forward orthogonal
# Running Chariot slides orthogonal
# Ramshead Soldier steps 1 backward orthogonal, slides forward diagonal
#
# Violent Ox steps 1 backward orthogonal or forward orthogonal, slides forward diagonal
# Great Dragon steps 3 backward orthogonal or forward orthogonal, slides diagonal
# Golden Bird steps 3 left orthogonal or right orthogonal or backward diagonal, slides backward orthogonal or forward orthogonal, hash-marked slides forward diagonal
#
# Dark Spirit steps 1 orthogonal or backward diagonal or right forward diagonal
# Deva steps 1 orthogonal or backward diagonal or left forward diagonal
# Wood Chariot steps 1 left forward diagonal or right backward diagonal, slides backward orthogonal or forward orthogonal
#
# -218-
# }}}
# {{{ Row 1
# {{{ Soldier
so => {
name => 'Soldier',
promote => 'cav',
neighborhood => [
q( ),
q( | ),
q( -^- ),
q( | ),
q( ) ] },
# }}}
# {{{ Little Standard
lst => {
name => 'Little Standard',
promote => 'rst',
neighborhood => [
q(o o),
q( o|o ),
q( -^- ),
q( o|o ),
q( | ) ] },
# }}}
# {{{ Cloud Dragon
cdr => {
name => 'Cloud Dragon',
promote => 'gdr',
neighborhood => [
q( ),
q( \o/ ),
q( o^o ),
q( /|\ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Copper Chariot
cch => {
name => 'Copper Chariot',
promote => 'ce',
neighborhood => [
q(o o),
q( 3|3 ),
q( ^ ),
q( | ),
q( ) ] },
# }}}
# {{{ Running Chariot
ruch => {
name => 'Running Chariot',
promote => 'bch',
neighborhood => [
q( ),
q( | ),
q( -^- ),
q( | ),
q( ) ] },
# }}}
# {{{ Ramshead Soldier
rs => {
name => 'Ramshead Soldier',
promote => 'tso',
neighborhood => [
q( ),
q( \ / ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Violent Ox
vo => {
name => 'Violent Ox',
romaji => 'mogyu',
promote => 'fo',
neighborhood => [
q( ),
q( \o/ ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Great Dragon
gdr => {
name => 'Great Dragon',
promote => 'adr',
neighborhood => [
q( o ),
q( \3/ ),
q( ^ ),
q( /3\ ),
q( o ) ] },
# }}}
# {{{ Golden Bird
gbd => {
name => 'Golden Bird',
promote => 'fbd',
neighborhood => [
q(\ /), # XXX 'X' is whatever notation the hash lines correspond to.
q( X|X ),
q(o3^3o),
q( 3|3 ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Dark Spirit
dsp => {
name => 'Dark Spirit',
promote => 'bsp',
neighborhood => [
q( ),
q( oo ),
q( o^o ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Deva
dv => {
name => 'Deva',
promote => 'tk',
neighborhood => [
q( ),
q( oo ),
q( o^o ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Wood Chariot
wch => {
name => 'Wood Chariot',
promote => 'wst',
neighborhood => [
q( ),
q( o| ),
q( ^ ),
q( |o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 219
# {{{ 219
# White Horse slides backward orthogonal or forward orthogonal or forward diagonal
# Howling Dog(Right) steps 1 backward orthogonal, slides forward orthogonal
# Howling Dog(Left) steps 1 backward orthogonal, slides forward orthogonal
#
# Side Mover steps 1 backward orthogonal or forward orthogonal, slide left orthogonal or right orthogonal
# Prancing Stag steps 1 backward orthogonal or forward orthogonal or forward diagonal, steps 2 left orthogonal or right orthogonal
# Water Buffalo steps 2 backward orthogonal or forward orthogonal, slides left orthogonal or right orthogonal or diagonal
#
# Ferocious Leopard steps 1 backward orthogonal or forward orthogonal or diagonal
# Fierce Eagle steps 1 left orthogonal or right orthogonal or forward orthogonal, steps 2 diagonal
# Flying Dragon leaps 2 diagonal
#
# Poisonous Snake steps 1 backward orthogonal or forward diagonal, steps 2 left orthogonal or right orthogonal or forward orthogonal
# Flying Goose steps 1 backward orthogonal or forward orthogonal or forward diagonal
# Strutting Crow steps 1 backward diagonal or forward orthogonal
#
# -219-
# }}}
# {{{ Row 1
# {{{ White Horse
who => {
name => 'White Horse',
romaji => 'hakku',
promote => 'gho',
neighborhood => [
q( ),
q( \|/ ),
q( ^ ),
q( | ),
q( ) ] },
# }}}
# {{{ Howling Dog (Right)
hdr => {
name => 'Howling Dog (Right)',
promote => 'rdo',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Howling Dog (Left)
hdl => {
name => 'Howling Dog (Left)',
promote => 'ldo',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Side Mover
sm => {
name => 'Side Mover',
romaji => 'ogyo',
promote => 'fbo',
neighborhood => [
q( ),
q( o ),
q( -^- ),
q( o ),
q( ) ] },
# }}}
# {{{ Prancing Stag
ps => {
name => 'Prancing Stag',
promote => 'sqm',
neighborhood => [
q( ),
q( ooo ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# {{{ Water Buffalo
wbf => {
name => 'Water Buffalo',
promote => 'gtp',
neighborhood => [
q( o ),
q( \o/ ),
q( -^- ),
q( /o\ ),
q( o ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Ferocious Leopard
fl => {
name => 'Ferocious Leopard',
romaji => 'mohyo',
promote => 'b',
neighborhood => [
q( ),
q( ooo ),
q( ^ ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Fierce Eagle
fe => {
name => 'Fierce Eagle',
promote => 'se',
neighborhood => [
q(o o),
q( ooo ),
q( o^o ),
q( o o ),
q(o o) ] },
# }}}
# {{{ Flying Dragon
fdr => {
name => 'Flying Dragon',
romaji => 'hiryu',
promote => 'dk',
neighborhood => [
q(x x),
q( ),
q( ^ ),
q( ),
q(x x) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Poisonous Snake
psn => {
name => 'Poisonous Snake',
promote => 'hm',
neighborhood => [
q( o ),
q( ooo ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# {{{ Flying Goose
fg => {
name => 'Flying Goose',
promote => 'dk',
neighborhood => [
q( ),
q( ooo ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Strutting Crow
sc => {
name => 'Strutting Crow',
promote => 'ffa',
neighborhood => [
q( ),
q( o ),
q( ^ ),
q( o o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 220
# {{{ 220
# Blind Dog steps 1 backward orthogonal or left orthogonal or right orthogonal or forward diagonal
# Water General steps 1 backward orthogonal or forward orthogonal, steps 3 forward diagonal
# Fire General steps 1 forward diagonal, steps 3 backward orthogonal or forward orthogonal
#
# Phoenix steps 1 orthogonal, leaps 2 diagonal
# Kylin steps 1 backward orthogonal or forward orthogonal or diagonal, leaps 2 left orthogonal or right orthogonal
# Hook Mover orthogonal hook-move
#
# Little Turtle steps 2 left orthogonal or right orthogonal, leaps 2 backward orthogonal or forward orthogonal, slides backward orthogonal or forward orthogonal or diagonal
# Great Turtle steps 3 left orthogonal or right orthogonal, leaps 3 bakcward orthogonal or forward orthogonal, slides backward orthogonal or forward orthogonal or diagonal
# Capricorn diagonal hook-move
#
# Tile Chariot steps 1 left backward diagonal or right forward diagonal, slides backward orthogonal or forward orthogonal
# Vertical Wolf steps 1 left orthogonal or right orthogonal, steps 3 backward orthogonal, slides forward orthogonal
# Side Ox steps 1 left backward diagonal or right forward diagonal, slides left orthogonal or right orthogonal
#
# -220-
# }}}
# {{{ Row 1
# {{{ Blind Dog
bld => {
name => 'Blind Dog',
romaji => 'moken',
promote => 'vs',
neighborhood => [
q( ),
q( o o ),
q( o^o ),
q( o ),
q( ) ] },
# }}}
# {{{ Water General
wg => {
name => 'Water General',
promote => 'v',
neighborhood => [
q(o o),
q( 3o3 ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Fire General
f => {
name => 'Fire General',
promote => 'gg',
neighborhood => [
q( o ),
q( o3o ),
q( ^ ),
q( 3 ),
q( o ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Phoenix
ph => {
name => 'Phoenix',
romaji => 'hoo',
promote => 'gbd',
neighborhood => [
q(x x),
q( o ),
q( o^o ),
q( o ),
q(x x) ] },
# }}}
# {{{ Kirin
ki => {
name => 'Kirin',
romaji => 'kylin',
promote => 'gbd',
neighborhood => [
q( ),
q( ooo ),
q(x ^ x),
q( ooo ),
q( ) ] },
# }}}
# {{{ Hook Mover
hm => {
name => 'Hook Mover',
neighborhood => [
q( + ), # Horizontal hook mover
q( | ),
q(+-^-+),
q( | ),
q( + ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Little Turtle
lt => {
name => 'Little Turtle',
promote => 'tt',
neighborhood => [
q( x ),
q( \|/ ),
q(o2^2o),
q( /|\ ),
q( x ) ] },
# }}}
# {{{ Great Turtle
gt => {
name => 'Great Turtle',
promote => 'spt',
neighborhood => [ [
q( ),
q( \|/ ),
q( ^ ),
q( /|\ ),
q( ) ],
[ q( x ),
q( 3 ),
q(o3^3o),
q( 3 ),
q( x ) ] ] },
# }}}
# {{{ Capricorn
ca => {
name => 'Capricorn',
promote => 'hm',
neighborhood => [
q(X X), # YA hook mover
q( \ / ),
q( ^ ),
q( / \ ),
q(X X) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Tile Chariot
tch => {
name => 'Tile Chariot',
promote => 'rtl',
neighborhood => [
q( ),
q( |o ),
q( ^ ),
q( o| ),
q( ) ] },
# }}}
# {{{ Vertical Wolf
vew => {
name => 'Vertical Wolf',
promote => 'rw',
neighborhood => [
q( ),
q( | ),
q( o^o ),
q( 3 ),
q( o ) ] },
# }}}
# {{{ Side Ox
sox => {
name => 'Side Ox',
promote => 'fo',
neighborhood => [
q( ),
q( o ),
q( -^- ),
q( o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 221
# {{{ 221
# Donkey steps 2 orthogonal
# Flying Horse steps 2 diagonal
# Angry Boar steps 1 left orthogonal or right orthogonal or forward orthogonal, steps 2 forward diagonal
#
# Violent Bear steps 1 left orthogonal or right orthogonal or diagonal
# Evil Wolf steps 1 left orthogonal or right orthogonal or forward orthogonal or forward diagonal
# Liberated Horse steps 1 forward diagonal, steps 2 backward orthogonal, slides forward orthogonal
#
# Flying Cock steps 1 left orthogonal or right orthogonal or forward diagonal
# Old Monkey steps 1 backward orthogonal or diagonal
# Chinese Cock steps 1 backward orthogonal or left orthogonal or right orthogonal or forward diagonal
#
# Northern Barbarian steps 1 backward orthogonal or forward orthogonal or forward diagonal, steps 2 left orthogonal or right orthogonal
# Southern Barbarian steps 1 backward orthogonal or forward orthogonal or forward diagonal, steps 2 left orthogonal or right orthogonal
# Western Barbarian steps 1 left orthogonal or right orthogonal or forward diagonal, steps 2 backward orthogonal or forward orthogonal
#
# -221-
# }}}
# {{{ Row 1
# {{{ Donkey
don => {
name => 'Donkey',
promote => 'cd',
neighborhood => [
q( o ),
q( o ),
q(oo^oo),
q( o ),
q( o ) ] },
# }}}
# {{{ Flying Horse
flh => {
name => 'Flying Horse',
promote => 'fk',
neighborhood => [
q(o o),
q( o o ),
q( ^ ),
q( o o ),
q(o o) ] },
# }}}
# {{{ Angry Boar
ab => {
name => 'Angry Boar',
promote => 'fbo',
neighborhood => [
q(o o),
q( ooo ),
q( o^o ),
q( ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Violent Bear
vib => {
name => 'Violent Bear',
promote => 'gb',
neighborhood => [
q( ),
q( o o ),
q( o^o ),
q( o o ),
q( ) ] },
# }}}
# {{{ Evil Wolf
ew => {
name => 'Evil Wolf',
romaji => 'akuro',
promote => 'vwo',
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( ),
q( ) ] },
# }}}
# {{{ Liberated Horse
lh => {
name => 'Liberated Horse',
promote => 'hh',
neighborhood => [
q( ), # Horizontal hook mover # XXX ?
q( o|o ),
q( ^ ),
q( o ),
q( o ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Flying Cock
fco => {
name => 'Flying Cock',
promote => 'rf',
neighborhood => [
q( ),
q( o o ),
q( o^o ),
q( ),
q( ) ] },
# }}}
# {{{ Old Monkey
om => {
name => 'Old Monkey',
promote => 'mw',
neighborhood => [
q( ),
q( o o ),
q( ^ ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Chinese Cock
cc => {
name => 'Chinese Cock',
promote => 'ws',
neighborhood => [
q( ),
q( o o ),
q( o^o ),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Northern Barbarian
nba => {
name => 'Northern Barbarian',
promote => 'wd',
neighborhood => [
q( ),
q( ooo ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# {{{ Southern Barbarian
sba => {
name => 'Southern Barbarian',
promote => 'gbd',
neighborhood => [
q( ),
q( ooo ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# {{{ Western Barbarian
wba => {
name => 'Western Barbarian',
promote => 'ld',
neighborhood => [
q( o ),
q( ooo ),
q( o^o ),
q( o ),
q( o ) ] },
# }}}
# }}}
# }}}
# {{{ Page 222
# {{{ 222
# Eastern Barbarian steps 1 left orthogonal or right orthogonal or forward diagonal, steps 2 backward orthogonal or forward orthogonal
# Violent Stag steps 1 forward orthogonal or diagonal
# Violent Wolf steps 1 orthogonal or forward diagonal
#
# Treacherous Fox slides or leaps 2 or 3 then slides backward orthogonal or forward orthogonal or diagonal
# Center Master steps 3 left orthogonal or right orthogonal or backward diagonal, slides or leaps 2 and slides backward orthogonal or forward orthogonal or forward diagonal
# Roc Master steps 5 left orthogonal or right orthogonal or backward diagonal, slides backward orthogonal or forward orthogonal, slides or leaps 3 and slides forward diagonal
#
# Earth Chariot steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
# Vermillion Sparrow steps 1 orthogonal or left backward diagonal or right forward diagonal, slides left forward diagonal or right backward diagonal
# Blue Dragon steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or right forward diagonal
#
# Enchanted Badger steps 2 orthogonal
# Horseman steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
# Swooping Owl steps 1 forward orthogonal or backward diagonal
#
# -222-
# }}}
# {{{ Row 1
# {{{ Eastern Barbarian
eba => {
name => 'Eastern Barbarian',
promote => 'ln',
neighborhood => [
q( o ),
q( ooo ),
q( o^o ),
q( o ),
q( o ) ] },
# }}}
# {{{ Violent Stag
vs => {
name => 'Violent Stag',
promote => 'rbo',
neighborhood => [
q( ),
q( ooo ),
q( ^ ),
q( o o ),
q( ) ] },
# }}}
# {{{ Violent Wolf
vw => {
name => 'Violent Wolf',
promote => 'be',
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Treacherous Fox
tf => {
name => 'Treacherous Fox',
promote => 'mcr',
neighborhood => [ [
q( ),
q( \|/ ),
q( ^ ),
q( /|\ ),
q( ) ],
[ q(o o),
q( o o ),
q( ^ ),
q( o o ),
q(o o) ] ] },
# }}}
# {{{ Center Master
cm => {
name => 'Center Master',
neighborhood => [
q(x x x),
q( \|/ ),
q(o3^3o),
q( 3|3 ),
q(o x o) ] },
# }}}
# {{{ Roc Master
rm => {
name => 'Roc Master',
neighborhood => [ [
q( ),
q( \|/ ),
q( ^ ),
q( | ),
q( ) ],
[ q(x x),
q( 3 3 ),
q(o5^5o),
q( 5 5 ),
q(o o) ] ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Earth Chariot
ech => {
name => 'Earth Chariot',
promote => 'yb',
neighborhood => [
q( ),
q( | ),
q( o^o ),
q( | ),
q( ) ] },
# }}}
# {{{ Vermillion Sparrow
vsp => {
name => 'Vermillion Sparrow',
promote => 'dis',
neighborhood => [
q( ),
q( \oo ),
q( o^o ),
q( oo\ ),
q( ) ] },
# }}}
# {{{ Blue Dragon
bdr => {
name => 'Blue Dragon',
promote => 'dd',
neighborhood => [
q( ),
q( |/ ),
q(oo^oo),
q( | ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Enchanted Badger
enba => {
name => 'Enchanted Badger',
promote => 'cd',
neighborhood => [
q( o ),
q( o ),
q(oo^oo),
q( o ),
q( o ) ] },
# }}}
# {{{ Horseman
hom => {
name => 'Horseman',
promote => 'cav',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( | ),
q( ) ] },
# }}}
# {{{ Swooping Owl
swo => {
name => 'Swooping Owl',
promote => 'cle',
neighborhood => [
q( ),
q( o ),
q( ^ ),
q( o o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 223
# {{{ 223
# Climbing Monkey steps 1 backward orthogonal or forward orthogonal or forward diagonal
# Cat Sword steps 1 diagonal
# Swallow's Wings steps 1 backward orthogonal or forward orthogonal, slides left orthogonal or right orthogonal
#
# Blind Monkey steps 1 left orthogonal or right orthogonal or diagonal
# Blind Tiger steps 1 backward orthogonal or left orthogonal or right orthogonal or diagonal
# Ox Cart slides forward orthogonal
#
# Side Flyer steps 1 diagonal, slides left orthogonal or right orthogonal
# Blind Bear steps 1 left orthogonal or right orthogonal or diagonal
# Old Rat steps 1 forward orthogonal or backward diagonal
#
# Square Mover slides orthogonal
# Coiled Serpent steps 1 backward orthogonal or forward orthogonal or backward diagonal
# Reclining Dragon steps 1 orthogonal
#
# -223-
# }}}
# {{{ Row 1
# {{{ Climbing Monkey
cmo => {
name => 'Climbing Monkey',
promote => 'vs',
neighborhood => [
q( ),
q( ooo ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Cat Sword
cs => {
name => 'Cat Sword',
romaji => 'myojin',
promote => 'dh',
neighborhood => [
q( ),
q( o o ),
q( ^ ),
q( o o ),
q( ) ] },
# }}}
# {{{ Swallow's Wings
sww => {
name => "Swallow's Wings",
promote => 'gsw',
neighborhood => [
q( ),
q( o ),
q( -^- ),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Blind Monkey
bm => {
name => 'Blind Monkey',
promote => 'flst',
neighborhood => [
q( ),
q( o o ),
q( o^o ),
q( o o ),
q( ) ] },
# }}}
# {{{ Blind Tiger
bt => {
name => 'Blind Tiger',
romaji => 'moko',
promote => 'flst',
neighborhood => [
q( ),
q( o o ),
q( o^o ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Ox Cart
oc => {
name => 'Ox Cart',
promote => 'po',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Side Flier
sf => {
name => 'Side Flier',
promote => 'sdr',
neighborhood => [
q( ),
q( o o ),
q( -^- ),
q( o o ),
q( ) ] },
# }}}
# {{{ Blind Bear
bb => {
name => 'Blind Bear',
promote => 'flst',
neighborhood => [
q( ),
q( o o ),
q( o^o ),
q( o o ),
q( ) ] },
# }}}
# {{{ Old Rat
or => {
name => 'Old Rat',
promote => 'bop',
neighborhood => [
q( ),
q( o ),
q( ^ ),
q( o o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Square Mover
sqm => {
name => 'Square Mover',
promote => 'stch',
neighborhood => [
q( ),
q( | ),
q( -^- ),
q( | ),
q( ) ] },
# }}}
# {{{ Coiled Serpent
cse => {
name => 'Coiled Serpent',
promote => 'codr',
neighborhood => [
q( ),
q( o ),
q( ^ ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Reclining Dragon
redr => {
name => 'Reclining Dragon',
promote => 'gdr',
neighborhood => [
q( ),
q( o ),
q( o^o ),
q( o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 224
# {{{ 224
# Free Eagle slides or leaps 2 or 3 and slides orthogonal or backward diagonal, slides or leaps 2 or 4 and slides forward diagonal
# Lion Hawk leaps 2 orthogonal, slides or leaps 2 and slides diagonal
# Chariot Soldier steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or diagonal
#
# The Lion Hawk, as in Tenjiku Shogi, may move like the Lion or leap to any square which would be attacked by the Lion.
#
# Side Soldier steps 1 backward orthogonal, steps 2 forward orthogonal, slides left orthogonal or right orthogonal
# Vertical Soldier steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal
# Wind General steps 1 backward orthogonal or forward diagonal, steps 3 forward orthogonal
#
# River General steps 1 backward orthogonal or forward diagonal, steps 3 forward orthogonal
# Mountain General steps 1 backward orthogonal or forward orthogonal, steps 3 forward diagonal
# Front Standard steps 3 diagonal, slides orthogonal
#
# Horse Soldier steps 1 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
# Wood General steps 2 forward diagonal
# Ox Soldier steps 1 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
#
# -224-
# }}}
# {{{ Row 1
# {{{ Free Eagle
feg => {
name => 'Free Eagle',
neighborhood => [ [
q( ),
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ),
q( ) ],
[ q(3 3 3),
q( 2 2 2 ),
q( 111 ),
q(321^123),
q( 111 ),
q( 2 2 2 ),
q(3 3 3) ] ] },
# }}}
# {{{ Lion Hawk
lhk => {
name => 'Lion Hawk',
neighborhood => [ # Not hook-mover, this is LC 'x'
q(x x),
q( \ / ),
q( ^ ),
q( / \ ),
q(x x) ] },
# }}}
# {{{ Chariot Soldier
cso => {
name => 'Chariot Soldier',
promote => 'htk',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( /|\ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Side Soldier
sso => {
name => 'Side Soldier',
promote => 'wbf',
neighborhood => [
q( o ),
q( o ),
q( -^- ),
q( o ),
q( ) ] },
# }}}
# {{{ Vertical Soldier
vso => {
name => 'Vertical Soldier',
promote => 'cso',
neighborhood => [
q( ),
q( | ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# {{{ Wind General
wig => {
name => 'Wind General',
promote => 'vwd',
neighborhood => [
q( o ),
q( o3o ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ River General
rvg => {
name => 'River General',
promote => 'cr',
neighborhood => [
q( o ),
q( o3o ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Mountain General
m => {
name => 'Mountain General',
promote => 'pm',
neighborhood => [
q(o o),
q( 3o3 ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Front Standard
fst => {
name => 'Front Standard',
promote => 'gst',
neighborhood => [
q(o o),
q( 3|3 ),
q( -^- ),
q( 3|3 ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Horse Soldier
hso => {
name => 'Horse Soldier',
promote => 'rh',
neighborhood => [
q( ),
q( \|/ ),
q(o3^3o),
q( o ),
q( ) ] },
# }}}
# {{{ Wood General
w => {
name => 'Wood General',
promote => 'wel',
neighborhood => [
q(o o),
q( o o ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# {{{ Ox Soldier
oso => {
name => 'Ox Soldier',
promote => 'rox',
neighborhood => [
q( ),
q( \|/ ),
q(o3^3o),
q( o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 225
# {{{ 225
# Earth General steps 1 backward orthogonal or forward orthogonal
# Boar Soldier steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
# Stone General steps 1 forward diagonal
#
# Leopard Soldier steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
# Tile General steps 1 backward orthogonal or forward diagonal
# Bear Soldier steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
#
# Iron General steps 1 forward orthogonal or forward diagonal
# Great Standard steps 3 backward diagonal, slides orthogonal or forward diagonal
# Great Master steps 5 left orthogonal or right orthogonal or bacward diagonal, leaps 3 forward orthogonal or forward diagonal, slides forward orthogonal or forward diagonal
#
# Right Chariot steps 1 right orthogonal, slides forward orthogonal or left forward diagonal or right backward diagonal
# Left Chariot steps 1 left orthogonal, slides forward orthogonal or right forward diagonal or lefr backward diagonal
# Side Monkey steps 1 backward orthogonal or forward diagonal, slides left orthogonal or right orthogonal
#
# -225-
# }}}
# {{{ Row 1
# {{{ Earth General
e => {
name => 'Earth General',
promote => 'wel',
neighborhood => [
q( ),
q( o ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Boar Soldier
bso => {
name => 'Boar Soldier',
promote => 'sb',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# {{{ Stone General
st => {
name => 'Stone General',
romaji => 'sekisho',
promote => 'wel',
neighborhood => [
q( ),
q( o o ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Leopard Soldier
lso => {
name => 'Leopard Soldier',
promote => 'rle',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# {{{ Tile General
t => {
name => 'Tile General',
promote => 'wel',
neighborhood => [
q( ),
q( o o ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Bear Soldier
beso => {
name => 'Bear Soldier',
promote => 'sb',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Iron General
i => {
name => 'Iron General',
romaji => 'tessho',
promote => 'wel',
neighborhood => [
q( ),
q( ooo ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# {{{ Great Standard
gst => {
name => 'Great Standard',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( 3|3 ),
q(o o) ] },
# }}}
# {{{ Great Master
gma => {
name => 'Great Master',
neighborhood => [ [
q( ),
q( \|/ ),
q( ^ ),
q( | ),
q( ) ],
[ q(x x x),
q( 333 ),
q(o5^5o),
q( 5 5 ),
q(o o) ] ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Right Chariot
rch => {
name => 'Right Chariot',
promote => 'rich',
neighborhood => [
q( ),
q( \| ),
q( ^o ),
q( \ ),
q( ) ] },
# }}}
# {{{ Left Chariot
lch => {
name => 'Left Chariot',
promote => 'lich',
neighborhood => [
q( ),
q( |/ ),
q( o^ ),
q( / ),
q( ) ] },
# }}}
# {{{ Side Monkey
smo => {
name => 'Side Monkey',
promote => 'sso',
neighborhood => [
q( ),
q( o o ),
q( -^- ),
q( o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 226
# {{{ 226
# Vertical Mover steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
# Flying Ox slides backward orthogonal or forward orthogonal or diagonal
# Longbow Soldier steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, steps 5 forward diagonal, slides forward orthogonal
#
# Vertical Pup steps 1 backward orthogonal or backward diagonal, slides forward orthogonal
# Vertical Horse steps 1 backward orthogonal or forward diagonal, slides forward orthogonal
# Burning Soldier steps 1 backward orthogonal, steps 3 left orthogonal or right orthogonal, steps 5 forward diagonal, steps 7 forward orthogonal
#
# Dragon Horse steps 1 orthogonal, slides diagonal
# Dragon King steps 1 diagonal, slides orthogonal
# Sword Soldier steps 1 backward orthogonal or forward diagonal
#
# Horned Falcon leaps 2 forward orthogonal, slides orthogonal or diagonal
# Soaring Eagle leaps 2 forward diagonal, slides orthogonal or diagonal
# Spear Soldier steps 1 backward orthogonal or left orthogonal or right orthogonal, slides forward orthogonal
#
# -226-
# }}}
# {{{ Row 1
# {{{ Vertical Mover
vm => {
name => 'Vertical Mover',
romaji => 'kengyo',
promote => 'fo',
neighborhood => [
q( ),
q( | ),
q( o^o ),
q( | ),
q( ) ] },
# }}}
# {{{ Flying Ox
fo => {
name => 'Flying Ox',
romaji => 'higyu',
promote => 'fox',
neighborhood => [
q( ),
q( \|/ ),
q( ^ ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Longbow Soldier
lbso => {
name => 'Longbow Soldier',
promote => 'lbg',
neighborhood => [
q(o o),
q( 5|5 ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Vertical Pup
vp => {
name => 'Vertical Pup',
promote => 'lk',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Vertical Horse
vho => {
name => 'Vertical Horse',
promote => 'dh',
neighborhood => [
q( ),
q( o|o ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Burning Soldier
buso => {
name => 'Burning Soldier',
promote => 'bug',
neighborhood => [
q(o o o),
q( 575 ),
q(o3^3o),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Dragon Horse
dh => {
name => 'Dragon Horse',
romaji => 'ryume',
promote => 'hf',
neighborhood => [
q( ),
q( \o/ ),
q( o^o ),
q( /o\ ),
q( ) ] },
# }}}
# {{{ Dragon King
dk => {
name => 'Dragon King',
romaji => 'ryuo',
promote => 'se',
neighborhood => [
q( ),
q( o|o ),
q( -^- ),
q( o|o ),
q( ) ] },
# }}}
# {{{ Sword Soldier
swso => {
name => 'Sword Soldier',
promote => 'swg',
neighborhood => [
q( ),
q( o o ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Horned Falcon
hf => {
name => 'Horned Falcon',
romaji => 'kakuo',
promote => 'gf',
neighborhood => [
q( x ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Soaring Eagle
se => {
name => 'Soaring Eagle',
romaji => 'hiju',
promote => 'gea',
neighborhood => [
q(x x),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Spear Soldier
spso => {
name => 'Spear Soldier',
promote => 'spg',
neighborhood => [
q( ),
q( | ),
q( o^o ),
q( o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 227
# {{{ 227
# Vertical Leopard steps 1 backward orthogonal or left orthogonal or right orthogonal or forward diagonal, slides forward orthogonal
# Savage Tiger slides forward orthogonal
# Shortbow Soldier steps 1 backward orthogonal, steps 3 left orthogonal or right orthogonal or forward diagonal, steps 5 forward orthogonal
#
# Roaring Dog steps 3 backward diagonal, leap 3 orthogonal or forward diagonal, slides orthogonal or forward diagonal
# Lion Dog leaps 3 orthogonal or diagonal, slides orthogonal or diagonal
# Dog steps 1 forward orthogonal or forward diagonal
#
# Go-Between steps 1 backward orthogonal or forward orthogonal
# Pawn steps 1 forward orthogonal
#
# (Rules for promoted pieces)
#
# Free Bird steps 3 backward diagonal, slides orthogonal, hash-marked slides forward diagonal
# Great Tapir leaps 3 left orthogonal or right orthogonal, slides orthogonal or diagonal
# Ancient Dragon slides diagonal, hash-marked slides backward orthogonal or forward orthogonal
#
# -227-
# }}}
# {{{ Row 1
# {{{ Vertical Leopard
vl => {
name => 'Vertical Leopard',
promote => 'gle',
neighborhood => [
q( ),
q( o|o ),
q( o^o ),
q( o ),
q( ) ] },
# }}}
# {{{ Savage Tiger
sti => {
name => 'Savage Tiger',
promote => 'gti',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# {{{ Shortbow Soldier
sbso => {
name => 'Shortbow Soldier',
promote => 'sbg',
neighborhood => [
q(o o o),
q( 353 ),
q(o3^3o),
q( o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Roaring Dog
rdo => {
name => 'Roaring Dog',
promote => 'ld',
neighborhood => [ [
q( ),
q( \|/ ),
q( -^- ),
q( | ),
q( ) ],
[ q(x x x),
q( 333 ),
q(x3^3x),
q( 333 ),
q(o x o) ] ] },
# }}}
# {{{ Lion Dog
ld => {
name => 'Lion Dog',
promote => 'gel',
neighborhood => [ [
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ],
[ q(x x x),
q( 333 ),
q(x3^3x),
q( 333 ),
q(x x x) ] ] },
# }}}
# {{{ Dog
d => {
name => 'Dog',
promote => 'mug',
neighborhood => [
q( ),
q( ooo ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Go-Between
gb => {
name => 'Go-Between',
romaji => 'chunin',
promote => 'del',
neighborhood => [
q( ),
q( o ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Pawn
p => {
name => 'Pawn',
romaji => 'fuhyo',
promote => 'g',
neighborhood => [
q( ),
q( o ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Free Bird
fbd => {
name => 'Free Bird',
neighborhood => [ # XXX Hook mover?
q(\ /),
q( X|X ),
q( -^- ),
q( 3|3 ),
q(o o) ] },
# }}}
# {{{ Great Tapir
gtp => {
name => 'Great Tapir',
neighborhood => [ [
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ],
[ q( ),
q( ),
q(x3^3x),
q( ),
q( ) ] ] },
# }}}
# {{{ Ancient Dragon
adr => {
name => 'Ancient Dragon',
neighborhood => [ # XXX Hook mover?
q( | ),
q( \+/ ),
q( ^ ),
q( /+\ ),
q( | ) ] },
# }}}
# }}}
# }}}
# {{{ Page 228
# {{{ 228
# Heavenly Tetarch King igui 1 orthogonal or diagonal, slides orthogonal or diagonal, leaps 1 and slides orthogonal or diagonal
# Great Falcon slides orthogonal or diagonal, leaps 1 and slides forward orthogonal
# Great Elephant steps 3 forward diagonal, hash-marked slides orthogonal or backward diagonal
#
# Heavenly Tetarch King is able to capture an adjacent square without moving(Igui), or preform its slide by leaping over an occupied adjacent square.
# Great Falcon is able to preform its forward orthogonal slide by leaping over an occupied adjacent square.
#
# Fire Ox steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or diagonal
# Strong Bear steps 2 backward orthogonal, slides left orthogonal or right orthogonal or forward orthogonal or diagonal
# Right Phoenix steps 5 left orthogonal or right orthogonal, slides diagonal
#
# Running Leopard slides left orthogonal or right orthogonal or forward orthgonal or forward diagonal
# Thunder Runner steps 4 backward orthogonal or left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
# Rain Demon steps 2 backward diagonal or left orthogonal or right orthogonal, steps 3 forward orthogonal, slides forward diagonal, leaps 1 and slides forward diagonal
#
# Rain Demon is able to preform its forward diagonal slide by leaping over an occupied adjacent square.
#
# Free Boar steps 1 backward orthogonal, slides left orthogonal or right orthogonal or forward orthogonal or forward diagonal
# Free Dog steps 2 backward diagonal or left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
# Running Ox steps 2 backward diagonal, slides left orthogonal or right orthogonal or forward orthogonal or forward diagonal
#
# -228-
# }}}
# {{{ Row 1
# {{{ Heavenly Tetrarch King
htk => {
name => 'Heavenly Tetrarch King',
neighborhood => [ [
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ],
[ q( ),
q( ooo ),
q( o^o ),
q( ooo ),
q( ) ] ] },
# }}}
# {{{ Great Falcon
gf => {
name => 'Great Falcon',
neighborhood => [ [
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ],
[ q( ),
q( o ),
q( ^ ),
q( ),
q( ) ] ] },
# }}}
# {{{ Great Elephant
gel => {
name => 'Great Elephant',
neighborhood => [ # Hook mover?
q(o | o),
q( 3+3 ),
q(-+^+-),
q( X+X ),
q(/ | \\) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Fire Ox
fox => {
name => 'Fire Ox',
neighborhood => [
q( ),
q( \|/ ),
q( o^o ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Strong Bear
sb => {
name => 'Strong Bear',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( /o\ ),
q( o ) ] },
# }}}
# {{{ Right Phoenix
rph => {
name => 'Right Phoenix',
neighborhood => [
q( ),
q( \ / ),
q(o5^5o),
q( / \ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Running Leopard
rle => {
name => 'Running Leopard',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( ),
q( ) ] },
# }}}
# {{{ Thunder Runner
thr => {
name => 'Thunder Runner',
neighborhood => [
q( ),
q( \|/ ),
q(o4^4o),
q( 4 ),
q( o ) ] },
# }}}
# {{{ Rain Demon
rde => {
name => 'Rain Demon',
neighborhood => [ [
q( ),
q( \ / ),
q( ^ ),
q( | ),
q( ) ],
[ q( o ),
q( o3o ),
q(oo^oo),
q( o o ),
q(o o) ] ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Free Boar
fbo => {
name => 'Free Boar',
romaji => 'honcho',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( o ),
q( ) ] },
# }}}
# {{{ Free Dog
fdo => {
name => 'Free Dog',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( o|o ),
q(o o) ] },
# }}}
# {{{ Running Ox
rox => {
name => 'Running Ox',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( o ),
q( o ) ] },
# }}}
# }}}
# }}}
# {{{ Page 229
# {{{ 229
# Great Horse steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
# Cavalier slides orthogonal or forward diagonal
# Free Fire steps 5 backward orthogonal or forward orthogonal, slides left orthogonal or right orthogonal or diagonal
#
# Burning Chariot steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
# Free Stag slides orthogonal or diagonal
# Free Dragon slides backward orthogonal or left orthogonal or right orthogonal or diagonal
#
# Flying Crocodile steps 2 backward diagonal, steps 3 forward diagonal, range jump orthogonal(ranking noted at end of document)
# Strong Chariot slides orthogonal or forward diagonal
# Divine Tiger steps 2 backward orthogonal, slides left orthogonal or right orthogonal or forward orthogonal or left forward diagonal
#
# Divine Dragon steps 2 left orthogonal, slides backward orthogonal or right orthogonal or forward orthogonal or right forward diagonal
# Divine Turtle steps 1 orthogonal or left forward diagonal, slides backward diagonal or right forward diagonal
# Divine Sparrow steps 1 orthogonal or right forward diagonal, slides backward diagonal or left forward diagonal
#
# -229-
# }}}
# {{{ Row 1
# {{{ Great Horse
gho => {
name => 'Great Horse',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( | ),
q( ) ] },
# }}}
# {{{ Cavalier
cav => {
name => 'Cavalier',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( | ),
q( ) ] },
# }}}
# {{{ Free Fire
ffi => {
name => 'Free Fire',
neighborhood => [
q( o ),
q( \5/ ),
q( -^- ),
q( /5\ ),
q( o ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Burning Chariot
bch => {
name => 'Burning Chariot',
neighborhood => [
q( ),
q( \|/ ),
q( o^o ),
q( | ),
q( ) ] },
# }}}
# {{{ Free Stag
frst => {
name => 'Free Stag',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Free Dragon
frdr => {
name => 'Free Dragon',
neighborhood => [
q( ),
q( \ / ),
q( -^- ),
q( /|\ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Flying Crocodile
fcr => {
name => 'Flying Crocodile',
neighborhood => [
q(o | o),
q( 3|3 ),
q(--^--),
q( 3|3 ),
q(o | o) ] },
# }}}
# {{{ Strong Chariot
stch => {
name => 'Strong Chariot',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( | ),
q( ) ] },
# }}}
# {{{ Divine Tiger
dt => {
name => 'Divine Tiger',
neighborhood => [
q( ),
q( \| ),
q( -^- ),
q( o ),
q( o ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Divine Dragon
dd => {
name => 'Divine Dragon',
neighborhood => [
q( ),
q( |/ ),
q(oo^- ),
q( | ),
q( ) ] },
# }}}
# {{{ Divine Turtle
dtu => {
name => 'Divine Turtle',
neighborhood => [
q( ),
q( oo/ ),
q( o^o ),
q( /o\ ),
q( ) ] },
# }}}
# {{{ Divine Sparrow
dis => {
name => 'Divine Sparrow',
neighborhood => [
q( ),
q( \oo ),
q( o^o ),
q( /o\ ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 230
# {{{ 230
# Free Serpent slides backward orthogonal or forward orthogonal or backward diagonal
# Free Wolf slides left orthogonal or right orthogonal or forward orthogonal or forward diagonal
# Great Tiger steps 1 forward orthogonal, slides backward orthogonal or left orthogonal or right orthogonal
#
# Right Dog steps 1 backward orthogonal, slides forward orthogonal or left backward diagonal
# Left Dog steps 1 backward orthogonal, slides forward orthogonal or right backward diagonal
# Free Bear slides backward orthogonal or forward orthogonal or diagonal
#
# Free Tiger slides backward orthogonal or left orthogonal or right orthogonal or diagonal
# Running Boar steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
# Free Leopard slides backward orthogonal or forward orthogonal or diagonal
#
# Heavenly Horse leaps 1 backward orthogonal then 1 backward diagonal, leaps 1 forward orthogonal then 1 forward orthogonal, slides forward orthogonal
# Spear General steps 2 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal
# Great Leopard steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, steps 3 forward diagonal, slides forward orthogonal
#
# -230-
# }}}
# {{{ Row 1
# {{{ Free Serpent
fse => {
name => 'Free Serpent',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Free Wolf
fwo => {
name => 'Free Wolf',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( ),
q( ) ] },
# }}}
# {{{ Great Tiger
gti => {
name => 'Great Tiger',
neighborhood => [
q( ),
q( o ),
q( -^- ),
q( | ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Right Dog
rdo => {
name => 'Right Dog',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( /o ),
q( ) ] },
# }}}
# {{{ Left Dog
ldo => {
name => 'Left Dog',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( o\ ),
q( ) ] },
# }}}
# {{{ Free Bear
fbe => {
name => 'Free Bear',
neighborhood => [
q( ),
q( \|/ ),
q( ^ ),
q( /|\ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Free Tiger
fti => {
name => 'Free Tiger',
neighborhood => [
q( ),
q( \ / ),
q( -^- ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Running Boar
rbo => {
name => 'Running Boar',
neighborhood => [
q( ),
q( | ),
q( o^o ),
q( | ),
q( ) ] },
# }}}
# {{{ Free Leopard
fle => {
name => 'Free Leopard',
neighborhood => [
q( ),
q( \|/ ),
q( ^ ),
q( /|\ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Heavenly Horse
hh => {
name => 'Heavenly Horse',
neighborhood => [
q( x x ),
q( | ),
q( ^ ),
q( ),
q( x x ) ] },
# }}}
# {{{ Spear General
spg => {
name => 'Spear General',
neighborhood => [
q( ),
q( | ),
q(o3^3o),
q( o ),
q( o ) ] },
# }}}
# {{{ Great Leopard
gle => {
name => 'Great Leopard',
neighborhood => [
q(o o),
q( 3|3 ),
q(oo^oo),
q( o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 231
# {{{ 231
# Flying Stag steps 1 left orthogonal or right orthogonal or diagonal, slides backward orthogonal or forward orthogonal
# Right Army steps 1 backward orthogonal or left orthogonal or forward orthogonal or left diagonal, slides right orthogonal or right diagonal
# Left Army steps 1 backward orthogonal or right orthogonal or forward orthogonal or right diagonal, slides left orthogonal or left diagonal
#
# Beast Bird steps 2 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal or diagonal
# Captive Bird steps 2 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal or diagonal
# Gliding Swallow slides orthogonal
#
# Buddhist Spirit 2-space Lion move, slides orthogonal or diagonal
# Teaching King hash-marked slides orthogonal or diagonal
# Shark steps 2 backward diagonal, steps 5 forward diagonal, slides orthogonal
#
# Buddhist Spirit, like in Maka-Dai-Dai Shogi, may slide orthogonal or diagonal or preform moves like the Lion.
#
# Furious Fiend 2-space Lion move, steps 3 orthogonal or diagonal
# Leopard King steps 5 orthogonal or diagonal
# Goose Wing steps 1 diagonal, steps 3 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
# c2
# Furious Fiend, like in Dai-Dai Shogi and Maka-Dai-Dai Shogi, may step three spaces orthogonal or diagoanl or preform moves like the Lion.
#
# -231-
# }}}
# {{{ Row 1
# {{{ Flying Stag
flst => {
name => 'Flying Stag',
romaji => 'hiroku',
neighborhood => [
q( ),
q( o|o ),
q( o^o ),
q( o|o ),
q( ) ] },
# }}}
# {{{ Right Army
ra => {
name => 'Right Army',
neighborhood => [
q( ),
q( oo/ ),
q( o^- ),
q( oo\ ),
q( ) ] },
# }}}
# {{{ Left Army
la => {
name => 'Left Army',
neighborhood => [
q( ),
q( \oo ),
q( -^o ),
q( /oo ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Beast Bird
bbd => {
name => 'Beast Bird',
neighborhood => [
q( ),
q( \|/ ),
q(o3^3o),
q( /o\ ),
q( o ) ] },
# }}}
# {{{ Captive Bird
cb => {
name => 'Captive Bird',
neighborhood => [
q( ),
q( \|/ ),
q(o3^3o),
q( /o\ ),
q( o ) ] },
# }}}
# {{{ Gliding Swallow
gsw => {
name => 'Gliding Swallow',
neighborhood => [
q( ),
q( | ),
q( -^- ),
q( | ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Buddhist Spirit
bsp => {
name => 'Buddhist Spirit',
neighborhood => [ # XXX
q( ),
q( ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# {{{ Teaching King
tk => {
name => 'Teaching King',
neighborhood => [
q(X + X), # Hash-marked, whatever that means
q( \|/ ),
q(+-^-+),
q( /|\ ),
q(X + X) ] },
# }}}
# {{{ Shark
sh => {
name => 'Shark',
neighborhood => [
q(o o),
q( 5|5 ),
q( -^- ),
q( 2|2 ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Furious Fiend
ff => {
name => 'Furious Fiend',
neighborhood => [ # XXX
q( ),
q( ),
q( ^ ),
q( ),
q( ) ] },
# }}}
# {{{ Leopard King
lk => {
name => 'Leopard King',
neighborhood => [
q(o o o),
q( 555 ),
q(o5^5o),
q( 555 ),
q(o o o) ] },
# }}}
# {{{ Goose Wing
gw => {
name => 'Goose Wing',
neighborhood => [
q( ),
q( o|o ),
q(o3^3o),
q( o|o ),
q( ) ] },
# }}}
# }}}
# }}}
# {{{ Page 232
# {{{ 232
# Left Iron Chariot steps 1 left orthogonal, slides backward diagonal or right forward diagonal
# Right Iron Chariot steps 1 right orthogonal, slides backward diagonal or left forward diagonal
# Plodding Ox steps 1 diagonal, slides backward orthogonal or forward orthogonal
#
# Wind Snapping Turtle steps 2 forward diagonal, slides backward orthogonal or forward orthogonal
# Running Tile steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
# Young Bird steps 2 left orthogonal or right orthogonal or backward diagonal, slides backward orthogonal or forward orthogonal
#
# Playful Cockatoo steps 2 backward diagonal, steps 3 forward diagonal, steps 5 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
# Copper Elephant steps 1 left orthogonal or right orthogonal or diagonal, slides backward orthogonal or forward orthogonal
# Walking Heron steps 2 left orthogonal or right orthogonal or forward diagonal, slides backward orthogonal or forward orthogonal
#
# Tiger Soldier steps 1 backward orthogonal, steps 2 forward orthogonal, slides forward diagonal
# Strong Eagle slides orthogonal or diagonal
# Running Dragon steps 5 backward orthogonal, slides left orthogonal or right orthogonal or forward orthogonal or diagonal
#
# -232-
# }}}
# {{{ Row 1
# {{{ Left Iron Chariot
lich => {
name => 'Left Iron Chariot',
neighborhood => [
q( ),
q( / ),
q( o^ ),
q( / \ ),
q( ) ] },
# }}}
# {{{ Right Iron Chariot
rich => {
name => 'Right Iron Chariot',
neighborhood => [
q( ),
q( \ ),
q( ^o ),
q( / \ ),
q( ) ] },
# }}}
# {{{ Plodding Ox
po => {
name => 'Plodding Ox',
neighborhood => [
q( ),
q( o|o ),
q( ^ ),
q( o|o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Wind Snapping Turtle
wst => {
name => 'Wind Snapping Turtle',
neighborhood => [
q(o o),
q( o|o ),
q( ^ ),
q( | ),
q( ) ] },
# }}}
# {{{ Running Tile
rtl => {
name => 'Running Tile',
neighborhood => [
q( ),
q( | ),
q(oo^oo),
q( | ),
q( ) ] },
# }}}
# {{{ Young Bird
yb => {
name => 'Young Bird',
neighborhood => [
q( ),
q( | ),
q(oo^oo),
q( o|o ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Playful Cockatoo
plc => {
name => 'Playful Cockatoo',
neighborhood => [
q(o o),
q( 3|3 ),
q(o5^5o),
q( o|o ),
q(o o) ] },
# }}}
# {{{ Copper Elephant
ce => {
name => 'Copper Elephant',
neighborhood => [
q( ),
q( o|o ),
q( o^o ),
q( o|o ),
q( ) ] },
# }}}
# {{{ Walking Heron
whe => {
name => 'Walking Heron',
neighborhood => [
q(o o),
q( o|o ),
q(oo^oo),
q( | ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Tiger Soldier
tso => {
name => 'Tiger Soldier',
neighborhood => [
q( o ),
q( \o/ ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Strong Eagle
seg => {
name => 'Strong Eagle',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Running Dragon
rudr => {
name => 'Running Dragon',
neighborhood => [
q( ),
q( \|/ ),
q( -^- ),
q( /5\ ),
q( o ) ] },
# }}}
# }}}
# }}}
# {{{ Page 233
# {{{ 233
# Heavenly Tetarch steps 4 orthogonal or diagonal
# Elephant King steps 2 orthogonal, slides diagonal
# Peaceful Mountain steps 5 left orthogonal or right orthogonal or forward orthogonal, slides diagonal
#
# Chinese River steps 1 backward orthogonal or forward orthogonal, slides left orthogonal or right orthogonal or diagonal
# Violent Wind steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or diagonal
# Free Chicken steps 2 left orthogonal or right orthogonal or backward diagonal, slides backward orthogonal or forward orthogonal or forward diagonal
#
# Free Ox steps 1 backward diagonal, steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
# Free Horse steps 1 backward diagonal, steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
# Great Whale slides backward orthogonal or forward orthogonal or diagonal
#
# Free Pig steps 1 backward diagonal, steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
# Longbow General steps 5 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
# Burning General steps 2 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
#
# -233-
# }}}
# {{{ Row 1
# {{{ Heavenly Tetrarchs
ht => {
name => 'Heavenly Tetrarchs',
neighborhood => [
q(o o o),
q( 444 ),
q(o4^4o),
q( 444 ),
q(o o o) ] },
# }}}
# {{{ Elephant King
ek => {
name => 'Elephant King',
neighborhood => [
q( o ),
q( \o/ ),
q(oo^oo),
q( /o\ ),
q( o ) ] },
# }}}
# {{{ Peaceful Mountain
pm => {
name => 'Peaceful Mountain',
neighborhood => [
q( o ),
q( \5/ ),
q(o5^5o),
q( / \ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Chinese River
cr => {
name => 'Chinese River',
neighborhood => [
q( ),
q( \o/ ),
q( -^- ),
q( /o\ ),
q( ) ] },
# }}}
# {{{ Violent Wind
vwd => {
name => 'Violent Wind',
neighborhood => [
q( ),
q( \o/ ),
q( -^- ),
q( /o\ ),
q( ) ] },
# }}}
# {{{ Free Chicken
fch => {
name => 'Free Chicken',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( o|o ),
q(o o) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Free Ox
fro => {
name => 'Free Ox',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( o|o ),
q( ) ] },
# }}}
# {{{ Free Horse
fh => {
name => 'Free Horse',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( o|o ),
q( ) ] },
# }}}
# {{{ Great Whale
gw => {
name => 'Great Whale',
neighborhood => [
q( ),
q( \|/ ),
q( ^ ),
q( /|\ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Free Pig
fpg => {
name => 'Free Pig',
neighborhood => [
q( ),
q( \|/ ),
q(oo^oo),
q( o|o ),
q( ) ] },
# }}}
# {{{ Longbow General
lbg => {
name => 'Longbow General',
neighborhood => [
q( ),
q( \|/ ),
q(o5^5o),
q( | ),
q( ) ] },
# }}}
# {{{ Burning General
bug => {
name => 'Burning General',
neighborhood => [
q( ),
q( \|/ ),
q(o3^3o),
q( o ),
q( o ) ] },
# }}}
# }}}
# }}}
# {{{ Page 234
# {{{ 234
# Shortbow General steps 2 backward orthogonal, steps 3 left orthogonal or right orthogonal, steps 5 forward diagonal, slides forward orthogonal
# Mountain Crane slides orthogonal or diagonal, leaps 3 then slides orthogonal or diagonal
# Rushing Boar steps 1 left orthogonal or right orthogonal or forward orthogonal or diagonal
#
# Sword General steps 1 backward orthogonal, steps 3 forward orthogonal or forward diagonal
# Bird of Paradise slides backward orthogonal or forward orthogonal or forward diagonal
# Coiled Dragon slides backward orthogonal or forward orthogonal or backward diagonal
#
# Bear's Eyes steps 1 orthogonal or diagonal
# Mountain Witch slides backward orthogonal or diagonal
# Flying Falcon steps 1 forward orthogonal, slides diagonal
#
# Venomous Wolf steps 1 orthogonal or diagonal
# Spirit Turtle leaps 3 orthogonal, slides orthogonal or diagonal
# Treasure Turtle leaps 2 orthogonal, slides orthogonal or diagonal
#
# -234-
# }}}
# {{{ Row 1
# {{{ Shortbow General
sbg => {
name => 'Shortbow General',
neighborhood => [
q(o o),
q( 5|5 ),
q(o3^3o),
q( o ),
q( o ) ] },
# }}}
# {{{ Mountain Crane
mcr => {
name => 'Mountain Crane',
neighborhood => [ # XXX There were also '3o' type things overlaid here, probably redundant
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Rushing Boar
rbo => {
name => 'Rushing Boar',
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( o o ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Sword General
swg => {
name => 'Sword General',
neighborhood => [
q(o o o),
q( 333 ),
q( ^ ),
q( o ),
q( ) ] },
# }}}
# {{{ Bird of Paradise
bop => {
name => 'Bird of Paradise',
neighborhood => [
q( ),
q( \|/ ),
q( ^ ),
q( | ),
q( ) ] },
# }}}
# {{{ Coiled Dragon
codr => {
name => 'Coiled Dragon',
neighborhood => [
q( ),
q( | ),
q( ^ ),
q( /|\ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 3
# {{{ Bear's Eyes
be => {
name => "Bear's Eyes",
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Mountain Witch
mw => {
name => 'Mountain Witch', # XXX
neighborhood => [
q( ),
q( ),
q( ^ ),
q( /|\ ),
q( ) ] },
# }}}
# {{{ Flying Falcon
ffa => {
name => 'Flying Falcon',
neighborhood => [
q( ),
q( \o/ ),
q( ^ ),
q( / \ ),
q( ) ] },
# }}}
# }}}
# {{{ Row 4
# {{{ Venomous Wolf
vwo => {
name => 'Venomous Wolf',
neighborhood => [
q( ),
q( ooo ),
q( o^o ),
q( ooo ),
q( ) ] },
# }}}
# {{{ Spirit Turtle
spt => {
name => 'Spirit Turtle',
neighborhood => [ [
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ],
[ q( x ),
q( 3 ),
q(x3^3x),
q( 3 ),
q( x ) ] ] },
# }}}
# {{{ Treasure Turtle
tt => {
name => 'Treasure Turtle',
neighborhood => [ [
q( ),
q( \|/ ),
q( -^- ),
q( /|\ ),
q( ) ],
[ q( x ),
q( ),
q(x ^ x),
q( ),
q( x ) ] ] },
# }}}
# }}}
# }}}
# {{{ Page 235
# {{{ 235
# Great Bear steps 1 backward orthogonal or left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
# Multi-General slides backward orthogonal or forward orthogonal or forward diagonal
# Wizard Stork slides backward orthogonal or left orthogonal or right orthogonal or forward diagonal
#
# Raiding Falcon steps 1 left orthogonal or right orthogonal or forward diagonal, slides forward orthogonal
# Great Eagle slides orthogonal or diagonal, leaps 2 then slides forward diagonal
#
# Great Eagle is able, if the adjacent forward diagonal are occupied,
# to leap over and continue its slide until it preforms a capture.
#
# -234-
# }}}
# {{{ Row 1
# {{{ Great Bear
gb => {
name => 'Great Bear',
neighborhood => [
q( ),
q( \|/ ),
q( o^o ),
q( o ),
q( ) ] },
# }}}
# {{{ Multi General
mug => {
name => 'Multi General',
neighborhood => [
qw( ),
qw( \|/ ),
qw( ^ ),
qw( | ),
qw( ) ] },
# }}}
# {{{ Wizard Stork
ws => {
name => 'Wizard Stork',
neighborhood => [
q( ),
q( \ / ),
q( -^- ),
q( | ),
q( ) ] },
# }}}
# }}}
# {{{ Row 2
# {{{ Raiding Falcon
rf => {
name => 'Raiding Falcon',
neighborhood => [
qw( ),
qw( o|o ),
qw( o^o ),
qw( ),
qw( ) ] },
# }}}
# {{{ Great Eagle
gea => {
name => 'Great Eagle',
neighborhood => [ # XXX Two redundant 'o' diagonally in front of the piece
qw(x x), # And the 'x' at the end of the diagonal means something diff.
qw( \|/ ),
qw( -^- ),
qw( /|\ ),
qw( ) ] },
# }}}
# }}}
# }}}
};
# }}}
# {{{ 4. The remaining rules:
=pod
1) Pieces promote upon reaching any of the opponent's 11 ranks.
2) Captured pieces are removed from play.
3) Free Eagle is able to capture without moving(igui) an adjacent square. With the squares marked (1)(2)(3) there are several move options
(including the forward diagonal squares marked 4), may leap to the squares (2)(3) (up tp the fourth forward diagonal) then continue until capturing
is one option. Another, for the squares marked (1)(2)(3) may preform consecutive capturing moves (up tp the fourth forward diagonal)
may also preform passing move(jitto) if vacant adjacent square.
4) -|-|-|-> The meaning of this symbol is not known. There are no references to a line with three marks.
It is believed that this may mean that a piece may jump up to three spaces and continue its slide.
5) Great General, Vice General, Rook General, Bishop General, Violent Dragon, Flying Crocodile are equal to their counterparts in Tenjiku Shogi. The pieces are able to leap over
others according to rank. By jumping over any number of lower ranked pieces, including friend and foe, continuing until making a capture.
What follows is the ranking of these pieces. *
(1) King, Crown Prince (2) Great General (3) Vice General (4) Bishop General, Rook General, Violent Dragon, Flying Crocodile
(5) the other pieces
[*Some sources note that the ranging move can involve the capture of each and every piece, both friend and foe, which the ranging piece leaps.]
=cut
# }}}
# {{{ Initial Set-up
=pod
(Rank and position in relation to the lower left hand corner of the playing field.)
PIECE RANK POSITION(S)
------------------------------------------------------
# {{{ rank 1
King 1 18
Crown Prince 1 19
Gold General 1 17, 20
Right General 1 21
Left General 1 16
Rear Standard 1 15, 22
Free King 1 14, 23
Free Tapir 1 13, 24
Wooden Dove 1 25
Ceramic Dove 1 12
Earth Dragon 1 11, 26
Free Demon 1 10, 27
Running Horse 1 9, 28
Beast Cadet 1 8, 29
Long-Nosed Goblin 1 7, 30
Mountain Eagle 1 6, 31
Fire Demon 1 5, 32
Whale 1 4, 33
Running Rabbit 1 3, 34
White Tiger 1 35
Turtle Snake 1 2
Lance 1 1, 36
# }}}
# {{{ rank 2
Reverse Chariot 2 1, 36
Fragrant Elephant 2 35
White Elephant 2 2
Mountain Dove 2 3, 34
Flying Swallow 2 4, 33
Captive Officer 2 5, 32
Rain Dragon 2 6, 31
Forest Demon 2 7, 30
Mountain Stag 2 8, 29
Running Pup 2 9, 28
Running Serpent 2 10, 27
Side Serpent 2 11, 26
Great Dove 2 12, 25
Running Tiger 2 13, 24
Running Bear 2 14, 23
Night Sword 2 22
Buddhist Devil 2 15
Guardian of the Gods 2 21
Wrestler 2 16
Silver General 2 17, 20
Drunk Elephant 2 19
Neighboring King 2 18
# }}}
# {{{ rank 3
Gold Chariot 3 1, 36
Side Dragon 3 2, 35
Running Stag 3 3, 34
Running Wolf 3 4, 33
Bishop General 3 5, 32
Rook General 3 6, 31
Right Tiger 3 30
Left Tiger 3 7
Right Dragon 3 29
Left Dragon 3 8
Beast Officer 3 9, 28
Wind Dragon 3 10, 27
Free Pup 3 11, 26
Rushing Bird 3 12, 25
Old Kite Hawk 3 13, 24
Peacock 3 14, 23
Water Dragon 3 15, 22
Fire Dragon 3 16, 21
Copper General 3 17, 20
Phoenix Master 3 19
Kylin Master 3 18
# }}}
# {{{ rank 4
Silver Chariot 4 1, 36
Vertical Bear 4 2, 35
Knight 4 3, 34
Pig General 4 4, 33
Chicken General 4 5, 32
Pup General 4 6, 31
Horse General 4 7, 30
Ox General 4 8, 29
Center Standard 4 9, 28
Side Boar 4 10, 27
Silver Rabbit 4 11, 26
Golden Deer 4 12, 25
Lion 4 13, 24
Captive Cadet 4 14, 23
Great Stag 4 15, 22
Violent Dragon 4 16, 21
Woodland Demon 4 17, 20
Vice General 4 19
Great General 4 18
# }}}
# {{{ rank 5
Stone Chariot 5 1, 36
Cloud Eagle 5 2, 35
Bishop 5 3, 34
Rook 5 4, 33
Side Wolf 5 5, 32
Flying Cat 5 6, 31
Mountain Falcon 5 7, 30
Vertical Tiger 5 8, 29
Soldier 5 9, 28
Little Standard 5 10, 27
Cloud Dragon 5 11, 26
Copper Chariot 5 12, 25
Running Chariot 5 13, 24
Ramshead Soldier 5 14, 23
Violent Ox 5 15, 22
Great Dragon 5 16, 21
Golden Bird 5 17, 20
Dark Spirit 5 19
Deva 5 18
# }}}
# {{{ rank 6
Wood Chariot 6 1, 36
White Horse 6 2, 35
Howling Dog (Right) 6 34
Howling Dog (Left) 6 3
Side Mover 6 4, 33
Prancing Stag 6 5, 32
Water Buffalo 6 6, 31
Ferocious Leopard 6 7, 30
Fierce Eagle 6 8, 29
Flying Dragon 6 9, 28
Poisonous Snake 6 10, 27
Flying Goose 6 11, 26
Strutting Crow 6 12, 25
Blind Dog 6 13, 24
Water General 6 14, 23
Fire General 6 15, 22
Phoenix 6 21
Kylin 6 16
Hook Mover 6 20
Little Turtle 6 19
Great Turtle 6 18
Capricorn 6 17
# }}}
# {{{ rank 7
Tile Chariot 7 1, 36
Vertical Wolf 7 2, 35
Side Ox 7 3, 34
Donkey 7 4, 33
Flying Horse 7 5, 32
Violent Bear 7 6, 31
Angry Boar 7 7, 30
Evil Wolf 7 8, 29
Liberated Horse 7 9, 28
Flying Cock 7 10, 27
Old Monkey 7 11, 26
Chinese Cock 7 12, 25
Northern Barbarian 7 24
Southern Barbarian 7 23
Western Barbarian 7 13
Eastern Barbarian 7 14
Violent Stag 7 15, 22
Violent Wolf 7 16, 21
Treacherous Fox 7 17, 20
Center Master 7 19
Roc Master 7 18
# }}}
# {{{ rank 8
Earth Chariot 8 1, 36
Vermillion Sparrow 8 35
Blue Dragon 8 2
Enchanted Badger 8 3, 34
Horseman 8 4, 33
Swooping Owl 8 5, 32
Climbing Monkey 8 6, 31
Cat Sword 8 7, 30
Swallow's Wings 8 8, 29
Blind Monkey 8 9, 28
Blind Tiger 8 10, 27
Ox Cart 8 11, 26
Side Flier 8 12, 25
Blind Bear 8 13, 24
Old Rat 8 14, 23
Square Mover 8 15, 22
Coiled Serpent 8 16, 21
Reclining Dragon 8 17, 20
Free Eagle 8 19
Lion Hawk 8 18
# }}}
# {{{ rank 9
Chariot Soldier 9 1, 36
Side Soldier 9 2, 35
Vertical Soldier 9 3, 34
Wind General 9 4, 33
River General 9 5, 32
Mountain General 9 6, 31
Front Standard 9 7, 30
Horse Soldier 9 8, 29
Wood General 9 9, 28
Ox Soldier 9 10, 27
Earth General 9 11, 26
Boar Soldier 9 12, 25
Stone General 9 13, 24
Leopard Soldier 9 14, 23
Tile General 9 15, 22
Bear Soldier 9 16, 21
Iron General 9 17, 20
Great Master 9 18
Great Standard 9 19
# }}}
# {{{ rank 10
Right Chariot 10 36
Left Chariot 10 1
Side Monkey 10 2, 35
Vertical Mover 10 3, 34
Flying Ox 10 4, 33
Longbow Soldier 10 5, 32
Vertical Pup 10 6, 31
Vertical Horse 10 7, 30
Burning Soldier 10 8, 29
Dragon Horse 10 9, 28
Dragon King 10 10, 27
Sword Soldier 10 11, 26
Horned Falcon 10 12, 25
Soaring Eagle 10 13, 24
Spear Soldier 10 14, 23
Vertical Leopard 10 15, 22
Savage Tiger 10 16, 21
Shortbow Soldier 10 17, 20
Roaring Dog 10 19
Lion Dog 10 18
# }}}
# {{{ rank 11
Pawn 11 1 through 36
# }}}
# {{{ rank 12
Dog 12 6, 15, 22, 31,
Go-Between 12 11, 26
# }}}
=cut
# }}}
# {{{ English transcription by L. Lynn Smith.
=pod
Special Thanks to Patrick Davin, whose work on these documents was of great assistance.
Also Thanks to Luke Merrit, Colin Paul Adams, Michael Vanier and others who contributed in
early discussion groups.
Send all comments to: llsmith@ev1.net
--------------------------------------------------------------------------------
Ultimate Shogi (Taikyoku Shogi)
An ancient shogi with even more pieces than Mujotai Shogi, Taikyoku Shogi is
thought to be the most recent of the large ancient shogis, although its
existence is not widely known.
# {{{ 1. Board
The board is a 36X36 grid, with 11 ranks for each player's position.
# }}}
# {{{ 2. Pieces
The pieces are shaped like other Japanese Shogi pieces, five-sided with the Kanji characters of the names written on them. (The promoted value appears on the reverse side.)
Each player starts the game with 402 pieces. The various pieces are listed below.
King each player receives 1 ea. does not promote.
Crown Prince " 1 ea. promotes to King.
Gold General " 2 ea. promotes to Rook.
Right General " 1 ea. promotes to Right Army.
Left General " 1 ea. promotes to Left Army.
Rear Standard " 2 ea. promotes to Center Standard.
Free King " 2 ea. promotes to Great General.
Free Tapir " 2 ea. promotes to Free King.
Wooden Dove " 1 ea. does not promote.
Ceramic Dove " 1 ea. does not promote.
Earth Dragon " 2 ea. promotes to Rain Dragon.
Free Demon " 2 ea. promotes to Free King.
Running Horse " 2 ea. promotes to Free Demon.
Beast Cadet " 2 ea. promotes to Beast Officer.
Long-Nosed Goblin " 2 ea. does not promote.
Mountain Eagle " 2 ea. promotes to Soaring Eagle.
Fire Demon " 2 ea. promotes to Free Fire.
Whale " 2 ea. promotes to Great Whale.
Running Rabbit " 2 ea. promotes to Treacherous Fox.
White Tiger " 1 ea. promotes to Divine Tiger.
Turtle Snake " 1 ea. promotes to Divine Turtle.
Lance " 2 ea. promotes to White Horse.
-203-
--------------------------------------------------------------------------------
Reverse Chariot " 2 ea. promotes to Whale.
Fragrant Elephant " 1 ea. promotes to Elephant King.
White Elephant " 1 ea. promotes to Elephant King.
Mountain Dove " 2 ea. promotes to Great Dove.
Flying Swallow " 2 ea. promotes to Rook.
Captive Officer " 2 ea. promotes to Captive Bird.
Rain Dragon " 2 ea. promotes to Great Dragon.
Forest Demon " 2 ea. promotes to Thunder Runner.
Mountain Stag " 2 ea. promotes to Great Stag.
Running Pup " 2 ea. promotes to Free Leopard.
Running Serpent " 2 ea. promotes to Free Serpent.
Side Serpent " 2 ea. promotes to Shark.
Great Dove " 2 ea. promotes to Wooden Dove.
Running Tiger " 2 ea. promotes to Free Tiger.
Running Bear " 2 ea. promotes to Free Bear.
Night Sword " 1 ea. promotes to Heavenly Tetarch.
Buddhist Devil " 1 ea. promotes to Heavenly Tetarch.
Guardian of the Gods " 1 ea. promotes to Heavenly Tetarch.
Wrestler " 1 ea. promotes to Heavenly Tetarch.
Silver General " 2 ea. promotes to Vertical Mover.
Drunk Elephant " 1 ea. promotes to Crown Prince.
Neighboring King " 1 ea. promotes to Front Standard.
Gold Chariot " 2 ea. promotes to Playful Cockatoo.
Side Dragon " 2 ea. promotes to Running Dragon.
Running Stag " 2 ea. promotes to Free Stag.
Running Wolf " 2 ea. promotes to Free Wolf.
Bishop General " 2 ea. promotes to Rain Demon.
Rook General " 2 ea. promotes to Flying Crocodile.
Right Tiger " 1 ea. promotes to White Tiger.
Left Tiger " 1 ea. promotes to Turtle Snake.
-204-
--------------------------------------------------------------------------------
Right Dragon " 1 ea. promotes to Blue Dragon.
Left Dragon " 1 ea. promotes to Vermillion Sparrow.
Beast Officer " 2 ea. promotes to Beast Bird.
Wind Dragon " 2 ea. promotes to Free Dragon.
Free Pup " 2 ea. promotes to Free Dog.
Rushing Bird " 2 ea. promotes to Free Demon.
Old Kite Hawk " 2 ea. promotes to Long-Nosed Goblin.
Peacock " 2 ea. promotes to Long-Nosed Goblin.
Water Dragon " 2 ea. promotes to Phoenix Master.
Fire Dragon " 2 ea. promotes to Kylin Master.
Copper General " 2 ea. promotes to Side Mover.
Phoenix Master " 1 ea. does not promote.
Kylin Master " 1 ea. does not promote.
Silver Chariot " 2 ea. promotes to Goose Wing.
Vertical Bear " 2 ea. promotes to Free Bear.
Knight " 2 ea. promotes to Side Soldier.
Pig General " 2 ea. promotes to Free Pig.
Chicken General " 2 ea. promotes to Free Chicken.
Pup General " 2 ea. promotes to Free Pup.
Horse General " 2 ea. promotes to Free Horse.
Ox General " 2 ea. promotes to Free Ox.
Center Standard " 2 ea. promotes to Front Standard.
Side Boar " 2 ea. promotes to Free Boar.
Silver Rabbit " 2 ea. promotes to Whale.
Golden Deer " 2 ea. promotes to White Horse.
Lion " 2 ea. promotes to Furious Fiend.
Captive Cadet " 2 ea. promotes to Captive Officer.
Great Stag " 2 ea. promotes to Free Stag.
Violent Dragon " 2 ea. promotes to Great Dragon.
Woodland Demon " 2 ea. promotes to Right Phoenix.
-205-
--------------------------------------------------------------------------------
Vice General " 1 ea. promotes to Great General.
Great General " 1 ea. does not promote.
Stone Chariot " 2 ea. promotes to Walking Heron.
Cloud Eagle " 2 ea. promotes to Strong Eagle.
Bishop " 2 ea. promotes to Dragon Horse.
Rook " 2 ea. promotes to Dragon King.
Side Wolf " 2 ea. promotes to Free Wolf.
Flying Cat " 2 ea. promotes to Rook.
Mountain Falcon " 2 ea. promotes to Horned Falcon.
Vertical Tiger " 2 ea. promotes to Free Tiger.
Soldier " 2 ea. promotes to Cavalier.
Little Standard " 2 ea. promotes to Rear Standard.
Cloud Dragon " 2 ea. promotes to Great Dragon.
Copper Chariot " 2 ea. promotes to Copper Elephant.
Running Chariot " 2 ea. promotes to Burning Chariot.
Ramshead Soldier " 2 ea. promotes to Tiger Soldier.
Violent Ox " 2 ea. promotes to Flying Ox.
Great Dragon " 2 ea. promotes to Ancient Dragon.
Golden Bird " 2 ea. promotes to Free Bird.
Dark Spirit " 1 ea. promotes to Buddhist Spirit.
Deva " 1 ea. promotes to Teaching King.
Wood Chariot " 2 ea. promotes to Wind Snapping Turtle.
White Horse " 2 ea. promotes to Great Horse.
Howling Dog (Right) " 1 ea. promotes to Right Dog.
Howling Dog (Left) " 1 ea. promotes to Left Dog.
Side Mover " 2 ea. promotes to Free Boar.
Prancing Stag " 2 ea. promotes to Square Mover.
Water Buffalo " 2 ea. promotes to Great Tapir.
Ferocious Leopard " 2 ea. promotes to Bishop.
Fierce Eagle " 2 ea. promotes to Soaring Eagle.
-206-
--------------------------------------------------------------------------------
Flying Dragon " 2 ea. promotes to Dragon King.
Poisonous Snake " 2 ea. promotes to Hook Mover.
Flying Goose " 2 ea. promotes to Dragon King.
Strutting Crow " 2 ea. promotes to Flying Falcon.
Blind Dog " 2 ea. promotes to Violent Stag.
Water General " 2 ea. promotes to Vice General.
Fire General " 2 ea. promotes to Great General.
Phoenix " 1 ea. promotes to Golden Bird.
Kylin " 1 ea. promotes to Golden Bird.
Hook Mover " 1 ea. does not promote.
Little Turtle " 1 ea. promotes to Treasure Turtle.
Great Turtle " 1 ea. promotes to Spirit Turtle.
Capricorn " 1 ea. promotes to Hook Mover.
Tile Chariot " 2 ea. promotes to Running Tile.
Vertical Wolf " 2 ea. promotes to Running Wolf.
Side Ox " 2 ea. promotes to Flying Ox.
Donkey " 2 ea. promotes to Ceramic Dove
Flying Horse " 2 ea. promotes to Free King.
Violent Bear " 2 ea. promotes to Great Bear.
Angry Boar " 2 ea. promotes to Free Boar.
Evil Wolf " 2 ea. promotes to Venomous Wolf.
Liberated Horse " 2 ea. promotes to Heavenly Horse.
Flying Cock " 2 ea. promotes to Raiding Falcon.
Old Monkey " 2 ea. promotes to Mountain Witch.
Chinese Cock " 2 ea. promotes to Wizard Stork.
Northern Barbarian " 1 ea. promotes to Wooden Dove.
Southern Barbarian " 1 ea. promotes to Golden Bird.
Western Barbarian " 1 ea. promotes to Lion Dog.
Eastern Barbarian " 1 ea. promotes to Lion.
Violent Stag " 2 ea. promotes to Rushing Boar.
-207-
--------------------------------------------------------------------------------
Violent Wolf " 2 ea. promotes to Bear's Eyes.
Treacherous Fox " 2 ea. promotes to Mountain Crane.
Center Master " 1 ea. does not promote.
Roc Master " 1 ea. does not promote.
Earth Chariot " 2 ea. promotes to Young Bird.
Vermillion Sparrow " 1 ea. promotes to Divine Sparrow.
Blue Dragon " 1 ea. promotes to Divine Dragon.
Enchanted Badger " 2 ea. promotes to Ceramic Dove.
Horseman " 2 ea. promotes to Cavalier.
Swooping Owl " 2 ea. promotes to Cloud Eagle.
Climbing Monkey " 2 ea. promotes to Violent Stag.
Cat Sword " 2 ea. promotes to Dragon Horse.
Swallow's Wings " 2 ea. promotes to Gliding Swallow.
Blind Monkey " 2 ea. promotes to Flying Stag.
Blind Tiger " 2 ea. promotes to Flying Stag.
Ox Cart " 2 ea. promotes to Plodding Ox.
Side Flier " 2 ea. promotes to Side Dragon.
Blind Bear " 2 ea. promotes to Flying Stag.
Old Rat " 2 ea. promotes to Bird of Paradise.
Square Mover " 2 ea. promotes to Strong Chariot.
Coiled Serpent " 2 ea. promotes to Coiled Dragon.
Reclining Dragon " 2 ea. promotes to Great Dragon.
Free Eagle " 1 ea. does not promote.
Lion Hawk " 1 ea. does not promote.
Chariot Soldier " 2 ea. promotes to Heavenly Tetarch King.
Side Soldier " 2 ea. promotes to Water Buffalo.
Vertical Soldier " 2 ea. promotes to Chariot Soldier.
Wind General " 2 ea. promotes to Violent Wind.
River General " 2 ea. promotes to Chinese River.
Mountain General " 2 ea. promotes to Peaceful Mountain.
-208-
--------------------------------------------------------------------------------
Front Standard " 2 ea. promotes to Great Standard.
Horse Soldier " 2 ea. promotes to Running Horse.
Wood General " 2 ea. promotes to White Elephant.
Ox Soldier " 2 ea. promotes to Running Ox.
Earth General " 2 ea. promotes to White Elephant.
Boar Soldier " 2 ea. promotes to Running Boar.
Stone General " 2 ea. promotes to White Elephant.
Leopard Soldier " 2 ea. promotes to Running Leopard.
Tile General " 2 ea. promotes to White Elephant.
Bear Soldier " 2 ea. promotes to Strong Bear.
Iron General " 2 ea. promotes to White Elephant.
Great Standard " 1 ea. does not promote.
Great Master " 1 ea. does not promote.
Right Chariot " 1 ea. promotes to Right Iron Chariot.
Left Chariot " 1 ea. promotes to Left Iron Chariot.
Side Monkey " 2 ea. promotes to Side Soldier.
Vertical Mover " 2 ea. promotes to Flying Ox.
Flying Ox " 2 ea. promotes to Fire Ox.
Longbow Soldier " 2 ea. promotes to Longbow General.
Vertical Pup " 2 ea. promotes to Leopard King.
Vertical Horse " 2 ea. promotes to Dragon Horse.
Burning Soldier " 2 ea. promotes to Burning General.
Dragon Horse " 2 ea. promotes to Horned Falcon.
Dragon King " 2 ea. promotes to Soaring Eagle.
Sword Soldier " 2 ea. promotes to Sword General.
Horned Falcon " 2 ea. promotes to Great Falcon.
Soaring Eagle " 2 ea. promotes to Great Eagle.
Spear Soldier " 2 ea. promotes to Spear General.
Vertical Leopard " 2 ea. promotes to Great Leopard.
Savage Tiger " 2 ea. promotes to Great Tiger.
-209-
--------------------------------------------------------------------------------
Shortbow Soldier " 2 ea. promotes to Shortbow General.
Roaring Dog " 1 ea. promotes to Lion Dog.
Lion Dog " 1 ea. promotes to Great Elephant.
Dog " 4 ea. promotes to Multi-General.
Go-Between " 2 ea. promotes to Drunk Elephant.
Pawn " 36 ea. promotes to Tokin.
# }}}
# {{{ 3. The Moves of the Pieces.
A 5 and a circle indicates that the piece may step up to five spaces in that direction. An X indicates
that the piece may jump in that direction. 3 X would mean that the piece may jump to the third space in that direction. The solid arrow indicates a slide move.
The dotted arrow indicates Ranging moves similar to Tenjiku Shogi, the ranking will be covered at the end of this document.
King steps 2 orthogonal or diagonal
Crown Prince steps 1 orthogonal or diagonal
Gold General steps 1 orthogonal or forward diagonal
Right General steps 1 orthogonal or diagonal
Left General steps 1 orthogonal or diagonal
Rear Standard steps 2 diagonal, slides orthogonal
Free King slides orthogonal or diagonal
Free Tapir steps 5 left orthogonal or right orthogonal, slides forward orthogonal or backward orthogonal or diagonal
Wooden Dove steps 2 orthogonal, slides diagonal
Wooden Dove, in addition to the normal diagonal slide, may leap 3 spaces (diagonally) then step 2 (diagonally).
-210-
--------------------------------------------------------------------------------
Earth Dragon steps 1 forward diagonal or backward orthogonal, steps 2 forward orthogonal, slides backward diagonal
Free Demon steps 5 forward orthogonal or backward orthogonal, slides left orthogonal or right orthogonal or diagonal
Running Horse steps 1 backward orthogonal, leaps to the second backward diagonal, slides forward orthogonal or forward diagonal
Beast Cadet steps 2 forward orthogonal or left orthogonal or right orthogonal or diagonal
Long-Nosed Goblin diagonal hook-move
Mountain Eagle(Right) steps 2 left backward diagonal, leaps 2 right diagonal, slides orthogonal or right diagonal or left forward diagonal
Mountain Eagle(Left) steps 2 right backward diagonal, leaps 2 left diagonal, slides orthogonal or left diagonal or right forward diagonal
Fire Demon steps 2 forward orthogonal or backward orthogonal, slides left orthogonal or right orthogonal or diagonal
Whale slides foward orthogonal or backward orthogonal or backward diagonal
Running Rabbit steps 1 backward orthogonal or backward diagonal, slides forward orthogonal or forward diagonal
White Tiger steps 2 forward orthogonal or backward orthgonal, slides left orthogonal or right orthogonal or left forward diagonal
Turtle Snake steps 1 orthogonal or left forward diagonal or right backward diagonal, slides right forward diagonal or left backward diagonal
-211-
--------------------------------------------------------------------------------
Ceramic Dove steps 2 orthogonal, slides diagonal
Lance slides forward orthogonal
Reverse Chariot slides forward orthogonal or backward orthogonal
Fragrant Elephant steps 2 orthogonal or diagonal
White Elephant steps 2 orthogonal or diagonal
Mountain Dove steps 1 left orthogonal or right orthogonal or backward orthogonal, steps 5 forward diagonal
Flying Swallow steps 1 backward orthogonal, slides forward diagonal
Captive Officer steps 2 forward orthogonal or left orthogonal or right orthogonal, steps 3 diagonal
Rain Dragon steps 1 forward orthogonal or forward diagonal, slides left orthogonal or right orthogonal or backward orthogonal or backward diagonal
Forest Demon steps 3 forward orthogonal or left orthogonal or right orthogonal, slides backward orthogonal or forward diagonal
Mountian Stag steps 1 forward orthogonal, steps 2 left orthogonal or right orthogonal, steps 3 forward diagonal, step 4 backward orthogonal
Running Pup steps 1 left orthogonal or right orthogonal, slides forward orthogonal or backward orthogonal
-212-
--------------------------------------------------------------------------------
Running Serpent steps 1 left orthogonal or right orthogonal, slides forward orthogonal or backward orthogonal
Side Serpent steps 1 backward orthogonal, steps 3 forward orthogonal, slides left orthogonal or right orthogonal
Great Dove steps 3 orthogonal, slides diagonal
Running Tiger steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
Running Bear steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
Night Sword steps 1 backward orthogonal or forward diagonal, steps 3 left orthogonal or right orthogonal
Buddhist Devil steps 1 backward orthogonal or left orthogonal or right orthogonal, steps 3 forward diagonal
Guardian of the Gods steps 3 orthogonal
Wrestler steps 3 diagonal
Silver General steps 1 forward orthogonal or diagonal
Drunk Elephant steps 1 forward orthogonal or left orthogonal or right orthogonal or diagonal
Neighboring King steps 1 forward orthogonal or left orthogonal or right orthogonal or diagonal
-213-
--------------------------------------------------------------------------------
Gold Chariot steps 1 diagonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal or backward orthogonal
Side Dragon slides forward orthogonal or left orthogonal or right orthogonal
Running Stag steps 2 backward orthogonal, slides left orthogonal or right orthogonal or forward diagonal
Running Wolf steps 1 forward orthogonal, slides left orthogonal or right orthogonal or forward diagonal
Bishop General range jump diagonal(ranking noted at end of document)
Rook General range jump orthogonal(ranking noted at end of document)
Right Tiger steps 1 right diagonal, slides left orthogonal or left diagonal
Left Tiger steps 1 left diagonal, slides right orthogonal or right diagonal
Right Dragon steps 2 right orthogonal, slides left orthogonal or left diagonal
Left Dragon steps 2 left orthogonal, slides right orthogonal or right diagonal
Beast Officer steps 2 left orthogonal or right orthogonal, steps 3 forward orthogonal or diagonal
Wind Dragon steps 1 left backward diagonal, slides left orthogonal or right orthogonal or right backward diagonal or forward diagonal
-214-
--------------------------------------------------------------------------------
Free Pup steps 1 backward diagonal, steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
Rushing Bird steps 1 left orthogonal or right orthogonal or diagonal, steps 2 forward orthogonal
Old Kite Hawk steps 1 left orthogonal or right orthogonal, steps 2 diagonal
Peacock steps 2 backward diagonal, forward diagonal hook-move
Water Dragon steps 2 forward diagonal, steps 4 backward diagonal, slides orthogonal
Fire Dragon steps 2 backward diagonal, steps 4 forward diagonal, slides orthogonal
Copper General steps 1 backward orthogonal or forward orthogonal or forward diagonal
Phoenix Master steps 3 left orthogonal or right orthogonal or forward diagonal, slides backward orthogonal or forward orthogonal or backward diagonal, leaps 3 then slides forward diagonal
Kylin Master steps 3 backward orthogonal or forward orthogonal or left orthogonal or right orthogonal , slides diagonal, leaps 3 then slides backward orthogonal or forward orthogonal
Silver Chariot steps 1 backward diagonal, steps 2 forward diagonal, slides backward orthogonal or forward orthogonal
Vertical Bear steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal
Knight leaps 1 forward orthogonal then 1 forward diagonal
-215-
--------------------------------------------------------------------------------
Pig General steps 2 backward orthogonal, steps 4 forward diagonal
Chicken General steps 1 backward diagonal, steps 4 forward orthogonal
Pup General steps 1 backward diagonal, steps 4 forward orthogonal
Horse General steps 1 backward orthogonal or forward diagonal, steps 3 forward orthogonal
Ox General steps 1 backward orthogonal or forward diagonal, steps 3 forward orthogonal
Center Standard steps 3 diagonal, slides orthogonal
Side Boar steps 1 backward orthogonal or forward orthogonal or diagonal, slides left orthogonal or right orthogonal
Silver Rabbit steps 2 forward diagonal, slides backward diagonal
Golden Deer steps 2 backward diagonal, slides forward diagonal
Lion 2-space Lion move
Captive Cadet steps 3 left orthogonal or right orthogonal or forward orthogonal or diagonal
Great Stag steps 2 backward diagonal, leaps 2 forward diagonal, slides orthogonal
The Lion moves similar to its counterpart in Chu Shogi.
-216-
--------------------------------------------------------------------------------
Violent Dragon steps 2 orthogonal, range jump diagonal(ranking noted at end of document)
Woodland Demon steps 2 left orthogonal or right orthogonal or backward diagonal, slides backward orthogonal or forward orthogonal or forward diagonal
Vice General leaps 2 orthogonal, range jump diagonal(ranking noted at end of document)
Great General range jump orthogonal or diagonal(ranking noted at end of document)
Stone Chariot steps 1 forward diagonal, steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
Cloud Eagle steps 1 left orthogonal or right orthogonal, steps 3 forward diagonal, slides backward orthogonal or forward orthogonal
Bishop slides diagonal
Rook slide orthogonal
Side Wolf steps 1 left forward diagonal or right backward diagonal, slides left orthogonal or right orthogonal
Flying Cat steps 1 backward orthogonal or backward diagonal, leaps 3 left orthogonal or right orthogonal or forward orthogonal or forward diagonal
Mountain Falcon steps 2 forward orthogonal or backward diagonal, slides backward orthogonal or left orthogonal or right orthogonal or forward diagonal, leaps 2 then slides forward orthogonal
Vertical Tiger steps 2 backward orthogonal, slides forward orthogonal
-217-
--------------------------------------------------------------------------------
Soldier slides orthogonal
Little Standard steps 1 backward diagonal, steps 2 forward diagonal, slides orthogonal
Cloud Dragon steps 1 left orthogonal or right orthogonal or forward orthogonal, slides diagonal or backward orthogonal
Copper Chariot steps 3 forward diagonal, slides backward orthogonal or forward orthogonal
Running Chariot slides orthogonal
Ramshead Soldier steps 1 backward orthogonal, slides forward diagonal
Violent Ox steps 1 backward orthogonal or forward orthogonal, slides forward diagonal
Great Dragon steps 3 backward orthogonal or forward orthogonal, slides diagonal
Golden Bird steps 3 left orthogonal or right orthogonal or backward diagonal, slides backward orthogonal or forward orthogonal, hash-marked slides forward diagonal
Dark Spirit steps 1 orthogonal or backward diagonal or right forward diagonal
Deva steps 1 orthogonal or backward diagonal or left forward diagonal
Wood Chariot steps 1 left forward diagonal or right backward diagonal, slides backward orthogonal or forward orthogonal
-218-
--------------------------------------------------------------------------------
White Horse slides backward orthogonal or forward orthogonal or forward diagonal
Howling Dog(Right) steps 1 backward orthogonal, slides forward orthogonal
Howling Dog(Left) steps 1 backward orthogonal, slides forward orthogonal
Side Mover steps 1 backward orthogonal or forward orthogonal, slide left orthogonal or right orthogonal
Prancing Stag steps 1 backward orthogonal or forward orthogonal or forward diagonal, steps 2 left orthogonal or right orthogonal
Water Buffalo steps 2 backward orthogonal or forward orthogonal, slides left orthogonal or right orthogonal or diagonal
Ferocious Leopard steps 1 backward orthogonal or forward orthogonal or diagonal
Fierce Eagle steps 1 left orthogonal or right orthogonal or forward orthogonal, steps 2 diagonal
Flying Dragon leaps 2 diagonal
Poisonous Snake steps 1 backward orthogonal or forward diagonal, steps 2 left orthogonal or right orthogonal or forward orthogonal
Flying Goose steps 1 backward orthogonal or forward orthogonal or forward diagonal
Strutting Crow steps 1 backward diagonal or forward orthogonal
-219-
--------------------------------------------------------------------------------
Blind Dog steps 1 backward orthogonal or left orthogonal or right orthogonal or forward diagonal
Water General steps 1 backward orthogonal or forward orthogonal, steps 3 forward diagonal
Fire General steps 1 forward diagonal, steps 3 backward orthogonal or forward orthogonal
Phoenix steps 1 orthogonal, leaps 2 diagonal
Kylin steps 1 backward orthogonal or forward orthogonal or diagonal, leaps 2 left orthogonal or right orthogonal
Hook Mover orthogonal hook-move
Little Turtle steps 2 left orthogonal or right orthogonal, leaps 2 backward orthogonal or forward orthogonal, slides backward orthogonal or forward orthogonal or diagonal
Great Turtle steps 3 left orthogonal or right orthogonal, leaps 3 bakcward orthogonal or forward orthogonal, slides backward orthogonal or forward orthogonal or diagonal
Capricorn diagonal hook-move
Tile Chariot steps 1 left backward diagonal or right forward diagonal, slides backward orthogonal or forward orthogonal
Vertical Wolf steps 1 left orthogonal or right orthogonal, steps 3 backward orthogonal, slides forward orthogonal
Side Ox steps 1 left backward diagonal or right forward diagonal, slides left orthogonal or right orthogonal
-220-
--------------------------------------------------------------------------------
Donkey steps 2 orthogonal
Flying Horse steps 2 diagonal
Angry Boar steps 1 left orthogonal or right orthogonal or forward orthogonal, steps 2 forward diagonal
Violent Bear steps 1 left orthogonal or right orthogonal or diagonal
Evil Wolf steps 1 left orthogonal or right orthogonal or forward orthogonal or forward diagonal
Liberated Horse steps 1 forward diagonal, steps 2 backward orthogonal, slides forward orthogonal
Flying Cock steps 1 left orthogonal or right orthogonal or forward diagonal
Old Monkey steps 1 backward orthogonal or diagonal
Chinese Cock steps 1 backward orthogonal or left orthogonal or right orthogonal or forward diagonal
Northern Barbarian steps 1 backward orthogonal or forward orthogonal or forward diagonal, steps 2 left orthogonal or right orthogonal
Southern Barbarian steps 1 backward orthogonal or forward orthogonal or forward diagonal, steps 2 left orthogonal or right orthogonal
Western Barbarian steps 1 left orthogonal or right orthogonal or forward diagonal, steps 2 backward orthogonal or forward orthogonal
-221-
--------------------------------------------------------------------------------
Eastern Barbarian steps 1 left orthogonal or right orthogonal or forward diagonal, steps 2 backward orthogonal or forward orthogonal
Violent Stag steps 1 forward orthogonal or diagonal
Violent Wolf steps 1 orthogonal or forward diagonal
Treacherous Fox slides or leaps 2 or 3 then slides backward orthogonal or forward orthogonal or diagonal
Center Master steps 3 left orthogonal or right orthogonal or backward diagonal, slides or leaps 2 and slides backward orthogonal or forward orthogonal or forward diagonal
Roc Master steps 5 left orthogonal or right orthogonal or backward diagonal, slides backward orthogonal or forward orthogonal, slides or leaps 3 and slides forward diagonal
Earth Chariot steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
Vermillion Sparrow steps 1 orthogonal or left backward diagonal or right forward diagonal, slides left forward diagonal or right backward diagonal
Blue Dragon steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or right forward diagonal
Enchanted Badger steps 2 orthogonal
Horseman steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
Swooping Owl steps 1 forward orthogonal or backward diagonal
-222-
--------------------------------------------------------------------------------
Climbing Monkey steps 1 backward orthogonal or forward orthogonal or forward diagonal
Cat Sword steps 1 diagonal
Swallow's Wings steps 1 backward orthogonal or forward orthogonal, slides left orthogonal or right orthogonal
Blind Monkey steps 1 left orthogonal or right orthogonal or diagonal
Blind Tiger steps 1 backward orthogonal or left orthogonal or right orthogonal or diagonal
Ox Cart slides forward orthogonal
Side Flyer steps 1 diagonal, slides left orthogonal or right orthogonal
Blind Bear steps 1 left orthogonal or right orthogonal or diagonal
Old Rat steps 1 forward orthogonal or backward diagonal
Square Mover slides orthogonal
Coiled Serpent steps 1 backward orthogonal or forward orthogonal or backward diagonal
Reclining Dragon steps 1 orthogonal
-223-
--------------------------------------------------------------------------------
Free Eagle slides or leaps 2 or 3 and slides orthogonal or backward diagonal, slides or leaps 2 or 4 and slides forward diagonal
Lion Hawk leaps 2 orthogonal, slides or leaps 2 and slides diagonal
Chariot Soldier steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or diagonal
The Lion Hawk, as in Tenjiku Shogi, may move like the Lion or leap to any square which would be attacked by the Lion.
Side Soldier steps 1 backward orthogonal, steps 2 forward orthogonal, slides left orthogonal or right orthogonal
Vertical Soldier steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal
Wind General steps 1 backward orthogonal or forward diagonal, steps 3 forward orthogonal
River General steps 1 backward orthogonal or forward diagonal, steps 3 forward orthogonal
Mountain General steps 1 backward orthogonal or forward orthogonal, steps 3 forward diagonal
Front Standard steps 3 diagonal, slides orthogonal
Horse Soldier steps 1 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
Wood General steps 2 forward diagonal
Ox Soldier steps 1 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
-224-
--------------------------------------------------------------------------------
Earth General steps 1 backward orthogonal or forward orthogonal
Boar Soldier steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
Stone General steps 1 forward diagonal
Leopard Soldier steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
Tile General steps 1 backward orthogonal or forward diagonal
Bear Soldier steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
Iron General steps 1 forward orthogonal or forward diagonal
Great Standard steps 3 backward diagonal, slides orthogonal or forward diagonal
Great Master steps 5 left orthogonal or right orthogonal or bacward diagonal, leaps 3 forward orthogonal or forward diagonal, slides forward orthogonal or forward diagonal
Right Chariot steps 1 right orthogonal, slides forward orthogonal or left forward diagonal or right backward diagonal
Left Chariot steps 1 left orthogonal, slides forward orthogonal or right forward diagonal or lefr backward diagonal
Side Monkey steps 1 backward orthogonal or forward diagonal, slides left orthogonal or right orthogonal
-225-
--------------------------------------------------------------------------------
Vertical Mover steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
Flying Ox slides backward orthogonal or forward orthogonal or diagonal
Longbow Soldier steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, steps 5 forward diagonal, slides forward orthogonal
Vertical Pup steps 1 backward orthogonal or backward diagonal, slides forward orthogonal
Vertical Horse steps 1 backward orthogonal or forward diagonal, slides forward orthogonal
Burning Soldier steps 1 backward orthogonal, steps 3 left orthogonal or right orthogonal, steps 5 forward diagonal, steps 7 forward orthogonal
Dragon Horse steps 1 orthogonal, slides diagonal
Dragon King steps 1 diagonal, slides orthogonal
Sword Soldier steps 1 backward orthogonal or forward diagonal
Horned Falcon leaps 2 forward orthogonal, slides orthogonal or diagonal
Soaring Eagle leaps 2 forward diagonal, slides orthogonal or diagonal
Spear Soldier steps 1 backward orthogonal or left orthogonal or right orthogonal, slides forward orthogonal
-226-
--------------------------------------------------------------------------------
Vertical Leopard steps 1 backward orthogonal or left orthogonal or right orthogonal or forward diagonal, slides forward orthogonal
Savage Tiger slides forward orthogonal
Shortbow Soldier steps 1 backward orthogonal, steps 3 left orthogonal or right orthogonal or forward diagonal, steps 5 forward orthogonal
Roaring Dog steps 3 backward diagonal, leap 3 orthogonal or forward diagonal, slides orthogonal or forward diagonal
Lion Dog leaps 3 orthogonal or diagonal, slides orthogonal or diagonal
Dog steps 1 forward orthogonal or forward diagonal
Go-Between steps 1 backward orthogonal or forward orthogonal
Pawn steps 1 forward orthogonal
(Rules for promoted pieces)
Free Bird steps 3 backward diagonal, slides orthogonal, hash-marked slides forward diagonal
Great Tapir leaps 3 left orthogonal or right orthogonal, slides orthogonal or diagonal
Ancient Dragon slides diagonal, hash-marked slides backward orthogonal or forward orthogonal
-227-
--------------------------------------------------------------------------------
Heavenly Tetarch King igui 1 orthogonal or diagonal, slides orthogonal or diagonal, leaps 1 and slides orthogonal or diagonal
Great Falcon slides orthogonal or diagonal, leaps 1 and slides forward orthogonal
Great Elephant steps 3 forward diagonal, hash-marked slides orthogonal or backward diagonal
Heavenly Tetarch King is able to capture an adjacent square without moving(Igui), or preform its slide by leaping over an occupied adjacent square.
Great Falcon is able to preform its forward orthogonal slide by leaping over an occupied adjacent square.
Fire Ox steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or diagonal
Strong Bear steps 2 backward orthogonal, slides left orthogonal or right orthogonal or forward orthogonal or diagonal
Right Phoenix steps 5 left orthogonal or right orthogonal, slides diagonal
Running Leopard slides left orthogonal or right orthogonal or forward orthgonal or forward diagonal
Thunder Runner steps 4 backward orthogonal or left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
Rain Demon steps 2 backward diagonal or left orthogonal or right orthogonal, steps 3 forward orthogonal, slides forward diagonal, leaps 1 and slides forward diagonal
Rain Demon is able to preform its forward diagonal slide by leaping over an occupied adjacent square.
Free Boar steps 1 backward orthogonal, slides left orthogonal or right orthogonal or forward orthogonal or forward diagonal
Free Dog steps 2 backward diagonal or left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
Running Ox steps 2 backward diagonal, slides left orthogonal or right orthogonal or forward orthogonal or forward diagonal
-228-
--------------------------------------------------------------------------------
Great Horse steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
Cavalier slides orthogonal or forward diagonal
Free Fire steps 5 backward orthogonal or forward orthogonal, slides left orthogonal or right orthogonal or diagonal
Burning Chariot steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
Free Stag slides orthogonal or diagonal
Free Dragon slides backward orthogonal or left orthogonal or right orthogonal or diagonal
Flying Crocodile steps 2 backward diagonal, steps 3 forward diagonal, range jump orthogonal(ranking noted at end of document)
Strong Chariot slides orthogonal or forward diagonal
Divine Tiger steps 2 backward orthogonal, slides left orthogonal or right orthogonal or forward orthogonal or left forward diagonal
Divine Dragon steps 2 left orthogonal, slides backward orthogonal or right orthogonal or forward orthogonal or right forward diagonal
Divine Turtle steps 1 orthogonal or left forward diagonal, slides backward diagonal or right forward diagonal
Divine Sparrow steps 1 orthogonal or right forward diagonal, slides backward diagonal or left forward diagonal
-229-
--------------------------------------------------------------------------------
Free Serpent slides backward orthogonal or forward orthogonal or backward diagonal
Free Wolf slides left orthogonal or right orthogonal or forward orthogonal or forward diagonal
Great Tiger steps 1 forward orthogonal, slides backward orthogonal or left orthogonal or right orthogonal
Right Dog steps 1 backward orthogonal, slides forward orthogonal or left backward diagonal
Left Dog steps 1 backward orthogonal, slides forward orthogonal or right backward diagonal
Free Bear slides backward orthogonal or forward orthogonal or diagonal
Free Tiger slides backward orthogonal or left orthogonal or right orthogonal or diagonal
Running Boar steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
Free Leopard slides backward orthogonal or forward orthogonal or diagonal
Heavenly Horse leaps 1 backward orthogonal then 1 backward diagonal, leaps 1 forward orthogonal then 1 forward orthogonal, slides forward orthogonal
Spear General steps 2 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal
Great Leopard steps 1 backward orthogonal, steps 2 left orthogonal or right orthogonal, steps 3 forward diagonal, slides forward orthogonal
-230-
--------------------------------------------------------------------------------
Flying Stag steps 1 left orthogonal or right orthogonal or diagonal, slides backward orthogonal or forward orthogonal
Right Army steps 1 backward orthogonal or left orthogonal or forward orthogonal or left diagonal, slides right orthogonal or right diagonal
Left Army steps 1 backward orthogonal or right orthogonal or forward orthogonal or right diagonal, slides left orthogonal or left diagonal
Beast Bird steps 2 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal or diagonal
Captive Bird steps 2 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal or diagonal
Gliding Swallow slides orthogonal
Buddhist Spirit 2-space Lion move, slides orthogonal or diagonal
Teaching King hash-marked slides orthogonal or diagonal
Shark steps 2 backward diagonal, steps 5 forward diagonal, slides orthogonal
Buddhist Spirit, like in Maka-Dai-Dai Shogi, may slide orthogonal or diagonal or preform moves like the Lion.
Furious Fiend 2-space Lion move, steps 3 orthogonal or diagonal
Leopard King steps 5 orthogonal or diagonal
Goose Wing steps 1 diagonal, steps 3 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
Furious Fiend, like in Dai-Dai Shogi and Maka-Dai-Dai Shogi, may step three spaces orthogonal or diagoanl or preform moves like the Lion.
-231-
--------------------------------------------------------------------------------
Left Iron Chariot steps 1 left orthogonal, slides backward diagonal or right forward diagonal
Right Iron Chariot steps 1 right orthogonal, slides backward diagonal or left forward diagonal
Plodding Ox steps 1 diagonal, slides backward orthogonal or forward orthogonal
Wind Snapping Turtle steps 2 forward diagonal, slides backward orthogonal or forward orthogonal
Running Tile steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
Young Bird steps 2 left orthogonal or right orthogonal or backward diagonal, slides backward orthogonal or forward orthogonal
Playful Cockatoo steps 2 backward diagonal, steps 3 forward diagonal, steps 5 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal
Copper Elephant steps 1 left orthogonal or right orthogonal or diagonal, slides backward orthogonal or forward orthogonal
Walking Heron steps 2 left orthogonal or right orthogonal or forward diagonal, slides backward orthogonal or forward orthogonal
Tiger Soldier steps 1 backward orthogonal, steps 2 forward orthogonal, slides forward diagonal
Strong Eagle slides orthogonal or diagonal
Running Dragon steps 5 backward orthogonal, slides left orthogonal or right orthogonal or forward orthogonal or diagonal
-232-
--------------------------------------------------------------------------------
Heavenly Tetarch steps 4 orthogonal or diagonal
Elephant King steps 2 orthogonal, slides diagonal
Peaceful Mountain steps 5 left orthogonal or right orthogonal or forward orthogonal, slides diagonal
Chinese River steps 1 backward orthogonal or forward orthogonal, slides left orthogonal or right orthogonal or diagonal
Violent Wind steps 1 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or diagonal
Free Chicken steps 2 left orthogonal or right orthogonal or backward diagonal, slides backward orthogonal or forward orthogonal or forward diagonal
Free Ox steps 1 backward diagonal, steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
Free Horse steps 1 backward diagonal, steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
Great Whale slides backward orthogonal or forward orthogonal or diagonal
Free Pig steps 1 backward diagonal, steps 2 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
Longbow General steps 5 left orthogonal or right orthogonal, slides backward orthogonal or forward orthogonal or forward diagonal
Burning General steps 2 backward orthogonal, steps 3 left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
-233-
--------------------------------------------------------------------------------
Shortbow General steps 2 backward orthogonal, steps 3 left orthogonal or right orthogonal, steps 5 forward diagonal, slides forward orthogonal
Mountain Crane slides orthogonal or diagonal, leaps 3 then slides orthogonal or diagonal
Rushing Boar steps 1 left orthogonal or right orthogonal or forward orthogonal or diagonal
Sword General steps 1 backward orthogonal, steps 3 forward orthogonal or forward diagonal
Bird of Paradise slides backward orthogonal or forward orthogonal or forward diagonal
Coiled Dragon slides backward orthogonal or forward orthogonal or backward diagonal
Bear's Eyes steps 1 orthogonal or diagonal
Mountain Witch slides backward orthogonal or diagonal
Flying Falcon steps 1 forward orthogonal, slides diagonal
Venomous Wolf steps 1 orthogonal or diagonal
Spirit Turtle leaps 3 orthogonal, slides orthogonal or diagonal
Treasure Turtle leaps 2 orthogonal, slides orthogonal or diagonal
-234-
--------------------------------------------------------------------------------
Great Bear steps 1 backward orthogonal or left orthogonal or right orthogonal, slides forward orthogonal or forward diagonal
Multi-General slides backward orthogonal or forward orthogonal or forward diagonal
Wizard Stork slides backward orthogonal or left orthogonal or right orthogonal or forward diagonal
Raiding Falcon steps 1 left orthogonal or right orthogonal or forward diagonal, slides forward orthogonal
Great Eagle slides orthogonal or diagonal, leaps 2 then slides forward diagonal
Great Eagle is able, if the adjacent forward diagonal are occupied,
to leap over and continue its slide until it preforms a capture.
# }}}
# {{{ 4. The remaining rules:
1) Pieces promote upon reaching any of the opponent's 11 ranks.
2) Captured pieces are removed from play.
3) Free Eagle is able to capture without moving(igui) an adjacent square. With the squares marked (1)(2)(3) there are several move options
(including the forward diagonal squares marked 4), may leap to the squares (2)(3) (up tp the fourth forward diagonal) then continue until capturing
is one option. Another, for the squares marked (1)(2)(3) may preform consecutive capturing moves (up tp the fourth forward diagonal)
may also preform passing move(jitto) if vacant adjacent square.
4) -|-|-|-> The meaning of this symbol is not known. There are no references to a line with three marks.
It is believed that this may mean that a piece may jump up to three spaces and continue its slide.
5) Great General, Vice General, Rook General, Bishop General, Violent Dragon, Flying Crocodile are equal to their counterparts in Tenjiku Shogi. The pieces are able to leap over
others according to rank. By jumping over any number of lower ranked pieces, including friend and foe, continuing until making a capture.
What follows is the ranking of these pieces. *
(1) King, Crown Prince (2) Great General (3) Vice General (4) Bishop General, Rook General, Violent Dragon, Flying Crocodile
(5) the other pieces
[*Some sources note that the ranging move can involve the capture of each and every piece, both friend and foe, which the ranging piece leaps.]
# }}}
# {{{ Initial Set-up
(Rank and position in relation to the lower left hand corner of the playing field.)
PIECE RANK POSITION(S)
------------------------------------------------------
King 1 18
Crown Prince 1 19
Gold General 1 17, 20
Right General 1 21
Left General 1 16
Rear Standard 1 15, 22
Free King 1 14, 23
Free Tapir 1 13, 24
Wooden Dove 1 25
Ceramic Dove 1 12
Earth Dragon 1 11, 26
Free Demon 1 10, 27
Running Horse 1 9, 28
Beast Cadet 1 8, 29
Long-Nosed Goblin 1 7, 30
Mountain Eagle 1 6, 31
Fire Demon 1 5, 32
Whale 1 4, 33
Running Rabbit 1 3, 34
White Tiger 1 35
Turtle Snake 1 2
Lance 1 1, 36
Reverse Chariot 2 1, 36
Fragrant Elephant 2 35
White Elephant 2 2
Mountain Dove 2 3, 34
Flying Swallow 2 4, 33
Captive Officer 2 5, 32
Rain Dragon 2 6, 31
Forest Demon 2 7, 30
Mountain Stag 2 8, 29
Running Pup 2 9, 28
Running Serpent 2 10, 27
Side Serpent 2 11, 26
Great Dove 2 12, 25
Running Tiger 2 13, 24
Running Bear 2 14, 23
Night Sword 2 22
Buddhist Devil 2 15
Guardian of the Gods 2 21
Wrestler 2 16
Silver General 2 17, 20
Drunk Elephant 2 19
Neighboring King 2 18
Gold Chariot 3 1, 36
Side Dragon 3 2, 35
Running Stag 3 3, 34
Running Wolf 3 4, 33
Bishop General 3 5, 32
Rook General 3 6, 31
Right Tiger 3 30
Left Tiger 3 7
Right Dragon 3 29
Left Dragon 3 8
Beast Officer 3 9, 28
Wind Dragon 3 10, 27
Free Pup 3 11, 26
Rushing Bird 3 12, 25
Old Kite Hawk 3 13, 24
Peacock 3 14, 23
Water Dragon 3 15, 22
Fire Dragon 3 16, 21
Copper General 3 17, 20
Phoenix Master 3 19
Kylin Master 3 18
Silver Chariot 4 1, 36
Vertical Bear 4 2, 35
Knight 4 3, 34
Pig General 4 4, 33
Chicken General 4 5, 32
Pup General 4 6, 31
Horse General 4 7, 30
Ox General 4 8, 29
Center Standard 4 9, 28
Side Boar 4 10, 27
Silver Rabbit 4 11, 26
Golden Deer 4 12, 25
Lion 4 13, 24
Captive Cadet 4 14, 23
Great Stag 4 15, 22
Violent Dragon 4 16, 21
Woodland Demon 4 17, 20
Vice General 4 19
Great General 4 18
Stone Chariot 5 1, 36
Cloud Eagle 5 2, 35
Bishop 5 3, 34
Rook 5 4, 33
Side Wolf 5 5, 32
Flying Cat 5 6, 31
Mountain Falcon 5 7, 30
Vertical Tiger 5 8, 29
Soldier 5 9, 28
Little Standard 5 10, 27
Cloud Dragon 5 11, 26
Copper Chariot 5 12, 25
Running Chariot 5 13, 24
Ramshead Soldier 5 14, 23
Violent Ox 5 15, 22
Great Dragon 5 16, 21
Golden Bird 5 17, 20
Dark Spirit 5 19
Deva 5 18
Wood Chariot 6 1, 36
White Horse 6 2, 35
Howling Dog (Right) 6 34
Howling Dog (Left) 6 3
Side Mover 6 4, 33
Prancing Stag 6 5, 32
Water Buffalo 6 6, 31
Ferocious Leopard 6 7, 30
Fierce Eagle 6 8, 29
Flying Dragon 6 9, 28
Poisonous Snake 6 10, 27
Flying Goose 6 11, 26
Strutting Crow 6 12, 25
Blind Dog 6 13, 24
Water General 6 14, 23
Fire General 6 15, 22
Phoenix 6 21
Kylin 6 16
Hook Mover 6 20
Little Turtle 6 19
Great Turtle 6 18
Capricorn 6 17
Tile Chariot 7 1, 36
Vertical Wolf 7 2, 35
Side Ox 7 3, 34
Donkey 7 4, 33
Flying Horse 7 5, 32
Violent Bear 7 6, 31
Angry Boar 7 7, 30
Evil Wolf 7 8, 29
Liberated Horse 7 9, 28
Flying Cock 7 10, 27
Old Monkey 7 11, 26
Chinese Cock 7 12, 25
Northern Barbarian 7 24
Southern Barbarian 7 23
Western Barbarian 7 13
Eastern Barbarian 7 14
Violent Stag 7 15, 22
Violent Wolf 7 16, 21
Treacherous Fox 7 17, 20
Center Master 7 19
Roc Master 7 18
Earth Chariot 8 1, 36
Vermillion Sparrow 8 35
Blue Dragon 8 2
Enchanted Badger 8 3, 34
Horseman 8 4, 33
Swooping Owl 8 5, 32
Climbing Monkey 8 6, 31
Cat Sword 8 7, 30
Swallow's Wings 8 8, 29
Blind Monkey 8 9, 28
Blind Tiger 8 10, 27
Ox Cart 8 11, 26
Side Flier 8 12, 25
Blind Bear 8 13, 24
Old Rat 8 14, 23
Square Mover 8 15, 22
Coiled Serpent 8 16, 21
Reclining Dragon 8 17, 20
Free Eagle 8 19
Lion Hawk 8 18
Chariot Soldier 9 1, 36
Side Soldier 9 2, 35
Vertical Soldier 9 3, 34
Wind General 9 4, 33
River General 9 5, 32
Mountain General 9 6, 31
Front Standard 9 7, 30
Horse Soldier 9 8, 29
Wood General 9 9, 28
Ox Soldier 9 10, 27
Earth General 9 11, 26
Boar Soldier 9 12, 25
Stone General 9 13, 24
Leopard Soldier 9 14, 23
Tile General 9 15, 22
Bear Soldier 9 16, 21
Iron General 9 17, 20
Great Standard 9 19
Great Master 9 18
Right Chariot 10 36
Left Chariot 10 1
Side Monkey 10 2, 35
Vertical Mover 10 3, 34
Flying Ox 10 4, 33
Longbow Soldier 10 5, 32
Vertical Pup 10 6, 31
Vertical Horse 10 7, 30
Burning Soldier 10 8, 29
Dragon Horse 10 9, 28
Dragon King 10 10, 27
Sword Soldier 10 11, 26
Horned Falcon 10 12, 25
Soaring Eagle 10 13, 24
Spear Soldier 10 14, 23
Vertical Leopard 10 15, 22
Savage Tiger 10 16, 21
Shortbow Soldier 10 17, 20
Roaring Dog 10 19
Lion Dog 10 18
Dog 12 6, 15, 22, 31,
Go-Between 12 11, 26
Pawn 11 1 through 36
# }}}
=cut
# }}}
# {{{ new
sub new {
my $proto = shift;
my $self = { pieces => $pieces };
bless $self, ref($proto) || $proto;
$self->{board} = $self->initial_board(\@board);
return $self }
# }}}
1;
__END__
=head1 NAME
Games::Shogi::Taikyoku - Piece descriptions and initial configuration for Taikyoku Shogi
=head1 SYNOPSIS
use Games::Shogi::Taikyoku;
$Game = Games::Shogi::Taikyoku->new;
$piece = $Game->board()->[3][7];
print @{$Game->neighbor($tl_piece);
print $Game->english_name('fidr'); # 'Fire Dragon'
=head1 DESCRIPTION
Taikyoku Shogi is thought to be the largest Shogi variant in existence, on a 36 x 36 grid with 402 pieces, 201 per side. This game contains such pieces as the Buddhist Spirit and an alternate version of the Fire Demon, which moves differently than the other games.
The embedded POD contains commentary including an English translation of the only known manual for the game, which may go some way to explaining the variety of pieces and movements.
=head1 SEE ALSO
L<perl>
=head1 AUTHOR
Jeffrey Goff, E<lt>jgoff@cpan.orgE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright 2004 by Jeffrey Goff
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut