projects
/
xogo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some improvements. Testing variants: Baroque has some issues
[xogo.git]
/
variants
/
Balaklava
/
class.js
diff --git
a/variants/Balaklava/class.js
b/variants/Balaklava/class.js
index
2922b02
..
1ee2dd7
100644
(file)
--- a/
variants/Balaklava/class.js
+++ b/
variants/Balaklava/class.js
@@
-1,4
+1,5
@@
import ChessRules from "/base_rules.js";
import ChessRules from "/base_rules.js";
+import {FenUtil} from "/utils/setupPieces.js";
export default class BalaklavaRules extends ChessRules {
export default class BalaklavaRules extends ChessRules {
@@
-12,7
+13,7
@@
export default class BalaklavaRules extends ChessRules {
pieces(color, x, y) {
let res = super.pieces(color, x, y);
pieces(color, x, y) {
let res = super.pieces(color, x, y);
- const knightSpec
= res['n']
;
+ const knightSpec
Moves = res['n'].both
;
delete res['n'];
res['m'] = {
"class": "mammoth",
delete res['n'];
res['m'] = {
"class": "mammoth",
@@
-27,15
+28,26
@@
export default class BalaklavaRules extends ChessRules {
}
]
};
}
]
};
- ['p', 'r', 'b', 'm', 'q'].forEach(p => res[p].moves = knightSpec.moves);
+ ['p', 'r', 'b', 'm', 'q'].forEach(p => {
+ if (!res[p].moves)
+ res[p].moves = [];
+ Array.prototype.push.apply(res[p].moves, knightSpecMoves);
+ });
return res;
}
genRandInitBaseFen() {
return res;
}
genRandInitBaseFen() {
- const baseFen = super.genRandInitBaseFen();
+ const s = FenUtil.setupPieces(
+ ['r', 'm', 'b', 'q', 'k', 'b', 'm', 'r'],
+ {
+ randomness: this.options["randomness"],
+ diffCol: ['b']
+ }
+ );
return {
return {
- fen: baseFen.fen.replace(/n/g, 'm').replace(/N/g, 'M'),
- o: baseFen.o
+ fen: s.b.join("") + "/pppppppp/8/8/8/8/PPPPPPPP/" +
+ s.w.join("").toUpperCase(),
+ o: {flags: s.flags}
};
}
};
}