Improve style, implement 'next' for corr games. TODO: rematch logic
[vchess.git] / TODO
diff --git a/TODO b/TODO
index c5a7b0a..49091c1 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,28 +1,30 @@
-au moins l'échange des coups en P2P ? et game chat ?
+# Functionality:
+On Game page "mconnect" events =>
+  send lastate to them (because they have the game infos) or just "your turn" - if their turn
+  remember them to send next "newmove" (or just "it's your turn") later - if not their turn
+  (=> listen for "mdisconnect" as well, and gameover, and newgame)
+From MyGames page: send "mconnect" to all online players (me included: potential multi-tabs)
+  When quit, send mdisconnect (relayed by server if no other MyGames tab).
 
-Use better-sqlite3 instead of node-sqlite3:
-https://www.npmjs.com/package/better-sqlite3
+# Misc:
+Rematch button (change colors, re-apply randomness params (which should be saved somehow somewhere))
+  --> need a bit more duplicated logic: in Game page, listen for newgame, and add a "launchGame" function
 
-Canvas for hexagonal board Vue reactivity :
-https://stackoverflow.com/questions/40177493/drawing-onto-a-canvas-with-vue-js
-custom directives ?
+# New variants
+8-pieces https://www.youtube.com/watch?v=XZ8K02Da7Ps&list=PLRyjH8DPuzTBiym6lA0r84P8N0HnTtZyN&index=6&t=0s
+https://www.chessvariants.com/rules/8-piece-chess
+Eightpieces : non-symmetric
+Sym8pieces : symmetric (960)
 
-Desktop notifications:
-https://developer.mozilla.org/fr/docs/Web/API/notification
+Generator vatiant, called "Matrix" ?
+Peces on first rank never move but generate new pieces. Pawn don't generate.
+A generator captured and replaced by a similar piece does not generate.
+King does not generate. No castling. En passant possible?
+Goal is still checkmate.
 
-Dans variant page, "mes parties" peut toujours contenir corr + importées (deux onglets)
-En fin de partie (observée ou non), bouton "import game" en + de "download game" ==> directement dans indexedDB
-Import game : en local dans indexedDb, affichage dans "Games --> Imported"
-Importer des parties : nécessite de parser le PGN produit (possible, un peu pénible)
+Take(a)n(d)make : if capture a piece, take its power for the last of the turn and make a move like it.
+If a pawn taken: direction of the capturer.
 
-mat en 2 échiqueté : brnkr3/pppp1p1p/4ps2/8/2P2P2/P1qP4/2c1s1PP/R1K5
-(Bb3+ Kb1 Ba2#)
++ Maxima, Interweave, Roccoco, Dynamo, Synchrone, Cannibal (force captures)
 
-espagnol : jugada ou movimiento ?
-fin de la partida au lieu de final de partida ?
-
-Server:
-Later: use http2
-https://webapplog.com/http2-node/
-https://www.npmjs.com/package/spdy
-Express 5?
+S-chess https://en.wikipedia.org/wiki/Seirawan_chess