refresh 1473503b35649f410fc7197c864b065c31a2eaeb
[tagua/yd.git] / TODO_shogi
blobd08d2c03ed1218f734f86c9070b326a69e57ae0f
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  - moves of promoted pieces (legalitycheck.h getMoveType() -> ?)
9  - drops
10    -> borrow from crazyhouse ?
11         legalitycheck.h pseudolegal() -> validator.cpp
12         gamestate.h move() -> ?
13         gamestate.h captureOn() -> ?
14  - stuck pieces (legalitycheck.h stuckPiece() -> ?)
15  - piece orientation
16  - japanese digits on shogiban (shogiban.h borderCoords() -> move to theme ?)
17 - put correct credits in variants/shogi/*
18 - generalize required chess components to get rid of libtaguachesslib.so
19  - caracterize jump moves instead of hardcoding Knight in animations
20  - caracterize royal status (maybe policy-driven to account for Prince in Sho)
21    instead of hardcoding King
23 other general non-shogi-related things to do quickly:
24 - find out how to use uninstalled plugins, document running from source tree
25 - use git-describe for debian package versionning
26 - find missing UI parts in deb-installed tagua
27 - solve missing icons ("View" menu)
28 - shlib versionning scheme
30 tagua core:
31 - gnushogi engine gets confused when moving through history => generic pb ?
32 - tooltips for figurines, for people who can't read kanji
33 - allow for more complex moves (eg. Lion in Chu Shogi)
34   -> maybe by splitting target square, so the piece gets all different
35      moves in one click, depending on which part of the square is hit ?
36 - allow to setup and play problems (tsume shogi)
37 - loading a saved shogi game from PGN does notwork => probable generic issue
38 - install engine declarations system-wide
40 shogi variant:
41 - pools overlap when too many pieces were captured
42 - decorated move could show captured piece
44 gnushogi engine:
45 - gnushogi engine should catch "Illegal move: " notices from gnushogi
46 - engine should detect endgame conditions from gnushogi:
47         "Drawn game!" "Black mates!"
48   (gnushogi only reports a draw on one side !?)
49 - support for time
51 other shogi:
52 - implement ACS protocol and shogi-server extended commands
53         http://www.computer-shogi.org/protocol/tcp_ip_server_11_e.html
54         http://shogi-server.sourceforge.jp/protocol.html
56 fetching games from the net for learning:
57 - http://play.chessvariants.org/
58 - http://brainking.com/