projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Alice rules implemented, but unfinished and with bugs...
[vchess.git]
/
public
/
javascripts
/
base_rules.js
diff --git
a/public/javascripts/base_rules.js
b/public/javascripts/base_rules.js
index
f07aaff
..
cb426f3
100644
(file)
--- a/
public/javascripts/base_rules.js
+++ b/
public/javascripts/base_rules.js
@@
-682,7
+682,7
@@
class ChessRules
this.castleFlags[c][flagIdx] = false;
}
else if (move.end.x == oppFirstRank //we took opponent rook?
this.castleFlags[c][flagIdx] = false;
}
else if (move.end.x == oppFirstRank //we took opponent rook?
- && this.INIT_COL_ROOK[
c
].includes(move.end.y))
+ && this.INIT_COL_ROOK[
oppCol
].includes(move.end.y))
{
const flagIdx = (move.end.y == this.INIT_COL_ROOK[oppCol][0] ? 0 : 1);
this.castleFlags[oppCol][flagIdx] = false;
{
const flagIdx = (move.end.y == this.INIT_COL_ROOK[oppCol][0] ? 0 : 1);
this.castleFlags[oppCol][flagIdx] = false;
@@
-699,7
+699,8
@@
class ChessRules
play(move, ingame)
{
play(move, ingame)
{
- console.log("AVANT " + this.getNotation(move) + " " + this.board[1][5]);
+ console.log("play " + this.getNotation(move));
+ console.log(JSON.stringify(move));
if (!!ingame)
move.notation = this.getNotation(move);
if (!!ingame)
move.notation = this.getNotation(move);
@@
-717,7
+718,7
@@
class ChessRules
this.moves.pop();
this.unupdateVariables(move);
this.parseFlags(JSON.parse(move.flags));
this.moves.pop();
this.unupdateVariables(move);
this.parseFlags(JSON.parse(move.flags));
- console.log("
APRES " + this.getNotation(move) + " " + this.board[1][5]
);
+ console.log("
undo " + this.getNotation(move)
);
}
//////////////
}
//////////////
@@
-1003,7
+1004,7
@@
class ChessRules
// Context: just before move is played, turn hasn't changed
getNotation(move)
{
// Context: just before move is played, turn hasn't changed
getNotation(move)
{
- if (move.appear.length == 2)
+ if (move.appear.length == 2
&& move.appear[0].p == VariantRules.KING
)
{
// Castle
if (move.end.y < move.start.y)
{
// Castle
if (move.end.y < move.start.y)
@@
-1013,18
+1014,18
@@
class ChessRules
}
// Translate final square
}
// Translate final square
-
le
t finalSquare =
+
cons
t finalSquare =
String.fromCharCode(97 + move.end.y) + (VariantRules.size[0]-move.end.x);
String.fromCharCode(97 + move.end.y) + (VariantRules.size[0]-move.end.x);
-
le
t piece = this.getPiece(move.start.x, move.start.y);
+
cons
t piece = this.getPiece(move.start.x, move.start.y);
if (piece == VariantRules.PAWN)
{
// Pawn move
let notation = "";
if (piece == VariantRules.PAWN)
{
// Pawn move
let notation = "";
- if (move.vanish.length >
1
)
+ if (move.vanish.length >
move.appear.length
)
{
// Capture
{
// Capture
-
le
t startColumn = String.fromCharCode(97 + move.start.y);
+
cons
t startColumn = String.fromCharCode(97 + move.start.y);
notation = startColumn + "x" + finalSquare;
}
else //no capture
notation = startColumn + "x" + finalSquare;
}
else //no capture
@@
-1037,7
+1038,8
@@
class ChessRules
else
{
// Piece movement
else
{
// Piece movement
- return piece.toUpperCase() + (move.vanish.length > 1 ? "x" : "") + finalSquare;
+ return piece.toUpperCase() +
+ (move.vanish.length > move.appear.length ? "x" : "") + finalSquare;
}
}
}
}