projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some fixes, draw lines on board, add 7 variants
[vchess.git]
/
client
/
src
/
variants
/
Rococo.js
diff --git
a/client/src/variants/Rococo.js
b/client/src/variants/Rococo.js
index
8489ae9
..
e0838e1
100644
(file)
--- a/
client/src/variants/Rococo.js
+++ b/
client/src/variants/Rococo.js
@@
-15,6
+15,15
@@
export class RococoRules extends ChessRules {
return ChessRules.PIECES.concat([V.IMMOBILIZER]);
}
return ChessRules.PIECES.concat([V.IMMOBILIZER]);
}
+ static get Lines() {
+ return [
+ [[1, 1], [1, 9]],
+ [[1, 9], [9, 9]],
+ [[9, 9], [9, 1]],
+ [[9, 1], [1, 1]]
+ ];
+ }
+
getPpath(b) {
if (b[1] == "m")
//'m' for Immobilizer (I is too similar to 1)
getPpath(b) {
if (b[1] == "m")
//'m' for Immobilizer (I is too similar to 1)
@@
-131,8
+140,9
@@
export class RococoRules extends ChessRules {
getPotentialMovesFrom([x, y]) {
// Pre-check: is thing on this square immobilized?
const imSq = this.isImmobilized([x, y]);
getPotentialMovesFrom([x, y]) {
// Pre-check: is thing on this square immobilized?
const imSq = this.isImmobilized([x, y]);
- if (!!imSq) {
- // Only option is suicide:
+ const piece = this.getPiece(x, y);
+ if (!!imSq && piece != V.KING) {
+ // Only option is suicide, if I'm not a king:
return [
new Move({
start: { x: x, y: y },
return [
new Move({
start: { x: x, y: y },
@@
-150,7
+160,7
@@
export class RococoRules extends ChessRules {
];
}
let moves = [];
];
}
let moves = [];
- switch (
this.getPiece(x, y)
) {
+ switch (
piece
) {
case V.IMMOBILIZER:
moves = this.getPotentialImmobilizerMoves([x, y]);
break;
case V.IMMOBILIZER:
moves = this.getPotentialImmobilizerMoves([x, y]);
break;
@@
-623,7
+633,7
@@
export class RococoRules extends ChessRules {
static GenRandInitFen(randomness) {
if (randomness == 0) {
return (
static GenRandInitFen(randomness) {
if (randomness == 0) {
return (
- "91/1r
nbkqbnm1/1pppppppp1/91/91/91/91/1PPPPPPPP1/1MNBQKBN
R1/91 w 0 -"
+ "91/1r
qnbknqm1/1pppppppp1/91/91/91/91/1PPPPPPPP1/1MQNBKNQ
R1/91 w 0 -"
);
}
);
}