Sebastian Lague
320ffbdc97
Version 1.20 (bug fix in repetition detection)
2023-08-09 14:08:08 +02:00
Sebastian Lague
4ef9025ebf
Bump version to 1.19
2023-08-02 11:27:18 +02:00
Sebastian Lague
1315551493
Fix stalemate detection after generating capture moves in a position with no captures available
...
#418
2023-08-01 17:49:40 +02:00
Sebastian Lague
bcd8cbb423
Increase size of internal repetition table to avoid possible bounds error
2023-08-01 16:52:10 +02:00
Sebastian Lague
f19b15dcab
Merge function for creating ascii diagram of current position
...
pr 405
2023-07-31 00:48:23 +02:00
Sebastian Lague
3c5876a8ba
Add bounds check to repetition table (just in case)
2023-07-30 23:39:14 +02:00
Julio Ernesto Rodríguez Cabañas
ee00c7fb08
Replace spaces with tabs for consistency
2023-07-30 22:32:23 +01:00
Julio Ernesto Rodríguez Cabañas
f9d21f236f
Add method to print the board to the console
2023-07-30 22:11:17 +01:00
Sebastian Lague
6c9b67aa10
Bump version to 1.18
2023-07-30 22:44:25 +02:00
Sebastian Lague
30644066b1
Removed memory allocations from IsInCheckmate and IsInStalemate
2023-07-30 22:01:17 +02:00
Sebastian Lague
a6c102ba30
Fix bug in repetition detection
2023-07-30 16:53:49 +02:00
Sebastian Lague
4438d69e7e
Add increment option
2023-07-30 16:44:41 +02:00
Sebastian Lague
78f59b46c4
Add tournament info to readme
2023-07-30 15:35:14 +02:00
Sebastian Lague
40ecb802fa
Bump version to 1.17
2023-07-29 14:40:10 +02:00
Sebastian Lague
4d5ea5d7ad
Allow tokens to be excluded from count with // #Debug
2023-07-29 13:59:06 +02:00
Sebastian Lague
282048c796
Small cleanup
2023-07-29 11:25:02 +02:00
Inconspicuous Semicolon
a1fdbee6ba
Create Function GetPieceAttacks
...
This function allows the length of code to be reduced, by allowing all piece attacks to be queried in the same loop without having to check which function needs to be checked.
For example a loop to check all piece attacks will now look like:
```
for (int square = 0; square < 64; ++square)
{
for (int piece = 0; piece < 6; ++piece)
{
contention[square] += GetPieceAttacks((PieceType)piece, new Square(square), board, isWhiteFriendly);
contention[square] -= GetPieceAttacks((PieceType)piece, new Square(square), board, !isWhiteFriendly);
}
}
```
Instead of:
```
for (int square = 0; square < 64; ++square)
{
for (int piece = 0; piece < 6; ++piece)
{
switch ((PieceType)piece)
{
PieceType.Pawn => ...,
PieceType.Knight => ...,
...,
...,
}
}
}
```
This better suits the limits of the challenge by reducing the amount of lexemes required to fetch the same information.
2023-07-28 23:35:30 +01:00
Sebastian Lague
5aa54e4e51
Optimize board.SquareIsAttackedByOpponent()
2023-07-27 13:35:55 +02:00
Sebastian Lague
960655c5a8
Bump version 1.16
2023-07-27 00:01:07 +02:00
Sebastian Lague
fed725de59
Add opponent time remaining and game start time to Timer
2023-07-26 12:16:54 +02:00
Sebastian Lague
0d6abe1ff0
Add board.ForceSkipTurn() to skip a turn even when in check (use at own peril)
2023-07-26 10:54:56 +02:00
Sebastian Lague
779c7f8fb1
Update readme with tournament startpos info
2023-07-26 10:14:34 +02:00
Sebastian Lague
78a3289390
Add V1.15 notes
2023-07-25 22:46:09 +02:00
Sebastian Lague
844eb274d5
Bump version to 1.15
2023-07-25 22:44:41 +02:00
Sebastian Lague
f1ed65c219
Refactor bitboard visualization
2023-07-25 22:02:44 +02:00
Sebastian Lague
6ae5aa695f
Add VisualizeBitboard function to BitboardHelepr
2023-07-25 21:45:08 +02:00
Sebastian Lague
a71ba0dc9c
Add MIT License
2023-07-25 19:51:20 +02:00
Sebastian Lague
29caae5b56
Fix missing capture type for en-passant
2023-07-25 17:52:54 +02:00
Sebastian Lague
c5f13b9001
Merge branch 'pr/321'
2023-07-25 17:37:22 +02:00
Sebastian Lague
c318cb4ca0
Fix wrong piecetype in GameMoveHistory
2023-07-25 17:23:44 +02:00
laurirasanen
b35371dc2a
Add test for invalid capture pieces
2023-07-25 17:15:50 +03:00
Sebastian Lague
c9242fd749
V1.14 notes
2023-07-24 23:30:09 +02:00
Sebastian Lague
c0085a8bac
Bump version 1.14
2023-07-24 23:29:41 +02:00
Sebastian Lague
46ae3c2e20
Expose game start fen and game move history
2023-07-24 23:09:12 +02:00
Sebastian Lague
188f6f8d3a
Expose insufficient material and repeated position functions
2023-07-24 22:51:54 +02:00
Sebastian Lague
d18b6702f2
Expose game repetition history and 50 move counter
2023-07-24 22:36:37 +02:00
Sebastian Lague
eb28f8eb2f
Fix missing pieces UI for non-ascii paths
2023-07-24 17:43:57 +02:00
Sebastian Lague
87a2ef31eb
Add link to community-run discord server
2023-07-24 00:53:47 +02:00
Sebastian Lague
2d0c07c13c
Add V1.13 patch notes
2023-07-23 23:11:57 +02:00
Sebastian Lague
82dcb5f524
Bump version to 1.13
2023-07-23 23:09:19 +02:00
Sebastian Lague
4cdfc57f04
Fix fen/zobrist en-passant inconsistency
2023-07-23 22:34:40 +02:00
Sebastian Lague
085baea286
Add alternate way to get legal moves
...
board.GetLegalMovesNonAlloc()
2023-07-23 21:47:32 +02:00
Sebastian Lague
a56dca0165
Fix warning in board class
2023-07-23 19:42:40 +02:00
Sebastian Lague
1d2368295c
Fix occasional crash on bot timeout during match
2023-07-23 19:40:34 +02:00
Sebastian Lague
cc3f49319b
Add more info about running the project
2023-07-23 19:27:47 +02:00
Sebastian Lague
9700276b51
Allow for newline at end of Fens.txt file
...
Merge pull request #195 from joshuajeschek/fens-newline
2023-07-23 16:47:08 +02:00
Sebastian Lague
0f021277c4
Some tweaks to README for clarity
2023-07-23 16:43:34 +02:00
Sebastian Lague
ee8db0ef9f
Update memory limit description
2023-07-23 10:22:13 +02:00
Sebastian Lague
436926fa71
Update rules with initialization time limit
2023-07-23 10:04:58 +02:00
Joshua Jeschek
3863675e6a
fix: allow for empty lines in Fens.txt file
2023-07-22 22:41:25 +02:00