projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Allow smartphone users to drag and drop pieces
[vchess.git]
/
public
/
javascripts
/
variants
/
Antiking.js
diff --git
a/public/javascripts/variants/Antiking.js
b/public/javascripts/variants/Antiking.js
index
53e5518
..
f908495
100644
(file)
--- a/
public/javascripts/variants/Antiking.js
+++ b/
public/javascripts/variants/Antiking.js
@@
-42,7
+42,7
@@
class AntikingRules extends ChessRules
const piece2 = this.getPiece(x2,y2);
const color1 = this.getColor(x1,y1);
const color2 = this.getColor(x2,y2);
const piece2 = this.getPiece(x2,y2);
const color1 = this.getColor(x1,y1);
const color2 = this.getColor(x2,y2);
- return
!["a","A"].includes(piece2)
&&
+ return
piece2 != "a"
&&
((piece1 != "a" && color1 != color2) || (piece1 == "a" && color1 == color2));
}
((piece1 != "a" && color1 != color2) || (piece1 == "a" && color1 == color2));
}
@@
-59,7
+59,9
@@
class AntikingRules extends ChessRules
getPotentialAntikingMoves(sq)
{
getPotentialAntikingMoves(sq)
{
- return this.getSlideNJumpMoves(sq, VariantRules.steps[VariantRules.QUEEN], "oneStep");
+ const V = VariantRules;
+ return this.getSlideNJumpMoves(sq,
+ V.steps[V.ROOK].concat(V.steps[V.BISHOP]), "oneStep");
}
isAttacked(sq, colors)
}
isAttacked(sq, colors)
@@
-69,18
+71,20
@@
class AntikingRules extends ChessRules
isAttackedByKing([x,y], colors)
{
isAttackedByKing([x,y], colors)
{
- if (this.getPiece(x,y) == VariantRules.ANTIKING)
+ const V = VariantRules;
+ if (this.getPiece(x,y) == V.ANTIKING)
return false; //antiking is not attacked by king
return false; //antiking is not attacked by king
- return this.isAttackedBySlideNJump([x,y], colors,
- V
ariantRules.KING, VariantRules.steps[VariantRules.QUEEN]
, "oneStep");
+ return this.isAttackedBySlideNJump([x,y], colors,
V.KING,
+ V
.steps[V.ROOK].concat(V.steps[V.BISHOP])
, "oneStep");
}
isAttackedByAntiking([x,y], colors)
{
}
isAttackedByAntiking([x,y], colors)
{
- if (this.getPiece(x,y) == VariantRules.KING)
+ const V = VariantRules;
+ if (this.getPiece(x,y) == V.KING)
return false; //king is not attacked by antiking
return false; //king is not attacked by antiking
- return this.isAttackedBySlideNJump([x,y], colors,
- V
ariantRules.ANTIKING, VariantRules.steps[VariantRules.QUEEN]
, "oneStep");
+ return this.isAttackedBySlideNJump([x,y], colors,
V.ANTIKING,
+ V
.steps[V.ROOK].concat(V.steps[V.BISHOP])
, "oneStep");
}
underCheck(move)
}
underCheck(move)
@@
-88,8
+92,8
@@
class AntikingRules extends ChessRules
const c = this.turn;
const oppCol = this.getOppCol(c);
this.play(move)
const c = this.turn;
const oppCol = this.getOppCol(c);
this.play(move)
- let res = this.isAttacked(this.kingPos[c],
oppCol
)
- || !this.isAttacked(this.antikingPos[c],
oppCol
);
+ let res = this.isAttacked(this.kingPos[c],
[oppCol]
)
+ || !this.isAttacked(this.antikingPos[c],
[oppCol]
);
this.undo(move);
return res;
}
this.undo(move);
return res;
}
@@
-99,7
+103,7
@@
class AntikingRules extends ChessRules
let res = super.getCheckSquares(move);
this.play(move);
const c = this.turn;
let res = super.getCheckSquares(move);
this.play(move);
const c = this.turn;
- if (!this.isAttacked(this.antikingPos[c],
this.getOppCol(c)
))
+ if (!this.isAttacked(this.antikingPos[c],
[this.getOppCol(c)]
))
res.push(JSON.parse(JSON.stringify(this.antikingPos[c])));
this.undo(move);
return res;
res.push(JSON.parse(JSON.stringify(this.antikingPos[c])));
this.undo(move);
return res;
@@
-130,8
+134,8
@@
class AntikingRules extends ChessRules
{
const color = this.turn;
const oppCol = this.getOppCol(color);
{
const color = this.turn;
const oppCol = this.getOppCol(color);
- if (!this.isAttacked(this.kingPos[color],
oppCol
)
- && this.isAttacked(this.antikingPos[color],
oppCol
))
+ if (!this.isAttacked(this.kingPos[color],
[oppCol]
)
+ && this.isAttacked(this.antikingPos[color],
[oppCol]
))
{
return "1/2";
}
{
return "1/2";
}