X-Git-Url: https://git.auder.net/js/rpsls.js?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FFullcavalry.js;h=98549db49de1229d6ad97bca42da561fb304f916;hb=de0706e6db65fa857a314a8d982f006d35eebb94;hp=672ebc8a86a5cf2826c9c63c3998cb9a0c6ea283;hpb=a19caec0e72dd3b37af961daabc35eb789476ab1;p=vchess.git diff --git a/client/src/variants/Fullcavalry.js b/client/src/variants/Fullcavalry.js index 672ebc8a..98549db4 100644 --- a/client/src/variants/Fullcavalry.js +++ b/client/src/variants/Fullcavalry.js @@ -100,10 +100,16 @@ export class FullcavalryRules extends ChessRules { firstWhiteRook = baseFen.indexOf('R'), lastWhiteRook = baseFen.lastIndexOf('R'); return ( - baseFen.substring(0, firstBlackRook) + 'e' + - baseFen.substring(firstBlackRook + 1, lastBlackRook) + 'm' + - baseFen.substring(lastBlackRook + 1, firstWhiteRook) + 'E' + - baseFen.substring(firstWhiteRook + 1, lastWhiteRook) + 'M' + + baseFen.substring(0, firstBlackRook) + + (firstBlackRook <= 3 ? 'e' : 'm') + + baseFen.substring(firstBlackRook + 1, lastBlackRook) + + (lastBlackRook >= 5 ? 'm' : 'e') + + // Subtract 35 = total number of characters before last FEN row: + // 8x3 (full rows) + 4 (empty rows) + 7 (separators) + baseFen.substring(lastBlackRook + 1, firstWhiteRook) + + (firstWhiteRook - 35 <= 3 ? 'E' : 'M') + + baseFen.substring(firstWhiteRook + 1, lastWhiteRook) + + (lastWhiteRook - 35 >= 5 ? 'M' : 'E') + baseFen.substring(lastWhiteRook + 1) ); }