static get HasFlags() {
return false;
}
- static get HasCastle() {
- return false;
- }
static get CHAMPION() {
- return 'h';
+ return 'c';
}
static get BALL() {
'p': 's',
'r': 'u',
'n': 'o',
- 'b': 'c',
+ 'b': 'd',
'q': 't',
'k': 'l',
- 'h': 'd'
+ 'c': 'h'
};
}
's': 'p',
'u': 'r',
'o': 'n',
- 'c': 'b',
+ 'd': 'b',
't': 'q',
'l': 'k',
- 'd': 'h'
+ 'h': 'c'
};
}
static GenRandInitFen(randomness) {
if (randomness == 0)
- return "rnbhqhnbr/ppppppppp/9/9/4a4/9/9/PPPPPPPPP/RNBHQHNBR w 0 -";
+ return "rnbcqcnbr/ppppppppp/9/9/4a4/9/9/PPPPPPPPP/RNBCQCNBR w 0 -";
let pieces = { w: new Array(9), b: new Array(9) };
for (let c of ["w", "b"]) {
// Get random squares for every piece, totally freely
let positions = shuffle(ArrayFun.range(9));
- const composition = ['b', 'b', 'r', 'r', 'n', 'n', 'h', 'h', 'q'];
+ const composition = ['b', 'b', 'r', 'r', 'n', 'n', 'c', 'c', 'q'];
const rem2 = positions[0] % 2;
if (rem2 == positions[1] % 2) {
// Fix bishops (on different colors)
ChessRules.steps,
// Add champion moves
{
- h: [
+ c: [
[-2, -2],
[-2, 0],
[-2, 2],
static get VALUES() {
return {
p: 1,
- r: 5,
- n: 3,
- b: 3,
- q: 9,
- h: 4,
+ r: 3,
+ n: 4,
+ b: 2,
+ q: 5,
+ c: 4,
a: 0 //ball: neutral
};
}