X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=TODO;h=d1b50d4bb311f5866765f123050df2d02464e985;hp=06b024ed773a8ed5c63481d726e2c3914cc44505;hb=a01ab95c262b2ab8fe96cd57d925cf878da85c45;hpb=8280382ca5ab10e3aabbf92982f9c8cdf16bb6a8 diff --git a/TODO b/TODO index 06b024ed..d1b50d4b 100644 --- a/TODO +++ b/TODO @@ -1,46 +1,53 @@ -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 ?) -The mode switch between human/computer/friend (+ problem) is a mess -(example: finished computer game, ongoing friend game, reload, friend game is unreachable) - -Later: -Let choice of time control, allow correspondance play, several 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) -Identity would be browser-based: different games on smartphone, home computer, work computer... (why not ?) -Index might still look the same, and variant page would have another tab "Games" -==> running, and finished (which can be deleted from local memory) -(A true analysis mode could be implemented also, to navigate in completed games --> use a button) -Allow challenging a specific player (by his chosen name) -But keep the random pairings as main playing way + always playing in ZEN mode, -except when accepting an individual challenge. - -style menu : surligner onglet courant - -Interface : - - un menu "jouer" avec sous menus humain, computer, (ou mieux : une modalBox à paramètres, timeControl, type d'adversaire ==> "new Game") - --> cette "modal" doit être affichée par défaut en arrivant sur la page (si pas de chemin renseigné) - --> ou alors non, affichage plutôt des parties en cours (liste avec diags : en 2nd sous-menu "games") - [ friend-->renommé en 'analyse' et devenant un vrai mode analyse (on garde ces trois modes ?) ] - - un menu "joueurs" avec liste "P2P" des connectés (sous-menu de "Jouer" ?) - --> plutôt dans une sorte de "hall" avec liste des connectés ? - - un menu "étudier" avec sous-menus règles, [analyse (également accessible depuis import partie)], problèmes - -problèmes : récupérer 20 ou 50 depuis le serveur, puis les afficher un par un en les analysant directement, -comme sur le site de ProgramFOX ==> présentation unifiée échiquier avec instructions dessus et soluce cachée dessous - -==> il faut pouvoir faire "new Interface(variables)" pour lancer une analyse de problème sans repasser par le mode jeu... +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) -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 ? + +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?