projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some debug, plan several short + long term TODOs
[vchess.git]
/
public
/
javascripts
/
variants
/
Zen.js
diff --git
a/public/javascripts/variants/Zen.js
b/public/javascripts/variants/Zen.js
index
64587d2
..
0675fbc
100644
(file)
--- a/
public/javascripts/variants/Zen.js
+++ b/
public/javascripts/variants/Zen.js
@@
-1,10
+1,7
@@
class ZenRules extends ChessRules
{
// NOTE: enPassant, if enabled, would need to redefine carefully getEpSquare
class ZenRules extends ChessRules
{
// NOTE: enPassant, if enabled, would need to redefine carefully getEpSquare
- getEpSquare(move)
- {
- return undefined;
- }
+ static get HasEnpassant() { return false; }
// TODO(?): some duplicated code in 2 next functions
getSlideNJumpMoves([x,y], steps, oneStep)
// TODO(?): some duplicated code in 2 next functions
getSlideNJumpMoves([x,y], steps, oneStep)
@@
-100,7
+97,7
@@
class ZenRules extends ChessRules
const firstRank = (color == 'w' ? sizeY-1 : 0);
const lastRank = (color == "w" ? 0 : sizeY-1);
const firstRank = (color == 'w' ? sizeY-1 : 0);
const lastRank = (color == "w" ? 0 : sizeY-1);
- if (x+shift
>= 0 && x+shift < sizeX && x+shift
!= lastRank)
+ if (x+shift != lastRank)
{
// Normal moves
if (this.board[x+shift][y] == V.EMPTY)
{
// Normal moves
if (this.board[x+shift][y] == V.EMPTY)
@@
-114,9
+111,8
@@
class ZenRules extends ChessRules
}
}
}
}
- if (x+shift == lastRank)
+ else //promotion
{
{
- // Promotion
let promotionPieces = [V.ROOK,V.KNIGHT,V.BISHOP,V.QUEEN];
promotionPieces.forEach(p => {
// Normal move
let promotionPieces = [V.ROOK,V.KNIGHT,V.BISHOP,V.QUEEN];
promotionPieces.forEach(p => {
// Normal move
@@
-184,12
+180,10
@@
class ZenRules extends ChessRules
}
// Translate initial square (because pieces may fly unusually in this variant!)
}
// Translate initial square (because pieces may fly unusually in this variant!)
- const initialSquare =
- String.fromCharCode(97 + move.start.y) + (V.size.x-move.start.x);
+ const initialSquare = V.CoordsToSquare(move.start);
// Translate final square
// Translate final square
- const finalSquare =
- String.fromCharCode(97 + move.end.y) + (V.size.x-move.end.x);
+ const finalSquare = V.CoordsToSquare(move.end);
let notation = "";
const piece = this.getPiece(move.start.x, move.start.y);
let notation = "";
const piece = this.getPiece(move.start.x, move.start.y);
@@
-218,7
+212,9
@@
class ZenRules extends ChessRules
return notation;
}
return notation;
}
- static get VALUES() { //TODO: experimental
+ static get VALUES()
+ {
+ // TODO: experimental
return {
'p': 1,
'r': 3,
return {
'p': 1,
'r': 3,
@@
-229,3
+225,5
@@
class ZenRules extends ChessRules
}
}
}
}
}
}
+
+const VariantRules = ZenRules;