Commit graph

41 commits

Author SHA1 Message Date
A.M. Rowsell
5359d0fb05
doxygen: Trying to get the Doxygen output looking like I want 2025-09-16 13:01:55 -04:00
A.M. Rowsell
ab26479c3c
docs: Documented more of the Board class 2025-09-16 13:01:30 -04:00
A.M. Rowsell
d59798b7e8
doxygen: updated doxygen-awesome-css 2025-09-16 03:26:43 -04:00
A.M. Rowsell
fa9d534e94
docs: bringing in doxygen-awesome-css, added more inline documentation
The doxygen-awesome-css project is just a nice, simple, customizable
CSS system for making doxygen look less like 1992 and more like
2022. I need to spend a bunch of time tweaking it to make it
look good, and perhaps match it to the style already used at
chess.frzn.dev.

Added more inline Doxycomments, and also generated an image that
represents the logical layout of the boardGrid member variable,
showing the mirrored layout. This works well for our project
because of the way the serial data comes in.
2025-09-16 03:21:53 -04:00
A.M. Rowsell
a1560f1611
chores: updated gitignore, removal of configurations.xml, formatted header 2025-09-13 11:36:53 -04:00
A.M. Rowsell
a56fb4d60f
dev: refactoring things to be more OOP! whoop whoop
Still struggling to understand all these concepts, and I will admit
to using ChatGPT to try and explain where I was going wrong which
did help quite a bit. But if I get this right it will be much
more robust and less "fragile" as they say.
2025-09-13 11:18:27 -04:00
A.M. Rowsell
c333e3da9e
dev: refactoring Board to be simpler for Piece to use
This commit adds a bunch of getters/setters for accessing the
boardGrid. This is a simpler way to allow both Piece and all
the inherited classes to access the Board without having to
declare every single class a friend. So now when we want to
access boardGrid, we use getPieceAt() or setPieceAt(). They
are overloaded to accept rank/file, Square, or int/int.
There's also a convenience function to check if the square
is empty, though that may get re-written to use the existing
Square.isValid().
2025-09-13 10:43:25 -04:00
A.M. Rowsell
6e05baa87d
docs: Added Doxygen config 2025-09-07 18:00:30 -04:00
A.M. Rowsell
f05dd6d90f
dev: Updates to Board and Piece, formatted code 2025-09-07 17:59:16 -04:00
A.M. Rowsell
8e381cf109
docs: Starting to add Doxygen comments 2025-09-07 17:57:15 -04:00
A.M. Rowsell
ca6468cc62
docs: temporarily added docs/ to .gitignore as they are not ready 2025-09-07 17:46:48 -04:00
A.M. Rowsell
b68169dd2b
cool: I added figlet headings because I'm that cool 2025-09-01 01:42:42 -04:00
A.M. Rowsell
6773da28fb
Piece: expanding getLegalMoves for Queen/Knight/Bishop 2025-08-30 18:46:18 -04:00
A.M. Rowsell
e5a124d193
FEN: major portion of FEN import is working and tested 2025-08-30 18:45:04 -04:00
A.M. Rowsell
21fae88bdb
fmt: reformatted code, changed some function signatures, fairly minor 2025-08-29 04:17:16 -04:00
A.M. Rowsell
76c0c3ce8b
FEN: more work on FEN decoding, handling field 2 and 3 2025-08-29 04:16:20 -04:00
A.M. Rowsell
22fe7bdf0b
organize: moved include files to inc/ 2025-08-28 10:45:41 -04:00
A.M. Rowsell
7722a84b2e
astyle: reformatted all files 2025-08-28 10:41:59 -04:00
A.M. Rowsell
04c7a931d3
fen: Merge branch 'fen' into dev 2025-08-28 10:39:50 -04:00
A.M. Rowsell
78749a6af2
dev: Added QS/KS castle checking; simplified moveList pruning 2025-08-28 10:29:19 -04:00
A.M. Rowsell
b553823dde
FEN: implemented first field of FEN string handling 2025-08-28 10:28:11 -04:00
A.M. Rowsell
e42457d3ab
MPLAB: updated configurations.xml 2025-08-27 14:23:20 -04:00
A.M. Rowsell
22ac250f70
King: finalizing check detection and getLegalMoves() 2025-08-27 14:22:26 -04:00
A.M. Rowsell
7fad5e53af
dev: added some string helper functions, updated gitignore 2025-08-27 14:20:22 -04:00
A.M. Rowsell
31499ed6e1
dev: working on check detection algorithm 2025-08-26 20:34:04 -04:00
A.M. Rowsell
68ed9ce922
dev: Pile of updates and formatting fixes. 2025-08-25 16:04:25 -04:00
A.M. Rowsell
47043a7869
graphics: added graphics.cpp, test file for piece shapes 2025-08-09 07:06:57 -04:00
A.M. Rowsell
b0afa6cd78
dev: formatting fixes, additional Piece logic and properties, etc 2025-08-09 07:06:24 -04:00
A.M. Rowsell
cc37d834fe
config: updated project config 2025-08-06 09:29:41 -04:00
A.M. Rowsell
016654da2f
dev: added Pawn movement checks, working through legal move logic 2025-08-06 09:27:13 -04:00
A.M. Rowsell
c577c23f1f
license: added MPL header to all source files 2025-08-04 23:14:56 -04:00
A.M. Rowsell
2d83f43cfb
dev: Fixing compilation/linking errors, added other piece classes 2025-08-04 21:45:23 -04:00
A.M. Rowsell
ea62d03680
dev: started to write Board constructor, added all derived Pieces 2025-08-04 02:54:55 -04:00
A.M. Rowsell
ba27097ced
dev: Getting the GPIO and such set up, starting to poke at NeoPixel 2025-08-03 13:12:09 -04:00
A.M. Rowsell
ba64e2bcf3
dev: Continue to write the chess logic, working through it bit by bit 2025-08-03 13:11:30 -04:00
A.M. Rowsell
d6eb6b69c2
dev: hardware init code added. starting to write Board methods 2025-08-02 13:32:16 -04:00
A.M. Rowsell
25c351be04
dev: Added config bits and copy of periph init code 2025-07-31 16:33:38 -04:00
A.M. Rowsell
df8dab2560
repo: Added MPLABX project files including Makefile 2025-07-31 16:33:05 -04:00
A.M. Rowsell
27b293c302
dev: Removed Game class as redundant. gitignore updates. 2025-07-31 16:32:25 -04:00
A.M. Rowsell
95d86ffa9e
Added README 2025-07-30 21:52:13 -04:00
A.M. Rowsell
d80b03bdf0
Initial commit of MPLABX version 2025-07-30 21:48:16 -04:00