shogiops 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/compat.d.ts +1 -0
- package/dist/compat.d.ts.map +1 -1
- package/dist/compat.js +35 -1
- package/dist/compat.js.map +1 -1
- package/dist/handicaps.js +3 -3
- package/dist/sfen.d.ts.map +1 -1
- package/dist/sfen.js +12 -1
- package/dist/sfen.js.map +1 -1
- package/dist/variant/util.d.ts.map +1 -1
- package/dist/variant/util.js +55 -3
- package/dist/variant/util.js.map +1 -1
- package/package.json +9 -10
- package/src/compat.ts +35 -2
- package/src/handicaps.ts +3 -3
- package/src/sfen.ts +12 -1
- package/src/variant/util.ts +59 -3
package/dist/compat.d.ts
CHANGED
|
@@ -10,4 +10,5 @@ export declare function usiToSquareNames(usi: string | undefined): SquareName[];
|
|
|
10
10
|
export declare function moveToSquareNames(md: MoveOrDrop): SquareName[];
|
|
11
11
|
export declare function checksSquareNames(pos: Position): SquareName[];
|
|
12
12
|
export declare function scalashogiCharPair(md: MoveOrDrop, rules: Rules): string;
|
|
13
|
+
export declare function parseFairyUsi(usi: string, rules: Rules): MoveOrDrop | undefined;
|
|
13
14
|
//# sourceMappingURL=compat.d.ts.map
|
package/dist/compat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAY,UAAU,EAAE,SAAS,EAAE,KAAK,EAAU,UAAU,EAAE,MAAM,YAAY,CAAC;AAU7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,UAAU,EAAE,CAEnE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAUjF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAWhF;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,UAAU,GAChB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAQ/B;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,EAAE,CAItE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU,EAAE,CAM9D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,EAAE,CAE7D;AAGD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CA4BvE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,CA+B/E"}
|
package/dist/compat.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defined, isDrop, makeSquareName, parseSquareName, parseUsi, squareFile, squareRank, } from './util.js';
|
|
2
2
|
import { secondLionStepDests } from './variant/chushogi.js';
|
|
3
|
-
import { dimensions, fullSquareSet } from './variant/util.js';
|
|
3
|
+
import { dimensions, fullSquareSet, promote } from './variant/util.js';
|
|
4
4
|
export function squareSetToSquareNames(sqs) {
|
|
5
5
|
return Array.from(sqs, (s) => makeSquareName(s));
|
|
6
6
|
}
|
|
@@ -77,4 +77,38 @@ export function scalashogiCharPair(md, rules) {
|
|
|
77
77
|
return String.fromCharCode(from, to);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
+
export function parseFairyUsi(usi, rules) {
|
|
81
|
+
// drops: +N*3b == G*3b
|
|
82
|
+
// moves: 1a1b- == 1a1b+
|
|
83
|
+
if (rules === 'kyotoshogi') {
|
|
84
|
+
if (usi[0] === '+') {
|
|
85
|
+
const dropUnpromoted = parseUsi(usi.slice(1));
|
|
86
|
+
if (dropUnpromoted) {
|
|
87
|
+
const promotedRole = promote('kyotoshogi')(dropUnpromoted.role);
|
|
88
|
+
if (promotedRole)
|
|
89
|
+
return { role: promotedRole, to: dropUnpromoted.to };
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else if (usi.includes('-'))
|
|
93
|
+
return parseUsi(`${usi.slice(0, -1)}+`);
|
|
94
|
+
}
|
|
95
|
+
// drops: C*2b == P*2b
|
|
96
|
+
else if (rules === 'dobutsu') {
|
|
97
|
+
const roles = {
|
|
98
|
+
g: 'r',
|
|
99
|
+
G: 'R',
|
|
100
|
+
l: 'k',
|
|
101
|
+
L: 'K',
|
|
102
|
+
e: 'b',
|
|
103
|
+
E: 'B',
|
|
104
|
+
c: 'p',
|
|
105
|
+
C: 'P',
|
|
106
|
+
};
|
|
107
|
+
if (usi[1] === '*') {
|
|
108
|
+
const role = usi[0];
|
|
109
|
+
return parseUsi(`${roles[role] || role}${usi.slice(1)}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return parseUsi(usi);
|
|
113
|
+
}
|
|
80
114
|
//# sourceMappingURL=compat.js.map
|
package/dist/compat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,GACX,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"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"}
|
package/dist/handicaps.js
CHANGED
|
@@ -27,7 +27,7 @@ const standardHandicaps = [
|
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
sfen: '1nsgkgsn1/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL w - 1',
|
|
30
|
-
japaneseName: '
|
|
30
|
+
japaneseName: '両香落ち',
|
|
31
31
|
englishName: 'Both Lance',
|
|
32
32
|
},
|
|
33
33
|
{
|
|
@@ -117,7 +117,7 @@ const standardHandicaps = [
|
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
119
|
sfen: 'lnsgkgsnl/1r5b1/p1ppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL w - 1',
|
|
120
|
-
japaneseName: '
|
|
120
|
+
japaneseName: '太閤将棋',
|
|
121
121
|
englishName: 'Taiko',
|
|
122
122
|
},
|
|
123
123
|
{
|
|
@@ -127,7 +127,7 @@ const standardHandicaps = [
|
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
129
|
sfen: '1nsgkgsn1/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL w 2L 1',
|
|
130
|
-
japaneseName: '
|
|
130
|
+
japaneseName: '両香得',
|
|
131
131
|
englishName: 'Two Lance Gained',
|
|
132
132
|
},
|
|
133
133
|
{
|
package/dist/sfen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sfen.d.ts","sourceRoot":"","sources":["../src/sfen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAqB,KAAK,EAAE,IAAI,EAAE,KAAK,EAAU,MAAM,YAAY,CAAC;AAEhF,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AACX,qBAAa,SAAU,SAAQ,KAAK;CAAG;AAEvC,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAehD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,SAAS,CAa9E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAa7E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAMjF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,KAAK,GAAG,SAAS,CAK7E;AAYD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAqCxF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"sfen.d.ts","sourceRoot":"","sources":["../src/sfen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAqB,KAAK,EAAE,IAAI,EAAE,KAAK,EAAU,MAAM,YAAY,CAAC;AAEhF,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AACX,qBAAa,SAAU,SAAQ,KAAK;CAAG;AAEvC,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAehD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,SAAS,CAa9E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAa7E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAMjF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,KAAK,GAAG,SAAS,CAK7E;AAYD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAqCxF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAqBpF;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,YAAY,EACpD,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,GACf,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,CAiDpD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CA2BhE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAQ7D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAKhE;AAMD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAO9C"}
|
package/dist/sfen.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Result } from '@badrap/result';
|
|
|
2
2
|
import { Board } from './board.js';
|
|
3
3
|
import { Hands } from './hands.js';
|
|
4
4
|
import { defined, makeSquareName, parseCoordinates, parseSquareName, toBW } from './util.js';
|
|
5
|
-
import { dimensions, handRoles } from './variant/util.js';
|
|
5
|
+
import { dimensions, handRoles, unpromote } from './variant/util.js';
|
|
6
6
|
import { initializePosition } from './variant/variant.js';
|
|
7
7
|
export const InvalidSfen = {
|
|
8
8
|
Sfen: 'ERR_SFEN',
|
|
@@ -143,6 +143,8 @@ export function parseHands(rules, handsPart) {
|
|
|
143
143
|
const piece = forsythToPiece(rules)(handsPart[i]);
|
|
144
144
|
if (!piece)
|
|
145
145
|
return Result.err(new SfenError(InvalidSfen.Hands));
|
|
146
|
+
if (rules === 'kyotoshogi' && !handRoles(rules).includes(piece.role))
|
|
147
|
+
piece.role = unpromote(rules)(piece.role) || piece.role;
|
|
146
148
|
count += hands[piece.color].get(piece.role);
|
|
147
149
|
hands[piece.color].set(piece.role, count);
|
|
148
150
|
}
|
|
@@ -563,16 +565,20 @@ function kyotoshogiForsythToRole(ch) {
|
|
|
563
565
|
case 'p':
|
|
564
566
|
return 'pawn';
|
|
565
567
|
case 'r':
|
|
568
|
+
case '+p':
|
|
566
569
|
return 'rook';
|
|
567
570
|
case 's':
|
|
568
571
|
return 'silver';
|
|
569
572
|
case 'b':
|
|
573
|
+
case '+s':
|
|
570
574
|
return 'bishop';
|
|
571
575
|
case 'g':
|
|
576
|
+
case '+n':
|
|
572
577
|
return 'gold';
|
|
573
578
|
case 'n':
|
|
574
579
|
return 'knight';
|
|
575
580
|
case 't':
|
|
581
|
+
case '+l':
|
|
576
582
|
return 'tokin';
|
|
577
583
|
case 'l':
|
|
578
584
|
return 'lance';
|
|
@@ -599,14 +605,19 @@ function dobutsuRoleToForsyth(role) {
|
|
|
599
605
|
function dobutsuForsythToRole(ch) {
|
|
600
606
|
switch (ch.toLowerCase()) {
|
|
601
607
|
case 'k':
|
|
608
|
+
case 'l': // lion
|
|
602
609
|
return 'king';
|
|
603
610
|
case 'p':
|
|
611
|
+
case 'c': // chick
|
|
604
612
|
return 'pawn';
|
|
605
613
|
case 'r':
|
|
614
|
+
case 'g': // giraffe
|
|
606
615
|
return 'rook';
|
|
607
616
|
case 'b':
|
|
617
|
+
case 'e': // elephant
|
|
608
618
|
return 'bishop';
|
|
609
619
|
case '+p':
|
|
620
|
+
case '+c':
|
|
610
621
|
return 'tokin';
|
|
611
622
|
default:
|
|
612
623
|
return;
|
package/dist/sfen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sfen.js","sourceRoot":"","sources":["../src/sfen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sfen.js","sourceRoot":"","sources":["../src/sfen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/variant/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGjF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,GACX,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,SAAS,KAAK,OAAO,CAoBjF;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAqBrF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAOxE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,CA+E7C;AAGD,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,CAa9C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,CAgCpD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAcrD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/variant/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGjF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,GACX,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,SAAS,KAAK,OAAO,CAoBjF;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAqBrF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAOxE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,CA+E7C;AAGD,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,CAa9C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,CAgCpD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAcrD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,SAAS,CAatE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,SAAS,CAaxE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAyBvE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAYnD"}
|
package/dist/variant/util.js
CHANGED
|
@@ -194,8 +194,12 @@ export function promote(rules) {
|
|
|
194
194
|
switch (rules) {
|
|
195
195
|
case 'chushogi':
|
|
196
196
|
return chuushogiPromote;
|
|
197
|
+
case 'minishogi':
|
|
198
|
+
return minishogiPromote;
|
|
197
199
|
case 'kyotoshogi':
|
|
198
|
-
return
|
|
200
|
+
return kyotoshogiPromote;
|
|
201
|
+
case 'dobutsu':
|
|
202
|
+
return dobutsuPromote;
|
|
199
203
|
default:
|
|
200
204
|
return standardPromote;
|
|
201
205
|
}
|
|
@@ -204,8 +208,12 @@ export function unpromote(rules) {
|
|
|
204
208
|
switch (rules) {
|
|
205
209
|
case 'chushogi':
|
|
206
210
|
return chuushogiUnpromote;
|
|
211
|
+
case 'minishogi':
|
|
212
|
+
return minishogiUnpromote;
|
|
207
213
|
case 'kyotoshogi':
|
|
208
|
-
return
|
|
214
|
+
return kyotoshogiPromote;
|
|
215
|
+
case 'dobutsu':
|
|
216
|
+
return dobutsuUnpromote;
|
|
209
217
|
default:
|
|
210
218
|
return standardUnpromote;
|
|
211
219
|
}
|
|
@@ -281,6 +289,34 @@ function standardUnpromote(role) {
|
|
|
281
289
|
return;
|
|
282
290
|
}
|
|
283
291
|
}
|
|
292
|
+
function minishogiPromote(role) {
|
|
293
|
+
switch (role) {
|
|
294
|
+
case 'pawn':
|
|
295
|
+
return 'tokin';
|
|
296
|
+
case 'silver':
|
|
297
|
+
return 'promotedsilver';
|
|
298
|
+
case 'bishop':
|
|
299
|
+
return 'horse';
|
|
300
|
+
case 'rook':
|
|
301
|
+
return 'dragon';
|
|
302
|
+
default:
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
function minishogiUnpromote(role) {
|
|
307
|
+
switch (role) {
|
|
308
|
+
case 'tokin':
|
|
309
|
+
return 'pawn';
|
|
310
|
+
case 'promotedsilver':
|
|
311
|
+
return 'silver';
|
|
312
|
+
case 'horse':
|
|
313
|
+
return 'bishop';
|
|
314
|
+
case 'dragon':
|
|
315
|
+
return 'rook';
|
|
316
|
+
default:
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
284
320
|
function chuushogiPromote(role) {
|
|
285
321
|
switch (role) {
|
|
286
322
|
case 'pawn':
|
|
@@ -365,7 +401,7 @@ function chuushogiUnpromote(role) {
|
|
|
365
401
|
return;
|
|
366
402
|
}
|
|
367
403
|
}
|
|
368
|
-
function
|
|
404
|
+
function kyotoshogiPromote(role) {
|
|
369
405
|
switch (role) {
|
|
370
406
|
case 'rook':
|
|
371
407
|
return 'pawn';
|
|
@@ -387,4 +423,20 @@ function kyotoPromote(role) {
|
|
|
387
423
|
return;
|
|
388
424
|
}
|
|
389
425
|
}
|
|
426
|
+
function dobutsuPromote(role) {
|
|
427
|
+
switch (role) {
|
|
428
|
+
case 'pawn':
|
|
429
|
+
return 'tokin';
|
|
430
|
+
default:
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
function dobutsuUnpromote(role) {
|
|
435
|
+
switch (role) {
|
|
436
|
+
case 'tokin':
|
|
437
|
+
return 'pawn';
|
|
438
|
+
default:
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
390
442
|
//# sourceMappingURL=util.js.map
|
package/dist/variant/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/variant/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/variant/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shogiops",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "Shogi rules and operations",
|
|
5
5
|
"author": "Niklas Fiekas (chessops), WandererXII (shogiops)",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|
|
@@ -32,22 +32,21 @@
|
|
|
32
32
|
"@badrap/result": "^0.3.1"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@biomejs/biome": "2.3.
|
|
35
|
+
"@biomejs/biome": "^2.3.15",
|
|
36
|
+
"@typescript/native-preview": "7.0.0-dev.20260213.1",
|
|
36
37
|
"del-cli": "^7.0.0",
|
|
37
|
-
"oxlint": "^1.
|
|
38
|
-
"oxlint-tsgolint": "0.
|
|
38
|
+
"oxlint": "^1.47.0",
|
|
39
|
+
"oxlint-tsgolint": "^0.12.2",
|
|
39
40
|
"typescript": "^5.9.3",
|
|
40
|
-
"
|
|
41
|
-
"vitest": "^4.0.16"
|
|
41
|
+
"vitest": "^4.0.18"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
|
-
"
|
|
45
|
-
"prepare": "$npm_execpath run clean && $npm_execpath run compile",
|
|
44
|
+
"prepublishOnly": "$npm_execpath run clean && $npm_execpath run compile",
|
|
46
45
|
"clean": "del dist && del *.tsbuildinfo",
|
|
47
46
|
"compile": "tsc",
|
|
48
47
|
"type-check": "tsgo --noEmit && tsc --noEmit",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
48
|
+
"check": "biome check && oxlint --type-aware",
|
|
49
|
+
"test": "vitest --config test/vitest.config.ts"
|
|
51
50
|
},
|
|
52
51
|
"files": [
|
|
53
52
|
"dist",
|
package/src/compat.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SquareSet } from './square-set.js';
|
|
2
|
-
import type { MoveOrDrop, PieceName, Rules, Square, SquareName } from './types.js';
|
|
2
|
+
import type { DropMove, MoveOrDrop, PieceName, Rules, Square, SquareName } from './types.js';
|
|
3
3
|
import {
|
|
4
4
|
defined,
|
|
5
5
|
isDrop,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import type { Chushogi } from './variant/chushogi.js';
|
|
13
13
|
import { secondLionStepDests } from './variant/chushogi.js';
|
|
14
14
|
import type { Position } from './variant/position.js';
|
|
15
|
-
import { dimensions, fullSquareSet } from './variant/util.js';
|
|
15
|
+
import { dimensions, fullSquareSet, promote } from './variant/util.js';
|
|
16
16
|
|
|
17
17
|
export function squareSetToSquareNames(sqs: SquareSet): SquareName[] {
|
|
18
18
|
return Array.from(sqs, (s) => makeSquareName(s));
|
|
@@ -105,3 +105,36 @@ export function scalashogiCharPair(md: MoveOrDrop, rules: Rules): string {
|
|
|
105
105
|
else return String.fromCharCode(from, to);
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
+
|
|
109
|
+
export function parseFairyUsi(usi: string, rules: Rules): MoveOrDrop | undefined {
|
|
110
|
+
// drops: +N*3b == G*3b
|
|
111
|
+
// moves: 1a1b- == 1a1b+
|
|
112
|
+
if (rules === 'kyotoshogi') {
|
|
113
|
+
if (usi[0] === '+') {
|
|
114
|
+
const dropUnpromoted = parseUsi(usi.slice(1)) as DropMove | undefined;
|
|
115
|
+
if (dropUnpromoted) {
|
|
116
|
+
const promotedRole = promote('kyotoshogi')(dropUnpromoted.role);
|
|
117
|
+
if (promotedRole) return { role: promotedRole, to: dropUnpromoted.to };
|
|
118
|
+
}
|
|
119
|
+
} else if (usi.includes('-')) return parseUsi(`${usi.slice(0, -1)}+`);
|
|
120
|
+
}
|
|
121
|
+
// drops: C*2b == P*2b
|
|
122
|
+
else if (rules === 'dobutsu') {
|
|
123
|
+
const roles: Record<string, string> = {
|
|
124
|
+
g: 'r',
|
|
125
|
+
G: 'R',
|
|
126
|
+
l: 'k',
|
|
127
|
+
L: 'K',
|
|
128
|
+
e: 'b',
|
|
129
|
+
E: 'B',
|
|
130
|
+
c: 'p',
|
|
131
|
+
C: 'P',
|
|
132
|
+
};
|
|
133
|
+
if (usi[1] === '*') {
|
|
134
|
+
const role = usi[0];
|
|
135
|
+
return parseUsi(`${roles[role] || role}${usi.slice(1)}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return parseUsi(usi);
|
|
140
|
+
}
|
package/src/handicaps.ts
CHANGED
|
@@ -33,7 +33,7 @@ const standardHandicaps: Omit<Handicap, 'rules'>[] = [
|
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
sfen: '1nsgkgsn1/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL w - 1',
|
|
36
|
-
japaneseName: '
|
|
36
|
+
japaneseName: '両香落ち',
|
|
37
37
|
englishName: 'Both Lance',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
@@ -123,7 +123,7 @@ const standardHandicaps: Omit<Handicap, 'rules'>[] = [
|
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
125
|
sfen: 'lnsgkgsnl/1r5b1/p1ppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL w - 1',
|
|
126
|
-
japaneseName: '
|
|
126
|
+
japaneseName: '太閤将棋',
|
|
127
127
|
englishName: 'Taiko',
|
|
128
128
|
},
|
|
129
129
|
{
|
|
@@ -133,7 +133,7 @@ const standardHandicaps: Omit<Handicap, 'rules'>[] = [
|
|
|
133
133
|
},
|
|
134
134
|
{
|
|
135
135
|
sfen: '1nsgkgsn1/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL w 2L 1',
|
|
136
|
-
japaneseName: '
|
|
136
|
+
japaneseName: '両香得',
|
|
137
137
|
englishName: 'Two Lance Gained',
|
|
138
138
|
},
|
|
139
139
|
{
|
package/src/sfen.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { Hands } from './hands.js';
|
|
|
5
5
|
import type { Color, MoveOrDrop, Piece, Role, Rules, Square } from './types.js';
|
|
6
6
|
import { defined, makeSquareName, parseCoordinates, parseSquareName, toBW } from './util.js';
|
|
7
7
|
import type { Position, PositionError } from './variant/position.js';
|
|
8
|
-
import { dimensions, handRoles } from './variant/util.js';
|
|
8
|
+
import { dimensions, handRoles, unpromote } from './variant/util.js';
|
|
9
9
|
import type { RulesTypeMap } from './variant/variant.js';
|
|
10
10
|
import { initializePosition } from './variant/variant.js';
|
|
11
11
|
|
|
@@ -145,6 +145,8 @@ export function parseHands(rules: Rules, handsPart: string): Result<Hands, SfenE
|
|
|
145
145
|
} else count = 1;
|
|
146
146
|
const piece = forsythToPiece(rules)(handsPart[i]);
|
|
147
147
|
if (!piece) return Result.err(new SfenError(InvalidSfen.Hands));
|
|
148
|
+
if (rules === 'kyotoshogi' && !handRoles(rules).includes(piece.role))
|
|
149
|
+
piece.role = unpromote(rules)(piece.role) || piece.role;
|
|
148
150
|
count += hands[piece.color].get(piece.role);
|
|
149
151
|
hands[piece.color].set(piece.role, count);
|
|
150
152
|
}
|
|
@@ -591,16 +593,20 @@ function kyotoshogiForsythToRole(ch: string): Role | undefined {
|
|
|
591
593
|
case 'p':
|
|
592
594
|
return 'pawn';
|
|
593
595
|
case 'r':
|
|
596
|
+
case '+p':
|
|
594
597
|
return 'rook';
|
|
595
598
|
case 's':
|
|
596
599
|
return 'silver';
|
|
597
600
|
case 'b':
|
|
601
|
+
case '+s':
|
|
598
602
|
return 'bishop';
|
|
599
603
|
case 'g':
|
|
604
|
+
case '+n':
|
|
600
605
|
return 'gold';
|
|
601
606
|
case 'n':
|
|
602
607
|
return 'knight';
|
|
603
608
|
case 't':
|
|
609
|
+
case '+l':
|
|
604
610
|
return 'tokin';
|
|
605
611
|
case 'l':
|
|
606
612
|
return 'lance';
|
|
@@ -629,14 +635,19 @@ function dobutsuRoleToForsyth(role: Role): string | undefined {
|
|
|
629
635
|
function dobutsuForsythToRole(ch: string): Role | undefined {
|
|
630
636
|
switch (ch.toLowerCase()) {
|
|
631
637
|
case 'k':
|
|
638
|
+
case 'l': // lion
|
|
632
639
|
return 'king';
|
|
633
640
|
case 'p':
|
|
641
|
+
case 'c': // chick
|
|
634
642
|
return 'pawn';
|
|
635
643
|
case 'r':
|
|
644
|
+
case 'g': // giraffe
|
|
636
645
|
return 'rook';
|
|
637
646
|
case 'b':
|
|
647
|
+
case 'e': // elephant
|
|
638
648
|
return 'bishop';
|
|
639
649
|
case '+p':
|
|
650
|
+
case '+c':
|
|
640
651
|
return 'tokin';
|
|
641
652
|
default:
|
|
642
653
|
return;
|
package/src/variant/util.ts
CHANGED
|
@@ -208,8 +208,12 @@ export function promote(rules: Rules): (role: Role) => Role | undefined {
|
|
|
208
208
|
switch (rules) {
|
|
209
209
|
case 'chushogi':
|
|
210
210
|
return chuushogiPromote;
|
|
211
|
+
case 'minishogi':
|
|
212
|
+
return minishogiPromote;
|
|
211
213
|
case 'kyotoshogi':
|
|
212
|
-
return
|
|
214
|
+
return kyotoshogiPromote;
|
|
215
|
+
case 'dobutsu':
|
|
216
|
+
return dobutsuPromote;
|
|
213
217
|
default:
|
|
214
218
|
return standardPromote;
|
|
215
219
|
}
|
|
@@ -219,8 +223,12 @@ export function unpromote(rules: Rules): (role: Role) => Role | undefined {
|
|
|
219
223
|
switch (rules) {
|
|
220
224
|
case 'chushogi':
|
|
221
225
|
return chuushogiUnpromote;
|
|
226
|
+
case 'minishogi':
|
|
227
|
+
return minishogiUnpromote;
|
|
222
228
|
case 'kyotoshogi':
|
|
223
|
-
return
|
|
229
|
+
return kyotoshogiPromote;
|
|
230
|
+
case 'dobutsu':
|
|
231
|
+
return dobutsuUnpromote;
|
|
224
232
|
default:
|
|
225
233
|
return standardUnpromote;
|
|
226
234
|
}
|
|
@@ -305,6 +313,36 @@ function standardUnpromote(role: Role): Role | undefined {
|
|
|
305
313
|
}
|
|
306
314
|
}
|
|
307
315
|
|
|
316
|
+
function minishogiPromote(role: Role): Role | undefined {
|
|
317
|
+
switch (role) {
|
|
318
|
+
case 'pawn':
|
|
319
|
+
return 'tokin';
|
|
320
|
+
case 'silver':
|
|
321
|
+
return 'promotedsilver';
|
|
322
|
+
case 'bishop':
|
|
323
|
+
return 'horse';
|
|
324
|
+
case 'rook':
|
|
325
|
+
return 'dragon';
|
|
326
|
+
default:
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
function minishogiUnpromote(role: Role): Role | undefined {
|
|
332
|
+
switch (role) {
|
|
333
|
+
case 'tokin':
|
|
334
|
+
return 'pawn';
|
|
335
|
+
case 'promotedsilver':
|
|
336
|
+
return 'silver';
|
|
337
|
+
case 'horse':
|
|
338
|
+
return 'bishop';
|
|
339
|
+
case 'dragon':
|
|
340
|
+
return 'rook';
|
|
341
|
+
default:
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
|
|
308
346
|
function chuushogiPromote(role: Role): Role | undefined {
|
|
309
347
|
switch (role) {
|
|
310
348
|
case 'pawn':
|
|
@@ -391,7 +429,7 @@ function chuushogiUnpromote(role: Role): Role | undefined {
|
|
|
391
429
|
}
|
|
392
430
|
}
|
|
393
431
|
|
|
394
|
-
function
|
|
432
|
+
function kyotoshogiPromote(role: Role): Role | undefined {
|
|
395
433
|
switch (role) {
|
|
396
434
|
case 'rook':
|
|
397
435
|
return 'pawn';
|
|
@@ -413,3 +451,21 @@ function kyotoPromote(role: Role): Role | undefined {
|
|
|
413
451
|
return;
|
|
414
452
|
}
|
|
415
453
|
}
|
|
454
|
+
|
|
455
|
+
function dobutsuPromote(role: Role): Role | undefined {
|
|
456
|
+
switch (role) {
|
|
457
|
+
case 'pawn':
|
|
458
|
+
return 'tokin';
|
|
459
|
+
default:
|
|
460
|
+
return;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
function dobutsuUnpromote(role: Role): Role | undefined {
|
|
465
|
+
switch (role) {
|
|
466
|
+
case 'tokin':
|
|
467
|
+
return 'pawn';
|
|
468
|
+
default:
|
|
469
|
+
return;
|
|
470
|
+
}
|
|
471
|
+
}
|