Commit Graph

32 Commits

Author SHA1 Message Date
Sage Vaillancourt 5a959bf4c8 Update CORS 2021-01-06 13:29:22 -05:00
Sage Vaillancourt b0fa88be56 Add support for game rooms 2021-01-06 12:05:57 -05:00
Sage Vaillancourt 5fee691c08 Add basic networking capabilities.
Include package-lock.json in git. Add server file. Start moving Board
backend into its own file (currently a lot of duplicate code between
board.js and backend.js).
2021-01-06 08:44:34 -05:00
Sage Vaillancourt 4b38e44a3a Move Board/Piece to own file. Start unit testing 2021-01-02 10:17:53 -05:00
Sage Vaillancourt 6cad21b79f EMPTY is now its own "type" and "color" of piece
This allows many functions to be moved into the Piece class, since there
doesn't need to be the same degree of null-checking. Pieces can be more
directly compared to each other, as well, like with the new
piece.isEnemyOf(piece) function
2021-01-02 01:51:28 -05:00
Sage Vaillancourt 5ffdf0a7a1 Add toggle-able setting for shuffling the back row
Add gear icon for settings. Add some framework for easier addition of
toggle-able settings. Might be good to make it more generic across other
(not purely toggle) types of settings.
2021-01-02 00:46:08 -05:00
Sage Vaillancourt aed8003fdf Add settings/info popup.
No "settings" yet, but can reset game normally, or with a randomized
back row. Buttons generally look bad.
2021-01-01 20:03:56 -05:00
Sage Vaillancourt 89520ac767 Merge branch 'board_text' of https://gitlab.com/sagev9000/quickchess 2021-01-01 11:59:20 -05:00
Sage Vaillancourt fcd7ce5b78 Board-generation from strings, and vice-versa 2020-12-31 13:39:56 -05:00
Sage Vaillancourt bfbb9ef404 Added castling 2020-12-30 22:50:07 -05:00
Sage Vaillancourt 4d927e1866 More clean-up and correctness. More castling work 2020-12-30 16:56:57 -05:00
Sage Vaillancourt 44c493c035 Some clean-up and correctness 2020-12-30 13:50:26 -05:00
Sage Vaillancourt 94db8dfb8c Some clean-up.
Added piece-based tooltips. Subject to removal, but may be converted to React
pop-ups. Added part of castling framework.
2020-12-30 11:11:12 -05:00
Sage Vaillancourt a83829e2aa Add small helper functions 2020-12-30 10:08:18 -05:00
Sage Vaillancourt e121755d29 Added en passant. Moves now objects, not arrays 2020-12-30 09:49:29 -05:00
Sage Vaillancourt 6ca3a810c6 Ban moving self into, or staying in check 2020-12-30 00:09:02 -05:00
Sage Vaillancourt 51efbdfd4e Correct checkmate-checking. Pawns become queens.
Began adding en passant framework. Pawns should have the option of
becoming knights, too.
2020-12-29 22:44:48 -05:00
Sage Vaillancourt e59e1a68f5 A bit of reset() cleanup 2020-12-29 16:55:35 -05:00
Sage Vaillancourt bd8dec72d5 Try to move Piece to its own class 2020-12-29 16:38:52 -05:00
Sage Vaillancourt d4b540a05b Add full checkmate functionality
Some clean-up of move-finding
2020-12-29 09:56:49 -05:00
Sage Vaillancourt 0a721d111a Checkmate framework in place 2020-12-29 08:25:17 -05:00
Sage Vaillancourt 45a109f8f3 Some cleanup 2020-12-28 22:51:01 -05:00
Sage Vaillancourt b3ffa54a8e Check for check 2020-12-28 19:21:13 -05:00
Sage Vaillancourt 7041543bd0 Correct pawn movement 2020-12-28 18:01:05 -05:00
Sage Vaillancourt 63dba59d25 Checker the board 2020-12-28 17:51:09 -05:00
Sage Vaillancourt 0cd2615959 Work nicely in landscape or portrait mode 2020-12-28 17:41:48 -05:00
Sage Vaillancourt 7fb3d9902e Remove hold text 2020-12-28 16:59:10 -05:00
Sage Vaillancourt 1a83641e22 Put more of color-handling into JS code 2020-12-28 16:54:23 -05:00
Sage Vaillancourt 96eec63757 Switch to SVG files
Better looking CSS on mobile. Lacking on desktop.
2020-12-28 16:41:13 -05:00
Sage Vaillancourt 14956ab4d5 Most pieces move as expected (pawns need work)
Now able to build and publish as static
2020-12-28 15:12:35 -05:00
Sage Vaillancourt 21951b4891 Begin chess implementation 2020-12-27 23:58:51 -05:00
Sage Vaillancourt 4ac1e8a039 Base project 2020-12-27 20:11:50 -05:00