- // TODO: re-arrange flags, use another init variable "relPos" (in o)
- // (maybe after FEN parsing, easier?)
- o: {flags: s.flags + s.flags} //second set for royal queen
+ o: {
+ flags: flags + flags, //duplicate: one for each royal piece
+ relPos: this.getRelposFen(relPos)
+ }
+ };
+ }
+
+ getPartFen(o) {
+ return (Object.assign(
+ {"relpos": o.init ? o.relPos : this.getRelposFen()},
+ super.getPartFen(o)
+ ));
+ }
+
+ getRelposFen(relPos) {
+ relPos = relPos || this.relPos;
+ return (
+ relPos['w']['k'] + relPos['w']['l'] +
+ relPos['b']['k'] + relPos['b']['l']
+ );
+ }
+
+ setOtherVariables(fenParsed, pieceArray) {
+ super.setOtherVariables(fenParsed, pieceArray);
+ this.relPos = {
+ 'w': {
+ 'k': fenParsed.relpos[0],
+ 'l': fenParsed.relpos[1]
+ },
+ 'b': {
+ 'k': fenParsed.relpos[2],
+ 'l': fenParsed.relpos[3]
+ }