Some advances. TODO: test board.js, and then game.js, and then implement room.js
[vchess.git] / TODO
1 Sur index, introduction menu remplacé par "mes parties", montrant parties (corr) en cours toutes variantes confondues
2 Dans variant page, "mes parties" peut toujours contenir corr + importées (deux onglets)
3 En fin de partie (observée ou non), bouton "import game" en + de "download game" ==> directement dans indexedDB
4 --> sursis de 7 jours pour les parties par correspondance, qui sont encore chargées depuis le serveur
5
6 mat en 2 échiqueté : brnkr3/pppp1p1p/4ps2/8/2P2P2/P1qP4/2c1s1PP/R1K5
7 (Bb3+ Kb1 Ba2#)
8
9 // TODO: decodeURIComponent() for GET/DELETE parameters
10
11 1) Finish problems tab
12 2) Integrate computer play into rules tab
13 3) Allow correspondance play (no need for P2P: online moves through the server (which also store them))
14 4) Write my-games tab (included current/finished/imported)
15 Use Dexie.js, or anything to store games locally
16 5) Write room tab
17 Use this: https://github.com/feross/simple-peer for online games+challenges+chat
18 6) Test... and publish
19
20 Finish rules translation in Spanish + improve existing ones
21 Design: final touch (gain extra space on top, using space on the right)
22 Crazyhouse: center reserves, grey if zero available, numbers superimposed
23 Promotions: increase pieces sizes, better background.
24 Code: use two spaces instead of tabs, everywhere.
25 Increase code line length to 100 or more?
26 (http://katafrakt.me/2017/09/16/80-characters-line-length-limit/)
27 Chat button should be more apparent after game ends (color ?)
28 Reinforce security for problems upload (how ?)
29
30 The mode switch between human/computer/friend (+ problem) is a mess
31 (example: finished computer game, ongoing friend game, reload, friend game is unreachable)
32
33 Later:
34 Let choice of time control, allow correspondance play, several games at the same time
35 ==> need to use indexedDB instead of localStorage. Maybe with Dexie https://dexie.org/
36 Each user would have a unique identifier stored in the client DB.
37 Allow to cancel games (if opponent doesn't connect again)
38 Identity would be browser-based: different games on smartphone, home computer, work computer... (why not ?)
39 Index might still look the same, and variant page would have another tab "Games"
40 ==> running, and finished (which can be deleted from local memory)
41 (A true analysis mode could be implemented also, to navigate in completed games --> use a button)
42 Allow challenging a specific player (by his chosen name)
43 But keep the random pairings as main playing way + always playing in ZEN mode,
44 except when accepting an individual challenge.
45
46 style menu : surligner onglet courant
47
48 Interface :
49 - newGame: une modalBox à paramètres, timeControl, type d'adversaire ==> "new Game")
50 - friend-->renommé en 'analyse' et devenant un vrai mode analyse (on garde ces trois modes ?)
51
52 problèmes : récupérer 20 ou 50 depuis le serveur, puis les afficher un par un en les analysant directement,
53 comme sur le site de ProgramFOX ==> présentation unifiée échiquier avec instructions dessus et soluce cachée dessous
54
55 ==> il faut pouvoir faire "new Interface(variables)" pour lancer une analyse de problème sans repasser par le mode jeu...
56
57 Importer des parties : nécessite de parser le PGN produit (possible, un peu pénible)
58 mais permettrait mode analyse (avec bouton "analyse", comme sur ancien site).
59
60 espagnol : jugada ou movimiento ?
61 fin de la partida au lieu de final de partida ?
62
63 Bouton new game ==> human only. Indiquer adversaire (éventuellement), cadence (ou "infini")
64 Mode analyse : accessible à tout moment d'une partie (HH, ou computer) terminée.
65
66 Coordonnées sur échiquier: sur cases, à gauche (verticale) ou en bas (horizontale)
67
68 Import game : en local dans indexedDb, affichage dans "Games --> Imported"
69
70 Checkered : si intervention d'un 3eme joueur, initialiser son temps à la moyenne des temps restants des deux autres...
71
72 Mode contre ordinateur : seulement accessible depuis onglet "Rules" (son principal intérêt)
73
74 Hexachess: McCooey et Shafran (deux tailles, randomisation OK)
75 http://www.math.bas.bg/~iad/tyalie/shegra/shegrax.html
76 http://www.quadibloc.com/chess/ch0401.htm