projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Attempt to fix 8-pieces random symmetric mode
[vchess.git]
/
client
/
src
/
variants
/
Omega.js
diff --git
a/client/src/variants/Omega.js
b/client/src/variants/Omega.js
index
a4276ed
..
29b58e5
100644
(file)
--- a/
client/src/variants/Omega.js
+++ b/
client/src/variants/Omega.js
@@
-140,8
+140,8
@@
export class OmegaRules extends ChessRules {
);
}
);
}
- static GenRandInitFen(
randomnes
s) {
- if (randomness == 0) {
+ static GenRandInitFen(
option
s) {
+ if (
options.
randomness == 0) {
return (
"wxxxxxxxxxxw/xcrnbqkbnrcx/xppppppppppx/x91x/x91x/x91x/" +
"x91x/x91x/x91x/xPPPPPPPPPPx/xCRNBQKBNRCx/WxxxxxxxxxxW " +
return (
"wxxxxxxxxxxw/xcrnbqkbnrcx/xppppppppppx/x91x/x91x/x91x/" +
"x91x/x91x/x91x/xPPPPPPPPPPx/xCRNBQKBNRCx/WxxxxxxxxxxW " +
@@
-153,7
+153,7
@@
export class OmegaRules extends ChessRules {
let flags = "";
// Shuffle pieces on first (and last rank if randomness == 2)
for (let c of ["w", "b"]) {
let flags = "";
// Shuffle pieces on first (and last rank if randomness == 2)
for (let c of ["w", "b"]) {
- if (c == 'b' && randomness == 1) {
+ if (c == 'b' &&
options.
randomness == 1) {
pieces['b'] = pieces['w'];
flags += flags;
break;
pieces['b'] = pieces['w'];
flags += flags;
break;
@@
-309,28
+309,22
@@
export class OmegaRules extends ChessRules {
return moves;
}
return moves;
}
- addPawnMoves([x1, y1], [x2, y2], moves, promotions) {
- let finalPieces = [V.PAWN];
+ addPawnMoves([x1, y1], [x2, y2], moves) {
const color = this.turn;
const lastRank = (color == "w" ? 1 : V.size.x - 2);
const color = this.turn;
const lastRank = (color == "w" ? 1 : V.size.x - 2);
- if (x2 == lastRank) {
- // promotions arg: special override for Hiddenqueen variant
- if (!!promotions) finalPieces = promotions;
- else if (!!V.PawnSpecs.promotions) finalPieces = V.PawnSpecs.promotions;
- }
- let tr = null;
+ const finalPieces = (x2 == lastRank ? V.PawnSpecs.promotions : [V.PAWN]);
for (let piece of finalPieces) {
for (let piece of finalPieces) {
- tr = (piece != V.PAWN ? { c: color, p: piece } : null);
+
const
tr = (piece != V.PAWN ? { c: color, p: piece } : null);
moves.push(this.getBasicMove([x1, y1], [x2, y2], tr));
}
}
getPotentialChampionMoves(sq) {
moves.push(this.getBasicMove([x1, y1], [x2, y2], tr));
}
}
getPotentialChampionMoves(sq) {
- return this.getSlideNJumpMoves(sq, V.steps[V.CHAMPION],
"oneStep"
);
+ return this.getSlideNJumpMoves(sq, V.steps[V.CHAMPION],
1
);
}
getPotentialWizardMoves(sq) {
}
getPotentialWizardMoves(sq) {
- return this.getSlideNJumpMoves(sq, V.steps[V.WIZARD],
"oneStep"
);
+ return this.getSlideNJumpMoves(sq, V.steps[V.WIZARD],
1
);
}
getCastleMoves([x, y]) {
}
getCastleMoves([x, y]) {
@@
-352,14
+346,14
@@
export class OmegaRules extends ChessRules {
isAttackedByWizard(sq, color) {
return (
this.isAttackedBySlideNJump(
isAttackedByWizard(sq, color) {
return (
this.isAttackedBySlideNJump(
- sq, color, V.WIZARD, V.steps[V.WIZARD],
"oneStep"
)
+ sq, color, V.WIZARD, V.steps[V.WIZARD],
1
)
);
}
isAttackedByChampion(sq, color) {
return (
this.isAttackedBySlideNJump(
);
}
isAttackedByChampion(sq, color) {
return (
this.isAttackedBySlideNJump(
- sq, color, V.CHAMPION, V.steps[V.CHAMPION],
"oneStep"
)
+ sq, color, V.CHAMPION, V.steps[V.CHAMPION],
1
)
);
}
);
}