X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=_tmp%2FTODO;fp=_tmp%2FTODO;h=0000000000000000000000000000000000000000;hb=63ca2b89cfe577efd168c6b2e26750cb01b66d64;hp=86d36fe3310d22c3913be506682c7682a03797e0;hpb=430a203855578f9bbf4c851165c6066a741ff1f8;p=vchess.git diff --git a/_tmp/TODO b/_tmp/TODO deleted file mode 100644 index 86d36fe3..00000000 --- a/_tmp/TODO +++ /dev/null @@ -1,104 +0,0 @@ ---> correspondance: stocker sur serveur lastMove + uid + color + movesCount + gameId + variant + timeleft -fin de partie corr: supprimer partie du serveur au bout de 7 jours (arbitraire) -// TODO: au moins l'échange des coups en P2P ? et game chat ? - -// TODO: 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) -// ==> myGames componentn + Game component must listen for "new move" events - -Hall + problems : similar pages, with "New game[problem]" button -with a list of variants. ---> but display all challenges (and all problems) -Possible filter: write a few variant names, to keep only these. ---> In settings ! - -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/ - -CRON task remove unlogged users, finished corr games after 7 days, individual challenges older than 7 days - -tell opponent that I got the move, for him to start timer (and lose...) - --> no, not needed and impossible if everybody is offline - ==> just store this time locally (cheating possible but...) -board2, board3, board4 -VariantRules2, 3 et 4 aussi -fetch challenges and corr games from server at startup (room) -but forbid anonymous to start corr games or accept challenges - -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 ---> sursis de 7 jours pour les parties par correspondance, qui sont encore chargées depuis le serveur - -mat en 2 échiqueté : brnkr3/pppp1p1p/4ps2/8/2P2P2/P1qP4/2c1s1PP/R1K5 -(Bb3+ Kb1 Ba2#) - -// TODO: decodeURIComponent() for GET/DELETE parameters - -2) Integrate computer play into rules tab -3) Allow correspondance play (no need for P2P: online moves through the server (which also store them)) -4) Write my-games tab (included current/finished/imported) - Use Dexie.js, or anything to store games locally -5) Write room tab - Use this: https://github.com/feross/simple-peer for online games+challenges+chat -6) Test... and publish - -Finish rules translation in Spanish + improve existing ones -Design: final touch (gain extra space on top, using space on the right) -Crazyhouse: center reserves, grey if zero available, numbers superimposed -Promotions: increase pieces sizes, better background. -Code: use two spaces instead of tabs, everywhere. -Increase code line length to 100 or more? -(http://katafrakt.me/2017/09/16/80-characters-line-length-limit/) -Chat button should be more apparent after game ends (color ?) -Reinforce security for problems upload (how ?) - -Later: -Let choice of time control, allow correspondance play, several corr games at the same time -==> need to use indexedDB instead of localStorage. Maybe with Dexie https://dexie.org/ -Each user would have a unique identifier stored in the client DB. -Allow to cancel games (if opponent doesn't connect again) -Live games storage would be browser-based: different games on smartphone, home computer, work computer... (why not ?) -==> (at most 1) running, and finished (which can be deleted from local memory) -Allow challenging a specific player (by his chosen name) -But keep the random pairings as main playing way + always playing in ZEN mode - -style menu : surligner onglet courant - -Interface : - - newGame: une modalBox à paramètres, timeControl, type d'adversaire ==> "new Game") - -Importer des parties : nécessite de parser le PGN produit (possible, un peu pénible) -mais permettrait mode analyse (avec bouton "analyse", comme sur ancien site). - -espagnol : jugada ou movimiento ? -fin de la partida au lieu de final de partida ? - -Bouton new game ==> human only. Indiquer adversaire (éventuellement), cadence (ou "infini") -Mode analyse : accessible à tout moment d'une partie (HH, ou computer) terminée + bouton "analyze from here" (sur parties observées) - -Coordonnées sur échiquier: sur cases, à gauche (verticale) ou en bas (horizontale) - -Import game : en local dans indexedDb, affichage dans "Games --> Imported" - -Checkered : si intervention d'un 3eme joueur, initialiser son temps à la moyenne des temps restants des deux autres... ? - -Mode contre ordinateur : seulement accessible depuis onglet "Rules" (son principal intérêt) - -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