Alex Clink
b87b9e0a18
Add more logging
2021-10-15 22:18:59 -04:00
Alex Clink
fa4486569e
Add depth to move calculations
2021-10-03 22:26:09 -04:00
Alex Clink
6aea3e95ca
Add options for symbols and color to term_board
2021-10-03 17:16:02 -04:00
Alex Clink
81e3c6b310
Refactor term_game
2021-10-02 20:24:06 -04:00
Alex Clink
8a7d7a11cf
Update tests
2021-10-02 19:12:06 -04:00
Alex Clink
22084ccbe3
Add computer player
2021-10-01 00:18:34 -04:00
Alex Clink
d91111995f
Fix alternating colors for oddly shaped boards
2021-09-28 22:06:17 -04:00
Alex Clink
bcf6f385c8
Fix off by one error
2021-09-28 22:05:48 -04:00
Alex Clink
5427797139
Add disambiguation to SAN generation
2021-09-27 23:34:47 -04:00
Alex Clink
d8c2a79733
Add board scoring and basic suggestion
2021-09-27 21:01:04 -04:00
Alex Clink
ede109d49d
Add undo for PGN loaded files
2021-09-26 23:36:24 -04:00
Alex Clink
ec778a44b2
Add ability to undo a move
2021-09-26 20:52:22 -04:00
Alex Clink
a0f65efbb5
Change Game#index to Game#index_of to unshadow previous def
...
the method #index is defined by the enumerable module, and caused type confusion
2021-09-26 16:38:55 -04:00
Alex Clink
213eaaac2e
Fix FEN regex
2021-09-25 01:42:56 -04:00
Alex Clink
f5285baf12
Parse PGN into game
2021-09-25 01:24:36 -04:00
Alex Clink
3b5382a224
Capture extra blank space when matching
2021-09-25 00:31:42 -04:00
Alex Clink
c0844b382a
Add parsing pgn with comments and variations
2021-09-25 00:25:51 -04:00
Alex Clink
eafa4e0fbb
Fix castling check when converting move to SAN
2021-09-25 00:24:55 -04:00
Alex Clink
a66bf70a65
Disambiguate further when a move may be illegal
2021-09-24 22:39:18 -04:00
Alex Clink
a93165f78a
Better pattern matching
2021-09-24 22:39:06 -04:00
Alex Clink
9901698258
make_move no longer return SAN
2021-09-24 22:37:51 -04:00
Alex Clink
bfae01ff3e
Add initial PGN file parser
2021-09-23 23:53:13 -04:00
Alex Clink
25e7f9cc9a
Add remove_illegal_moves method
2021-09-22 23:04:21 -04:00
Alex Clink
e99cd86369
Separate san generation from making moves
2021-09-22 22:19:56 -04:00
Alex Clink
6b5b79451e
Update move_to_san to recognize castling
2021-09-22 22:11:13 -04:00
Alex Clink
5077339246
Add checkmate detection in SAN generation
2021-09-21 23:46:32 -04:00
Alex Clink
93d5c58c57
Add method to test for checkmate
2021-09-21 21:53:15 -04:00
Alex Clink
bc75d4bc50
Bump version
2021-09-20 23:35:44 -04:00
Alex Clink
bbc5a0d893
Add intermediate square checks while castling
2021-09-20 23:34:51 -04:00
Alex Clink
3502140bdb
Add promotion and promotion checks for pawns
2021-09-20 23:20:59 -04:00
Alex Clink
f96c207066
Add docs
2021-09-19 22:15:34 -04:00
Alex Clink
ced238add0
Bump version
2021-09-19 22:00:43 -04:00
Alex Clink
90a5683236
Move terminal game into own class
2021-09-19 21:59:59 -04:00
Alex Clink
1608aa7b90
Fix off by one error
2021-09-19 21:59:47 -04:00
Alex Clink
ccd3e93460
Fully set fen attributes
2021-09-19 21:11:48 -04:00
Alex Clink
3db239099f
Remove redundant method
2021-09-19 18:51:51 -04:00
Alex Clink
d9ca848bc3
Add tests for check
2021-09-19 18:48:22 -04:00
Alex Clink
01625b0c9b
Add extra castling specs
2021-09-19 17:34:18 -04:00
Alex Clink
c9448fe368
Fix capture distinction in notation regex
2021-09-18 17:08:28 -04:00
Alex Clink
1397a01aaf
Add some specs for parsing SAN
2021-09-18 12:54:04 -04:00
Alex Clink
7614001e45
Fix castling queenside for black
2021-09-17 23:19:47 -04:00
Alex Clink
ceaaf16f80
More robust castling, fixed fen parsing
2021-09-17 00:08:53 -04:00
Alex Clink
054170871f
Print pgn on side of board
2021-09-15 23:50:38 -04:00
Alex Clink
9b727ad3d5
Render full fen string
2021-09-15 22:46:34 -04:00
Alex Clink
322249c6b3
Fix index error if no players are set
2021-09-15 00:05:30 -04:00
Alex Clink
6fb1b76c65
Add castling, allow setting board-theme
2021-09-14 23:59:30 -04:00
Alex Clink
4bee64dcdd
Add en passant captures
2021-09-14 00:06:17 -04:00
Alex Clink
63679d2f67
Add docs
2021-09-13 23:19:09 -04:00
Alex Clink
b056d2d445
Always disambiguate moves, update method docs
...
a move like bc4 previously would have moved P c2 = c4, it's most
likely that the user intended Bc4, thus disambiguation removes
the c4 square possibility, because the b file is specified
2021-09-12 23:55:15 -04:00
Alex Clink
d7623482fd
Make SAN case sensitive, add ability to specify from to squares
...
moves that specify the b column get confused with the symbol for
a bishop. More regex magic required for case insensitivity
2021-09-12 23:37:31 -04:00