lightning-chess
lightning-chess copied to clipboard
At the moment the game rules are checked from chess.js at client-side. For a complete and fair cordapp, this should happen at the smart contract's verify function.
Users buy GameCredits (a LinearState that gets un-spendable when it reaches zero) and use them to play a game by decrementing the ticket number.
The player who lost the game (or in case of a draw) should see in his screen and box next to him that he/she lost the game (or it ended...
At the moment only the coordinator sets a nickname. But both users should set their nickname or we completely disable it.
At the moment, the first user (coordinator) runs the creation flow in the background, before the opponent accepts. But this should happen with the consent of the opponent (UI-related).
If both players agree, they should both sign a "DrawAccepted" message. Unlike "Abandon", we need both signatures for the smart contract to successfully verify such a result.
Ensure that we support stalemate. In this case, last player's signed move can be directly used as an evidence of a game ended in a tie.
When a pawn reaches its eighth rank it is immediately replaced by the player's choice of a queen, knight, rook, or bishop of the same colour. We should ensure FEN...