projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix Pandemonium drop
[vchess.git]
/
client
/
src
/
variants
/
Upsidedown.js
diff --git
a/client/src/variants/Upsidedown.js
b/client/src/variants/Upsidedown.js
index
538fb4a
..
43f3825
100644
(file)
--- a/
client/src/variants/Upsidedown.js
+++ b/
client/src/variants/Upsidedown.js
@@
-2,7
+2,8
@@
import { ChessRules } from "@/base_rules";
import { randInt } from "@/utils/alea";
import { ArrayFun } from "@/utils/array";
import { randInt } from "@/utils/alea";
import { ArrayFun } from "@/utils/array";
-export const VariantRules = class UpsidedownRules extends ChessRules {
+export class UpsidedownRules extends ChessRules {
+
static get HasFlags() {
return false;
}
static get HasFlags() {
return false;
}
@@
-11,18
+12,17
@@
export const VariantRules = class UpsidedownRules extends ChessRules {
return false;
}
return false;
}
- getPotentialKingMoves(sq) {
- // No castle
- return this.getSlideNJumpMoves(
- sq,
- V.steps[V.ROOK].concat(V.steps[V.BISHOP]),
- "oneStep"
- );
- }
+ static GenRandInitFen(randomness) {
+ if (randomness == 0)
+ return "RNBQKBNR/PPPPPPPP/8/8/8/8/pppppppp/rnbqkbnr w 0";
- static GenRandInitFen() {
let pieces = { w: new Array(8), b: new Array(8) };
for (let c of ["w", "b"]) {
let pieces = { w: new Array(8), b: new Array(8) };
for (let c of ["w", "b"]) {
+ if (c == 'b' && randomness == 1) {
+ pieces['b'] = pieces['w'];
+ break;
+ }
+
let positions = ArrayFun.range(8);
let randIndex = randInt(8);
let positions = ArrayFun.range(8);
let randIndex = randInt(8);
@@
-70,7
+70,13
@@
export const VariantRules = class UpsidedownRules extends ChessRules {
pieces["w"].join("").toUpperCase() +
"/PPPPPPPP/8/8/8/8/pppppppp/" +
pieces["b"].join("") +
pieces["w"].join("").toUpperCase() +
"/PPPPPPPP/8/8/8/8/pppppppp/" +
pieces["b"].join("") +
+ // No castle, no en-passant:
" w 0"
" w 0"
- ); //no castle, no en-passant
+ );
+ }
+
+ static get SEARCH_DEPTH() {
+ return 2;
}
}
+
};
};