projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
A few fixes, and write rules for Grand + Wildebeest
[vchess.git]
/
public
/
javascripts
/
variants
/
Wildebeest.js
diff --git
a/public/javascripts/variants/Wildebeest.js
b/public/javascripts/variants/Wildebeest.js
index
f198eeb
..
28f74d9
100644
(file)
--- a/
public/javascripts/variants/Wildebeest.js
+++ b/
public/javascripts/variants/Wildebeest.js
@@
-63,8
+63,8
@@
class WildebeestRules extends ChessRules
const V = VariantRules;
const [sizeX,sizeY] = VariantRules.size;
const shift = (color == "w" ? -1 : 1);
const V = VariantRules;
const [sizeX,sizeY] = VariantRules.size;
const shift = (color == "w" ? -1 : 1);
- const startRanks = (color == "w" ? [size
Y-2,sizeY
-3] : [1,2]);
- const lastRank = (color == "w" ? 0 : size
Y
-1);
+ const startRanks = (color == "w" ? [size
X-2,sizeX
-3] : [1,2]);
+ const lastRank = (color == "w" ? 0 : size
X
-1);
if (x+shift >= 0 && x+shift < sizeX && x+shift != lastRank)
{
if (x+shift >= 0 && x+shift < sizeX && x+shift != lastRank)
{
@@
-155,17
+155,21
@@
class WildebeestRules extends ChessRules
isAttackedByCamel(sq, colors)
{
return this.isAttackedBySlideNJump(sq, colors,
isAttackedByCamel(sq, colors)
{
return this.isAttackedBySlideNJump(sq, colors,
- VariantRules.CAMEL, VariantRules.steps[VariantRules.CAMEL]);
+ VariantRules.CAMEL, VariantRules.steps[VariantRules.CAMEL]
, "oneStep"
);
}
isAttackedByWildebeest(sq, colors)
{
const V = VariantRules;
return this.isAttackedBySlideNJump(sq, colors, V.WILDEBEEST,
}
isAttackedByWildebeest(sq, colors)
{
const V = VariantRules;
return this.isAttackedBySlideNJump(sq, colors, V.WILDEBEEST,
- V.steps[V.KNIGHT].concat(V.steps[V.CAMEL]));
+ V.steps[V.KNIGHT].concat(V.steps[V.CAMEL])
, "oneStep"
);
}
}
- // TODO: stalemate is a win (?!)
+ checkGameEnd()
+ {
+ // No valid move: game is lost (stalemate is a win)
+ return this.turn == "w" ? "0-1" : "1-0";
+ }
static get VALUES() {
return Object.assign(
static get VALUES() {
return Object.assign(