projects
/
xogo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix FenUtil.setupPieces and Antiking variants
[xogo.git]
/
variants
/
Antiking1
/
class.js
diff --git
a/variants/Antiking1/class.js
b/variants/Antiking1/class.js
index
9b8af78
..
d536680
100644
(file)
--- a/
variants/Antiking1/class.js
+++ b/
variants/Antiking1/class.js
@@
-1,5
+1,6
@@
import ChessRules from "/base_rules.js";
import AbstractAntikingRules from "/variants/_Antiking/class.js";
import ChessRules from "/base_rules.js";
import AbstractAntikingRules from "/variants/_Antiking/class.js";
+import BerolinaPawnSpec from "/variants/_Berolina/pawnSpec.js";
export default class Antiking1Rules extends AbstractAntikingRules {
export default class Antiking1Rules extends AbstractAntikingRules {
@@
-11,45
+12,36
@@
export default class Antiking1Rules extends AbstractAntikingRules {
}
pieces(color, x, y) {
}
pieces(color, x, y) {
- const pawnShift = (color == "w" ? -1 : 1);
let res = super.pieces(color, x, y);
let res = super.pieces(color, x, y);
- res['p'].moves = [
- {
- steps: [[pawnShift, 1], [pawnShift, -1]],
- range: 1
- }
- ];
- res['p'].attack = [
- {
- steps: [[pawnShift, 0]],
- range: 1
- }
- ];
+ res['p'] = BerolinaPawnSpec(color);
return res;
}
return res;
}
- genRandInitFen() {
+ genRandInit
Base
Fen() {
// Always deterministic setup
// Always deterministic setup
- return
(
- '2prbkqA/2p1nnbr/2pppppp/8/8/PPPPPP2/RBNN1P2/aQKBRP2 w 0 ' +
- '{"flags":"KAka"}'
-
)
;
+ return
{
+ fen: "2prbkqA/2p1nnbr/2pppppp/8/8/PPPPPP2/RBNN1P2/aQKBRP2",
+ o: {"flags": "KAka"}
+
}
;
}
// (Anti)King flags at 1 (true) if they can knight-jump
}
// (Anti)King flags at 1 (true) if they can knight-jump
- setFlags(fen
F
lags) {
+ setFlags(fen
f
lags) {
this.kingFlags = { w: {}, b: {} };
this.kingFlags = { w: {}, b: {} };
- for (let i=0; i<fen
F
lags.length; i++) {
- const white = fen
F
lags.charCodeAt(i) <= 90;
- const curChar = fen
F
lags.charAt(i).toLowerCase();
+ for (let i=0; i<fen
f
lags.length; i++) {
+ const white = fen
f
lags.charCodeAt(i) <= 90;
+ const curChar = fen
f
lags.charAt(i).toLowerCase();
this.kingFlags[white ? 'w' : 'b'][curChar] = true;
}
}
getFlagsFen() {
return (
this.kingFlags[white ? 'w' : 'b'][curChar] = true;
}
}
getFlagsFen() {
return (
- Array.prototype.concat.apply(
- ['w', 'b'].map(c => Object.keys(this.kingFlags[c]))
+ Array.prototype.concat.apply([],
+ ['w', 'b'].map(c => {
+ const res = Object.keys(this.kingFlags[c]).join("");
+ return (c == 'w' ? res.toUpperCase() : res);
+ })
).join("")
);
}
).join("")
);
}