refresh 77518ae98cef372c3d26fc7e5c43c5ad4a09c6f5
[tagua/yd.git] / TODO_shogi
blob4ad2526cf052b9370e29d3f1cfa62fd13dd4b588
1 component-api port:
2 - finalize shogi functionnality:
3  - promoting moves
4         legalitycheck.h pseudolegal() -> validator.cpp
5         gamestate.h promotionZone() -> ?
6         gamestate.h canPromote() -> ?
7         shogiactions.* -> ?
8         ? -> state.cpp move()
9    - mimic Chess::Pawn::setPromotion() into a common ancestor for
10      shogi pieces
11  - moves of promoted pieces (legalitycheck.h getMoveType() -> ?)
12  - drops
13         - pieces do not appear in pool
14         ? -> moveserializer.* serialize()
15  - dropped pawn cannot checkmate (not in master ?!)
16  - piece orientation
17  - japanese digits on shogiban (shogiban.h borderCoords() -> move to theme ?)
18 - put correct credits in variants/shogi/*
19 - generalize required chess components to get rid of libtaguachesslib.so
20  - caracterize jump moves instead of hardcoding Knight in animations
21  - Pawn::setPromotion
22  - caracterize royal status (maybe policy-driven to account for Prince in Sho)
23    instead of hardcoding King
25 other general non-shogi-related things to do quickly:
26 - find out how to use uninstalled plugins, document running from source tree
27 - use git-describe for debian package versionning
28 - solve missing icons ("View" menu)
29 - shlib versionning scheme
30 - engines do not work any more (No such slot EngineInfo::playAsWhite)
32 tagua core:
33 - gnushogi engine gets confused when moving through history => generic pb ?
34 - tooltips for figurines, for people who can't read kanji
35 - allow for more complex moves (eg. Lion in Chu Shogi)
36   -> maybe by splitting target square, so the piece gets all different
37      moves in one click, depending on which part of the square is hit ?
38 - allow to setup and play problems (tsume shogi)
39 - loading a saved shogi game from PGN does notwork => probable generic issue
40 - install engine declarations system-wide
42 engines/core:
43 - engine options (eg. select difficulty level)
44 - do not allow selection of more than 1 engine for the same side
45 - allow to declare engines system-wide
47 shogi variant:
48 - decorated move could show captured piece
50 gnushogi engine:
51 - gnushogi engine should catch "Illegal move: " notices from gnushogi
52 - engine should detect endgame conditions from gnushogi:
53         "Drawn game!" "Black mates!"
54   (gnushogi only reports a draw on one side !?)
55 - support for time
57 fetching games from the net for learning:
58 - http://play.chessvariants.org/
59 - http://brainking.com/