{label: "Random", value: 1}
]
}],
+ input: [
+ {
+ label: "Pawn first",
+ variable: "pawnfirst",
+ type: "checkbox",
+ defaut: false
+ }
+ ],
styles: ["atomic", "capture", "cylinder"]
};
}
genRandInitBaseFen() {
let baseFen = super.genRandInitBaseFen();
- return { fen: baseFen.fen.replace("rnbqkbnr/pppppppp", "4k3/8"), o: {} };
- }
-
- getPartFen(o) {
- let parts = super.getPartFen(o);
- parts["flags"] = parts["flags"].substr(0, 2) + "88";
- return parts;
+ return {
+ fen: baseFen.fen.replace("rnbqkbnr/pppppppp", "4k3/8"),
+ o: {flags: baseFen.o.flags.substr(0, 2) + "88"}
+ };
}
initReserves() {
// Just do not update any reserve (infinite supply)
updateReserve() {}
- getCurrentScore(move) {
- const score = super.getCurrentScore(move);
+ canDrop([c, p], [i, j]) {
+ return (
+ this.board[i][j] == "" &&
+ (
+ p != "p" || this.options["pawnfirst"] ||
+ (c == 'w' && i < this.size.x - 1) ||
+ (c == 'b' && i > 0)
+ )
+ );
+ }
+
+ getCurrentScore(move_s) {
+ const score = super.getCurrentScore(move_s);
if (score != "*")
return score;
// Check pawns connection: