add Annexation (issue #654). fix typos. (#662)
authorRainRat <rainrat78@yahoo.ca>
Fri, 16 Jun 2023 19:33:58 +0000 (12:33 -0700)
committerGitHub <noreply@github.com>
Fri, 16 Jun 2023 19:33:58 +0000 (21:33 +0200)
Closes #654

src/position.cpp
src/syzygy/tbprobe.cpp
src/variants.ini

index 1d88f53..eb2a9ce 100644 (file)
@@ -1660,7 +1660,7 @@ void Position::do_move(Move m, StateInfo& newSt, bool givesCheck) {
       // Find end of rows to be flipped
       if (flip_enclosed_pieces() == REVERSI)
       {
-          Bitboard b = attacks_bb(us, QUEEN, to, board_bb() & ~pieces(~us)) & ~PseudoAttacks[us][KING][to] & pieces(us);
+          Bitboard b = attacks_bb(us, QUEEN, to, ~pieces(~us)) & ~PseudoAttacks[us][KING][to] & pieces(us);
           while(b)
               st->flippedPieces |= between_bb(pop_lsb(b), to) ^ to;
       }
index 747acf1..36b2fd0 100644 (file)
@@ -821,7 +821,7 @@ Ret do_probe_table(const Position& pos, T* entry, WDLScore wdl, ProbeState* resu
         int adjust2 = (squares[2] > squares[0]) + (squares[2] > squares[1]);
 
         // First piece is below a1-h8 diagonal. MapA1D1D4[] maps the b1-d1-d3
-        // triangle to 0...5. There are 63 squares for second piece and and 62
+        // triangle to 0...5. There are 63 squares for second piece and 62
         // (mapped to 0...61) for the third.
         if (off_A1H8(squares[0]))
             idx = (   MapA1D1D4[squares[0]]  * 63
@@ -1326,7 +1326,7 @@ void Tablebases::init(const std::string& paths) {
     for (auto p : bothOnDiagonal)
         MapKK[p.first][p.second] = code++;
 
-    // Binomial[] stores the Binomial Coefficents using Pascal rule. There
+    // Binomial[] stores the Binomial Coefficients using Pascal rule. There
     // are Binomial[k][n] ways to choose k elements from a set of n elements.
     Binomial[0][0] = 1;
 
index 0ebd3cc..40b2390 100644 (file)
 # castlingRank: relative rank of castling [Rank] (default: 1)
 # castlingKingFile: starting file of the castlingKingPiece if there can be more than one of that type [File] (default: e)
 # castlingKingPiece: first piece type that participates in castling [PieceType] (default: k)
-# castlingRookKingsideFile: starting file of castlinRookPieces on kingside (if not in corner) [File] (default: l)
-# castlingRookQueensideFile: starting file of castlinRookPieces on queenside (if not in corner) [File] (default: a)
+# castlingRookKingsideFile: starting file of castlingRookPieces on kingside (if not in corner) [File] (default: l)
+# castlingRookQueensideFile: starting file of castlingRookPieces on queenside (if not in corner) [File] (default: a)
 # castlingRookPieces: second piece type that participates in castling [PieceSet] (default: r)
 # checking: allow checks [bool] (default: true)
 # dropChecks: allow checks by piece drops [bool] (default: true)
@@ -1555,3 +1555,8 @@ customPiece3 = p:KifmnD
 customPiece4 = r:RK
 castlingRookPieces = r
 pawnTypes = p
+
+[annexation:flipello]
+maxRank = 10
+maxFile = 10
+startFen = ***4***/***4***/***4***/10/4pP4/4Pp4/10/***4***/***4***/***4***[PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPpppppppppppppppppppppppppppppp] w 0 1