X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=TODO;h=9fec5b71b73605c6ead05e948a745568b9586e32;hp=d1b50d4bb311f5866765f123050df2d02464e985;hb=b9a5fe01da415dfbea740651c04e6e10dace2c21;hpb=a01ab95c262b2ab8fe96cd57d925cf878da85c45 diff --git a/TODO b/TODO index d1b50d4b..9fec5b71 100644 --- a/TODO +++ b/TODO @@ -1,53 +1,37 @@ -Afficher les observers sur page Game ? Où ? - -au moins l'échange des coups en P2P ? et game chat ? -surligner "hall" (menu) si nouveau défi perso (reçu) et pas affichage courant -de même surligner "my games" si c'est à nous de jouer dans une partie (corr) - -Click elsewhere make modal disappear (for now: Esc key works...) - -Use better-sqlite3 instead of node-sqlite3: -https://www.npmjs.com/package/better-sqlite3 - -Canvas for hexagonal board Vue reactivity : -https://stackoverflow.com/questions/40177493/drawing-onto-a-canvas-with-vue-js -custom directives ? - -Desktop notifications: -https://developer.mozilla.org/fr/docs/Web/API/notification - -Think about this: -https://alligator.io/vuejs/component-communication/ -https://alligator.io/vuejs/global-event-bus/ - -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 -les parties par correspondance survivent 7 jours après la fin de partie - -mat en 2 échiqueté : brnkr3/pppp1p1p/4ps2/8/2P2P2/P1qP4/2c1s1PP/R1K5 -(Bb3+ Kb1 Ba2#) - -Importer des parties : nécessite de parser le PGN produit (possible, un peu pénible) - -espagnol : jugada ou movimiento ? -fin de la partida au lieu de final de partida ? - -Mode new game contre un ami comme sur lichess ? - -Coordonnées sur échiquier: sur cases, à gauche (verticale) ou en bas (horizontale) - -Import game : en local dans indexedDb, affichage dans "Games --> Imported" - -Hexachess: McCooey et Shafran (deux tailles, randomisation OK) -http://www.math.bas.bg/~iad/tyalie/shegra/shegrax.html -http://www.quadibloc.com/chess/ch0401.htm - -Inspiration for refactor: -https://github.com/triestpa/Vue-Chess/blob/master/src/components/chessboard/chessboard.js -https://github.com/gustaYo/vue-chess - -Server: -Later: use http2 -https://webapplog.com/http2-node/ -https://www.npmjs.com/package/spdy -Express 5? +# 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) +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). +And remove current "notify through newmove" on server in sockets.js + +Analyse mode when launched from a position: should keep orientation +--> $route query param, "side=w or b" + +Subcursor (intra move) for multi-move variants for better navigation (in BaseGame) + +Allow symmetric mode in all variants (vertical symmetry for racing kings) +flag in challenge, "Symmetric: true / false", option of GenRandInitFen() + +# Misc: +Saw once a "double challenge" bug, one anonymous and a second one logged +Both were asked a challenge probably, and both challenges added as different ones. + +# 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) + +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. + +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. + ++ Maxima, Interweave, Roccoco, Dynamo, Synchrone, Cannibal (force captures)