| 1 | Use better-sqlite3 instead of node-sqlite3: |
| 2 | https://www.npmjs.com/package/better-sqlite3 |
| 3 | |
| 4 | Canvas for hexagonal board Vue reactivity : |
| 5 | https://stackoverflow.com/questions/40177493/drawing-onto-a-canvas-with-vue-js |
| 6 | custom directives ? |
| 7 | |
| 8 | Desktop notifications: |
| 9 | https://developer.mozilla.org/fr/docs/Web/API/notification |
| 10 | |
| 11 | Think about this: |
| 12 | https://alligator.io/vuejs/component-communication/ |
| 13 | https://alligator.io/vuejs/global-event-bus/ |
| 14 | |
| 15 | CRON task remove unlogged users, finished corr games after 7 days, individual challenges older than 7 days |
| 16 | |
| 17 | tell opponent that I got the move, for him to start timer (and lose...) |
| 18 | --> no, not needed and impossible if everybody is offline |
| 19 | ==> just store this time locally (cheating possible but...) |
| 20 | board2, board3, board4 |
| 21 | VariantRules2, 3 et 4 aussi |
| 22 | fetch challenges and corr games from server at startup (room) |
| 23 | but forbid anonymous to start corr games or accept challenges |
| 24 | |
| 25 | Dans variant page, "mes parties" peut toujours contenir corr + importées (deux onglets) |
| 26 | En fin de partie (observée ou non), bouton "import game" en + de "download game" ==> directement dans indexedDB |
| 27 | --> sursis de 7 jours pour les parties par correspondance, qui sont encore chargées depuis le serveur |
| 28 | |
| 29 | mat en 2 échiqueté : brnkr3/pppp1p1p/4ps2/8/2P2P2/P1qP4/2c1s1PP/R1K5 |
| 30 | (Bb3+ Kb1 Ba2#) |
| 31 | |
| 32 | // TODO: decodeURIComponent() for GET/DELETE parameters |
| 33 | |
| 34 | 2) Integrate computer play into rules tab |
| 35 | 3) Allow correspondance play (no need for P2P: online moves through the server (which also store them)) |
| 36 | 4) Write my-games tab (included current/finished/imported) |
| 37 | Use Dexie.js, or anything to store games locally |
| 38 | 5) Write room tab |
| 39 | Use this: https://github.com/feross/simple-peer for online games+challenges+chat |
| 40 | 6) Test... and publish |
| 41 | |
| 42 | Finish rules translation in Spanish + improve existing ones |
| 43 | Design: final touch (gain extra space on top, using space on the right) |
| 44 | Crazyhouse: center reserves, grey if zero available, numbers superimposed |
| 45 | Promotions: increase pieces sizes, better background. |
| 46 | Code: use two spaces instead of tabs, everywhere. |
| 47 | Increase code line length to 100 or more? |
| 48 | (http://katafrakt.me/2017/09/16/80-characters-line-length-limit/) |
| 49 | Chat button should be more apparent after game ends (color ?) |
| 50 | Reinforce security for problems upload (how ?) |
| 51 | |
| 52 | Later: |
| 53 | Let choice of time control, allow correspondance play, several corr games at the same time |
| 54 | ==> need to use indexedDB instead of localStorage. Maybe with Dexie https://dexie.org/ |
| 55 | Each user would have a unique identifier stored in the client DB. |
| 56 | Allow to cancel games (if opponent doesn't connect again) |
| 57 | Live games storage would be browser-based: different games on smartphone, home computer, work computer... (why not ?) |
| 58 | ==> (at most 1) running, and finished (which can be deleted from local memory) |
| 59 | Allow challenging a specific player (by his chosen name) |
| 60 | But keep the random pairings as main playing way + always playing in ZEN mode |
| 61 | |
| 62 | style menu : surligner onglet courant |
| 63 | |
| 64 | Interface : |
| 65 | - newGame: une modalBox à paramètres, timeControl, type d'adversaire ==> "new Game") |
| 66 | |
| 67 | Importer des parties : nécessite de parser le PGN produit (possible, un peu pénible) |
| 68 | mais permettrait mode analyse (avec bouton "analyse", comme sur ancien site). |
| 69 | |
| 70 | espagnol : jugada ou movimiento ? |
| 71 | fin de la partida au lieu de final de partida ? |
| 72 | |
| 73 | Bouton new game ==> human only. Indiquer adversaire (éventuellement), cadence (ou "infini") |
| 74 | Mode analyse : accessible à tout moment d'une partie (HH, ou computer) terminée + bouton "analyze from here" (sur parties observées) |
| 75 | |
| 76 | Coordonnées sur échiquier: sur cases, à gauche (verticale) ou en bas (horizontale) |
| 77 | |
| 78 | Import game : en local dans indexedDb, affichage dans "Games --> Imported" |
| 79 | |
| 80 | Checkered : si intervention d'un 3eme joueur, initialiser son temps à la moyenne des temps restants des deux autres... ? |
| 81 | |
| 82 | Mode contre ordinateur : seulement accessible depuis onglet "Rules" (son principal intérêt) |
| 83 | |
| 84 | Hexachess: McCooey et Shafran (deux tailles, randomisation OK) |
| 85 | http://www.math.bas.bg/~iad/tyalie/shegra/shegrax.html |
| 86 | http://www.quadibloc.com/chess/ch0401.htm |
| 87 | |
| 88 | Inspiration for refactor: |
| 89 | https://github.com/triestpa/Vue-Chess/blob/master/src/components/chessboard/chessboard.js |
| 90 | https://github.com/gustaYo/vue-chess |