Commit graph

67 commits

Author SHA1 Message Date
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