projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prepare some more variants (unfinished)
[vchess.git]
/
public
/
javascripts
/
variants
/
Ultima.js
diff --git
a/public/javascripts/variants/Ultima.js
b/public/javascripts/variants/Ultima.js
index
d6fecb7
..
04d62b7
100644
(file)
--- a/
public/javascripts/variants/Ultima.js
+++ b/
public/javascripts/variants/Ultima.js
@@
-1,5
+1,9
@@
class UltimaRules extends ChessRules
{
class UltimaRules extends ChessRules
{
+ static get HasFlags() { return false; }
+
+ static get HasEnpassant() { return false; }
+
static getPpath(b)
{
if (b[1] == "m") //'m' for Immobilizer (I is too similar to 1)
static getPpath(b)
{
if (b[1] == "m") //'m' for Immobilizer (I is too similar to 1)
@@
-7,16
+11,13
@@
class UltimaRules extends ChessRules
return b; //usual piece
}
return b; //usual piece
}
- static get PIECES() {
- return ChessRules.PIECES.concat([V.IMMOBILIZER]);
- }
-
- static IsGoodFlags(flags)
+ static get PIECES()
{
{
- return
true; //anything is good: no flags
+ return
ChessRules.PIECES.concat([V.IMMOBILIZER]);
}
}
- initVariables(fen)
+ // No castling, but checks, so keep track of kings
+ setOtherVariables(fen)
{
this.kingPos = {'w':[-1,-1], 'b':[-1,-1]};
const fenParts = fen.split(" ");
{
this.kingPos = {'w':[-1,-1], 'b':[-1,-1]};
const fenParts = fen.split(" ");
@@
-42,13
+43,6
@@
class UltimaRules extends ChessRules
k++;
}
}
k++;
}
}
- this.epSquares = []; //no en-passant here
- }
-
- setFlags(fen)
- {
- // TODO: for compatibility?
- this.castleFlags = {"w":[false,false], "b":[false,false]};
}
static get IMMOBILIZER() { return 'm'; }
}
static get IMMOBILIZER() { return 'm'; }
@@
-544,7
+538,9
@@
class UltimaRules extends ChessRules
}
}
}
}
- static get VALUES() { //TODO: totally experimental!
+ static get VALUES()
+ {
+ // TODO: totally experimental!
return {
'p': 1,
'r': 2,
return {
'p': 1,
'r': 2,
@@
-608,19
+604,13
@@
class UltimaRules extends ChessRules
return pieces["b"].join("") +
"/pppppppp/8/8/8/8/PPPPPPPP/" +
pieces["w"].join("").toUpperCase() +
return pieces["b"].join("") +
"/pppppppp/8/8/8/8/PPPPPPPP/" +
pieces["w"].join("").toUpperCase() +
- " 0000"; //TODO: flags?!
- }
-
- getFlagsFen()
- {
- return "0000"; //TODO: or "-" ?
+ " w";
}
getNotation(move)
{
}
getNotation(move)
{
- const initialSquare =
- String.fromCharCode(97 + move.start.y) + (V.size.x-move.start.x);
- const finalSquare = String.fromCharCode(97 + move.end.y) + (V.size.x-move.end.x);
+ const initialSquare = V.CoordsToSquare(move.start);
+ const finalSquare = V.CoordsToSquare(move.end);
let notation = undefined;
if (move.appear[0].p == V.PAWN)
{
let notation = undefined;
if (move.appear[0].p == V.PAWN)
{
@@
-636,3
+626,5
@@
class UltimaRules extends ChessRules
return notation;
}
}
return notation;
}
}
+
+const VariantRules = UltimaRules;