====== Chess - Programming - Move Generation ====== // bit | 63| 62| 61| 60| 59| 58| 57| 56| 55| 54| 53| 52| 51| 50| 49| 48| 47| 46| 45| 44| 43| 42| 41| 40| 39| 38| 37| 36| 35| 34| 33| 32| 31| 30| 29| 28| 27| 26| 25| 24| 23| 22| 21| 20| 19| 18| 17| 16| 15| 14| 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0| // |UGM|VGM|GM |UBM|VBM|BM | |Bm |Nm |Rm |Hm |PV |Km |F |S |M |DC |C |PN |PB |PR |PQ |PRO|CQ |CK |Cm |EP |PC |NC |BC |RC |QC |KC |Ca |QM |DP |P |N |B |R |Q |K |WB |From |To | // bit 0- 5 : To : Destination square (from 0 to 63). // bit 6-11 : From : Origin square (from 0 to 63). // bit 12 : WB : Color doing the move. 0=WHITE 1=BLACK. // bit 13 : K : King Move. // bit 14 : Q : Queen Move. // bit 15 : R : Rook Move. // bit 16 : B : Bishop Move. // Bit 17 : N : Knight Move. // Bit 18 : P : Pawn Move. // Bit 19 : DP : Double Pawn Move. // Bit 20 : QM : Quite Move. (Not capture, castling, pawn promotion, or check). // Bit 21 : Ca : Capture. (Including En-Passant Capture). // Bit 22 : KC : King Capture. // Bit 23 : QC : Queen Capture. // Bit 24 : RC : Rook Capture. // Bit 25 : BC : Bishop Capture. // Bit 26 : NC : Knight Capture. // Bit 27 : PC : Pawn Capture. // Bit 28 : EP : En-Passant Capture. // Bit 29 : Cm : Castling Move. // Bit 30 : CK : Castling Move. King Side. // Bit 31 : CQ : Castling Move. Queen Side. // Bit 32 : PRO : Promotion Move. // Bit 33 : PQ : Promotion Move. Queen. // Bit 34 : PR : Promotion Move. Rook. // Bit 35 : PB : Promotion Move. Bishop. // Bit 36 : PN : Promotion Move. Knight. // Bit 37 : C : Checking Move. // Bit 38 : DC : Double Checking Move. // Bit 39 : M : Mating Move. // Bit 40 : S : Stalemating Move. // Bit 41 : F : Forced Move. Only 1 Move possible. // Bit 42 : Km : Killer Move. A quiet move which caused a beta-cutoff in a sibling Cut-node. // Bit 43 : PV : PV Move. Part of the principal variation and therefore a best move found in the previous iteration. // Bit 44 : Hm : Hash Move. A move probed from the transposition table. // Bit 45 : Rm : Refutation Move. A move which fails high at Cut-nodes. // Bit 46 : Nm : Null Move. // Bit 47 : Bm : Book Move. // Bit 58 : BM : Bad Move. ?! When score decreases with 0.50. // Bit 59 : VBM : Very Bad Move. ? when score decreases with 1.00 or more. // Bit 60 : UBM : Ultra Bad Move. ?? - when score decreases with 2.00 or more. // Bit 61 : GM : Good Move. !? When score increases with 0.50. // Bit 62 : VGM : Very Good Move. ! - when score increases with 1.00 or more. // Bit 63 : UGM : Ultra Good Move. !! - when score increases with 2.00 or more. ----