Commit Graph

43 Commits

Author SHA1 Message Date
ed9fa79a79 fix bug where chessbloc had wrong colors 2024-05-19 21:44:05 +02:00
6cede55d44 Simplify flow and allow site reloads 2024-05-19 21:18:47 +02:00
200393ac76 Fix tapping on opponent's piece
With the previous change of starting a tap on a drag,
we removed the GestureDetector from all squares with any pieces.

This included the opponent's pieces. Tapping and taking an opponent's
piece was not possible anymore.

This was a bug, since we still want to detect a tap and take an opponent's piece.
2024-02-01 11:37:00 +01:00
212a54612c Implement moves by tapping the squares
This adds an option to dragging-and-dropping which is slightly hard on
smaller screens.

Fix promotions when tapping and fix handling of subsequently tapping two pieces of your color

Cancel tap if a drag is started (tapped square will not stay red in case a drag is started)

Change url strategy back to the hashtag thing

Change version

Fix bug that would not allow a piece move if you tried to take an opponents piece.

Fix the coloring of the last move after an invalid move was played.

Upgrading deps
2024-01-17 20:58:13 +01:00
289ec6db26 Fix turnColor handling 2023-12-25 18:08:21 +01:00
ba947ae5e4 Fix routing and move handling 2023-12-25 17:50:58 +01:00
8f4cd2266f Handle board status message
This is another step to allow reconnecting after connection loss or
browser closing.

When the game is left with the X button on the bottom right, we will
close the websocket connection, to let the server know, that we are
gone.

The server still has issues that prevent this from working flawlessly.

Remove unused import
2023-12-09 20:48:36 +01:00
01dcc74cfc Refactor chess square and prepare display of square in check. 2023-09-04 21:39:51 +02:00
f45ec47285 Fix green flicker of squares on invalid move 2023-08-25 12:28:58 +02:00
7c5439a635 Display last played move.
We now color the squares of the last move. This makes the state of the
board clearer and shows whose turn it is.
2023-08-19 03:45:03 +02:00
80fe378241 Remove unused function. 2023-08-15 00:47:08 +02:00
43d8d77abc Fix the current position in ChessPositionManager, now that we rely on position instead of detecting en passant ourselves. 2023-08-15 00:39:10 +02:00
c213d9b1f3 Use position to build board
Now the client considers the position sent by the server to build the
position on the board.
2023-08-14 17:04:25 +02:00
f2a4893b6f Do not convert short piece name to lower case. 2023-08-12 11:43:51 +02:00
105b6e7565 Fix two bugs
1. Fix the bug that made black move first in a new game when the old
   game was ended during blacks turn.
2. Fix bug that offered the promotion dialog to the player when a pawn
   was moved on the last rank from any square

Also, a late initializer error was fixed because the wrong move variable
was used when a pawn reached the last rank.
2023-07-11 22:29:55 +02:00
4b8624f82b Fix bug that did not change the move color when a promotion was received. 2023-07-06 00:12:03 +02:00
fea24c8274 Make castling work. 2023-07-05 21:16:01 +02:00
a5befed62c Make promotions work. 2023-07-03 19:41:12 +02:00
3bec7a84d8 Lay foundation for promotions. 2023-07-01 09:29:43 +02:00
52540ec96c A lot of changes again?!? 2023-06-30 01:49:18 +02:00
43fca47dae Changes you see? To many to name them. And a splash screen for flutter web of course. 2023-06-28 12:37:59 +02:00
d55c7bbe1a Fix resetting the board in case a new game is started. 2023-06-08 20:23:00 +02:00
0627a627d8 Send new websocket message type for sending a move. 2023-06-08 17:14:50 +02:00
6e5d84364d Various changes. 2023-06-08 17:10:48 +02:00
605743c0d2 Introduce api types and some changes. 2023-06-02 23:28:40 +02:00
8572aa73e6 Add ChessPosition that will handle position. 2023-01-30 22:39:13 +01:00
80a24bafd6 Add GoRouter and do a lot of renaming. 2022-12-25 16:16:23 +01:00
bff46e6f3d Fix that only allows the correct pieces to be allowed to move. 2022-12-22 00:36:30 +01:00
0b7c3897e5 1. Remove leading counter from move message,
2. Only allow color to move when it's their turn.
2022-12-21 23:14:53 +01:00
aaaf40bb2b Remove a redundant call to ChessBloc that caused the position to be renewed twice.
Fix a index error (Column started with 0 while rows started with 1).
2022-12-18 23:43:06 +01:00
2ad028f8a7 Many many changes. 2022-12-18 01:04:08 +01:00
c04407ae67 Make chess work.
Remove sending the new move in moveHandler, in order to prevent a loop
move -> emit -> move ...

Handle incoming moves.

There still is a major bug. Sometimes random pieces move.
2022-12-14 23:17:31 +01:00
7198f591bd Replace print() calls with log() calls. 2022-12-13 03:43:05 +01:00
3889245c8a Add function to flip board. 2022-12-13 03:35:01 +01:00
35f815e82f Fix bug that removed every piece except the moved one. 2022-11-19 16:55:25 +01:00
1dab094d19 Change move messages. 2022-11-19 13:24:25 +01:00
42e90f10a6 Reactivate stream builder and send pre-check messages. 2022-11-19 11:37:56 +01:00
aa3e3187c4 For testing purposes send move to server. 2022-11-13 14:27:00 +01:00
0ab37c5564 Change pre-checking to be method-driven instead of event-driven, so we can get the return value. 2022-11-13 03:50:29 +01:00
8ebc010e63 Fix shit. 2022-11-13 03:42:30 +01:00
f5f89a070d MORE CHANGES. Pieces can be moved now. 2022-11-13 03:24:42 +01:00
b3a7418c5f More changes. Memory error when accessing state.position in ChessBloc. 2022-11-13 02:42:10 +01:00
f7701138a4 Add chess bloc. 2022-11-13 01:03:09 +01:00