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