Skip to content

Commit 56060cc

Browse files
committed
Fix casteling bug
1 parent 3c035e3 commit 56060cc

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

engine/board.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,11 @@ func (b *Board) legalSquare(square int8) bool {
5959
func (b *Board) MakeMove(m Move) {
6060

6161
historyItem := HistoryItem{
62-
move: m, whiteCastle: b.whiteCastle,
63-
blackCastle: b.blackCastle, enPassant: b.enPassant, halfMoveClock: b.halfMoveClock,
62+
move: m,
63+
whiteCastle: b.whiteCastle,
64+
blackCastle: b.blackCastle,
65+
enPassant: b.enPassant,
66+
halfMoveClock: b.halfMoveClock,
6467
}
6568

6669
b.halfMoveClock++
@@ -139,7 +142,7 @@ func (b *Board) MakeMove(m Move) {
139142
b.data[m.From] = Empty
140143
// rook
141144
rookPos := int8(m.From) - castleLongDistanceRook*nextFile
142-
b.data[int8(m.From)+nextFile] = b.data[rookPos]
145+
b.data[int8(m.From)-nextFile] = b.data[rookPos]
143146
b.data[rookPos] = Empty
144147
if m.MovedPiece == WhiteKing {
145148
b.whiteCastle = castleNone

engine/fen.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import (
99

1010
const (
1111
defaultFEN = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"
12-
13-
//defaultFEN = "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -"
14-
// defaultFEN = "k7/8/K7/8/7p/7P/8/8 w - - 0 1" // only kings
12+
// defaultFEN = "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -"
13+
// defaultFEN = "k7/8/K7/8/7p/7P/8/8 w - - 0 1" // only kings
14+
// defaultFEN = "r1bqkb1r/ppp1pppp/1nnp4/4P3/2P5/2N2N2/PP1PQPPP/R1B1KB1R b KQkq - 1 6" // leads to a thrid rook for black
1515
)
1616

1717
func generateFEN(board *Board) string {

0 commit comments

Comments
 (0)