projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some fixes
[vchess.git]
/
client
/
src
/
variants
/
Losers.js
diff --git
a/client/src/variants/Losers.js
b/client/src/variants/Losers.js
index
d752f98
..
daabbab
100644
(file)
--- a/
client/src/variants/Losers.js
+++ b/
client/src/variants/Losers.js
@@
-2,10
+2,10
@@
import { ChessRules } from "@/base_rules";
import { ArrayFun } from "@/utils/array";
import { randInt } from "@/utils/alea";
import { ArrayFun } from "@/utils/array";
import { randInt } from "@/utils/alea";
-export c
onst VariantRules = c
lass LosersRules extends ChessRules {
+export class LosersRules extends ChessRules {
// Trim all non-capturing moves
static KeepCaptures(moves) {
// Trim all non-capturing moves
static KeepCaptures(moves) {
- return moves.filter(m => m.vanish.length == 2);
+ return moves.filter(m => m.vanish.length == 2
&& m.appear.length == 1
);
}
// Stop at the first capture found (if any)
}
// Stop at the first capture found (if any)
@@
-18,7
+18,7
@@
export const VariantRules = class LosersRules extends ChessRules {
this.board[i][j] != V.EMPTY &&
this.getColor(i, j) != oppCol &&
this.getPotentialMovesFrom([i, j]).some(m =>
this.board[i][j] != V.EMPTY &&
this.getColor(i, j) != oppCol &&
this.getPotentialMovesFrom([i, j]).some(m =>
- // Warning: d
u
scard castle moves
+ // Warning: d
i
scard castle moves
m.vanish.length == 2 && m.appear.length == 1)
) {
return true;
m.vanish.length == 2 && m.appear.length == 1)
) {
return true;
@@
-38,7
+38,8
@@
export const VariantRules = class LosersRules extends ChessRules {
getAllValidMoves() {
const moves = super.getAllValidMoves();
getAllValidMoves() {
const moves = super.getAllValidMoves();
- if (moves.some(m => m.vanish.length == 2)) return V.KeepCaptures(moves);
+ if (moves.some(m => m.vanish.length == 2 && m.appear.length == 1))
+ return V.KeepCaptures(moves);
return moves;
}
return moves;
}
@@
-64,10
+65,6
@@
export const VariantRules = class LosersRules extends ChessRules {
return this.turn == "w" ? "1-0" : "0-1";
}
return this.turn == "w" ? "1-0" : "0-1";
}
- static get SEARCH_DEPTH() {
- return 4;
- }
-
evalPosition() {
// Less material is better (more subtle in fact but...)
return -super.evalPosition();
evalPosition() {
// Less material is better (more subtle in fact but...)
return -super.evalPosition();