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