shogi.js
Version:
simple shogi library for JavaScript
50 lines (49 loc) • 1.52 kB
JavaScript
exports.__esModule = true;
exports.isRawKind = exports.kindToString = exports.values = void 0;
var KindEnum;
(function (KindEnum) {
KindEnum[KindEnum["FU"] = 0] = "FU";
KindEnum[KindEnum["KY"] = 1] = "KY";
KindEnum[KindEnum["KE"] = 2] = "KE";
KindEnum[KindEnum["GI"] = 3] = "GI";
KindEnum[KindEnum["KI"] = 4] = "KI";
KindEnum[KindEnum["KA"] = 5] = "KA";
KindEnum[KindEnum["HI"] = 6] = "HI";
KindEnum[KindEnum["OU"] = 7] = "OU";
KindEnum[KindEnum["TO"] = 8] = "TO";
KindEnum[KindEnum["NY"] = 9] = "NY";
KindEnum[KindEnum["NK"] = 10] = "NK";
KindEnum[KindEnum["NG"] = 11] = "NG";
KindEnum[KindEnum["UM"] = 12] = "UM";
KindEnum[KindEnum["RY"] = 13] = "RY";
})(KindEnum || (KindEnum = {}));
var rawKinds = ["FU", "KY", "KE", "GI", "KI", "KA", "HI"];
// TODO: this needs type annotations
exports.values = Object.keys(KindEnum).filter(function (k) {
return Number.isNaN(parseInt(k));
});
function kindToString(kind, short) {
if (short === void 0) { short = false; }
return {
FU: "歩",
KY: "香",
KE: "桂",
GI: "銀",
KI: "金",
KA: "角",
HI: "飛",
OU: "玉",
TO: "と",
NY: short ? "杏" : "成香",
NK: short ? "圭" : "成桂",
NG: short ? "全" : "成銀",
UM: "馬",
RY: "龍"
}[kind];
}
exports.kindToString = kindToString;
function isRawKind(kind) {
return rawKinds.indexOf(kind) >= 0;
}
exports.isRawKind = isRawKind;
;