projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix Checkered init FEN
[vchess.git]
/
client
/
src
/
variants
/
Hiddenqueen.js
diff --git
a/client/src/variants/Hiddenqueen.js
b/client/src/variants/Hiddenqueen.js
index
0cf0967
..
1ce85be
100644
(file)
--- a/
client/src/variants/Hiddenqueen.js
+++ b/
client/src/variants/Hiddenqueen.js
@@
-152,8
+152,8
@@
export class HiddenqueenRules extends ChessRules {
return this.filterValid(this.getPotentialMovesFrom(sq));
}
return this.filterValid(this.getPotentialMovesFrom(sq));
}
- static GenRandInitFen(
randomnes
s) {
- let fen = ChessRules.GenRandInitFen(
randomnes
s);
+ static GenRandInitFen(
option
s) {
+ let fen = ChessRules.GenRandInitFen(
option
s);
// Place hidden queens at random (always):
let hiddenQueenPos = randInt(8);
let pawnRank = "PPPPPPPP".split("");
// Place hidden queens at random (always):
let hiddenQueenPos = randInt(8);
let pawnRank = "PPPPPPPP".split("");
@@
-190,8
+190,12
@@
export class HiddenqueenRules extends ChessRules {
const color = this.turn;
if (this.kingPos[color][0] < 0)
// King disappeared
const color = this.turn;
if (this.kingPos[color][0] < 0)
// King disappeared
- return color == "w" ? "0-1" : "1-0";
- return super.getCurrentScore();
+ return (color == "w" ? "0-1" : "1-0");
+ const oldSide = this.side;
+ this.side = color;
+ const res = super.getCurrentScore();
+ this.side = oldSide;
+ return res;
}
// Search is biased, so not really needed to explore deeply
}
// Search is biased, so not really needed to explore deeply
@@
-213,7
+217,7
@@
export class HiddenqueenRules extends ChessRules {
getNotation(move) {
// Not using getPiece() method because it would transform HQ into pawn:
getNotation(move) {
// Not using getPiece() method because it would transform HQ into pawn:
- if (this.board[move.start.x][move.start.y]
[1]
!= V.HIDDEN_QUEEN)
+ if (this.board[move.start.x][move.start.y]
.charAt(1)
!= V.HIDDEN_QUEEN)
return super.getNotation(move);
const finalSquare = V.CoordsToSquare(move.end);
if (move.appear[0].p == V.QUEEN) {
return super.getNotation(move);
const finalSquare = V.CoordsToSquare(move.end);
if (move.appear[0].p == V.QUEEN) {