refresh 3ae4a751eaf554024066d9570a37afdec83ad3e8
[tagua/yd.git] / TODO_shogi
blob1c37c2d527279463f1fb4d7218fdacc37aa01a78
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         - pieces do not appear in pool
13         ? -> moveserializer.* serialize()
14  - dropped pawn cannot checkmate (not in master ?!)
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  - Pawn::setPromotion
21  - caracterize royal status (maybe policy-driven to account for Prince in Sho)
22    instead of hardcoding King
24 other general non-shogi-related things to do quickly:
25 - find out how to use uninstalled plugins, document running from source tree
26 - use git-describe for debian package versionning
27 - solve missing icons ("View" menu)
28 - shlib versionning scheme
29 - engines do not work any more (No such slot EngineInfo::playAsWhite)
31 tagua core:
32 - gnushogi engine gets confused when moving through history => generic pb ?
33 - tooltips for figurines, for people who can't read kanji
34 - allow for more complex moves (eg. Lion in Chu Shogi)
35   -> maybe by splitting target square, so the piece gets all different
36      moves in one click, depending on which part of the square is hit ?
37 - allow to setup and play problems (tsume shogi)
38 - loading a saved shogi game from PGN does notwork => probable generic issue
39 - install engine declarations system-wide
41 shogi variant:
42 - pools overlap when too many pieces were captured
43 - decorated move could show captured piece
45 gnushogi engine:
46 - gnushogi engine should catch "Illegal move: " notices from gnushogi
47 - engine should detect endgame conditions from gnushogi:
48         "Drawn game!" "Black mates!"
49   (gnushogi only reports a draw on one side !?)
50 - support for time
52 other shogi:
53 - implement ACS protocol and shogi-server extended commands
54         http://www.computer-shogi.org/protocol/tcp_ip_server_11_e.html
55         http://shogi-server.sourceforge.jp/protocol.html
57 fetching games from the net for learning:
58 - http://play.chessvariants.org/
59 - http://brainking.com/