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