push 631eaa78a6c55362b71f3ab8e0bfa49ae32310e5
[tagua/yd.git] / TODO_shogi
blobf04f9c474ba07cbc42db1d580b8342131867d471
1 move generator:
2 - declare moves for other pieces
3 - add to IType and implement for chess
4 - use a "set" class instead of a vector for quick is-in test ?
5 - call from core once, to avoid the numerous calls to canMove()
6 - have the GUI highlight all possible moves
7 - remove individual highlighting of square under cursor
8 - maybe export moves definitions to lua to avoid duplicating the
9   same data in theme shogi-lib
11 general:
12 - plugins linked with too many libs
13 - at ui startup, some moves do get badly animated
14  - chess knight gets its animation, but too fast
15  - first move of a shogi pawn/king or of a knight does not get animated (or too fast ?)
16 component-api port:
17 - finalize shogi functionnality:
18  - correct moves for promoted pieces
19  - promoting moves
20         legalitycheck.h pseudolegal() -> validator.cpp
21         gamestate.h promotionZone() -> ?
22         gamestate.h canPromote() -> ?
23         shogiactions.* -> ?
24         ? -> state.cpp move()
25    - mimic Chess::Pawn::setPromotion() into a common ancestor for
26      shogi pieces
27  - moves of promoted pieces (legalitycheck.h getMoveType() -> ?)
28  - drops
29         - pieces do not appear in pool
30         ? -> moveserializer.* serialize()
31  - dropped pawn cannot checkmate (not in master ?!)
32  - piece orientation
33  - japanese digits on shogiban (shogiban.h borderCoords() -> move to theme ?)
34  - put correct credits in variants/shogi/*
35  - knight moves -> caracterize jump moves instead of hardcoding Knight in animations
36  - Pawn::setPromotion
37  - caracterize royal status (maybe policy-driven to account for Prince in Sho)
38    instead of hardcoding King
39  - king and knight do not have a figurine displayed
41 other general non-shogi-related things to do quickly:
42 - find out how to use uninstalled plugins, document running from source tree
43 - use git-describe for debian package versionning
44 - solve missing icons ("View" menu)
45 - shlib versionning scheme
46 - engines do not work any more (No such slot EngineInfo::playAsWhite)
48 tagua core:
49 - gnushogi engine gets confused when moving through history => generic pb ?
50 - tooltips for figurines, for people who can't read kanji
51 - allow for more complex moves (eg. Lion in Chu Shogi)
52   -> maybe by splitting target square, so the piece gets all different
53      moves in one click, depending on which part of the square is hit ?
54 - allow to setup and play problems (tsume shogi)
55 - loading a saved shogi game from PGN does notwork => probable generic issue
56 - install engine declarations system-wide
58 engines/core:
59 - engine options (eg. select difficulty level)
60 - do not allow selection of more than 1 engine for the same side
61 - allow to declare engines system-wide
63 shogi variant:
64 - decorated move could show captured piece
66 gnushogi engine:
67 - gnushogi engine should catch "Illegal move: " notices from gnushogi
68 - engine should detect endgame conditions from gnushogi:
69         "Drawn game!" "Black mates!"
70   (gnushogi only reports a draw on one side !?)
71 - support for time
73 fetching games from the net for learning:
74 - http://play.chessvariants.org/
75 - http://brainking.com/