10 #include <boost/algorithm/string/predicate.hpp>
14 namespace csa=osl::record::csa;
17 for (
size_t i=0; i<moves.size(); ++i) {
18 const Move selected = moves[i];
22 cout <<
"selected " <<
csa::show(selected) <<
" others";
23 for (
size_t j=0; j<all.size(); ++j) {
24 if (all[j] != selected)
29 state.makeMove(selected);
32 int main(
int argc,
char **argv) {
33 for (
int i=1; i<argc; ++i) {
34 const char *filename = argv[i];
35 if (boost::algorithm::iends_with(filename,
".csa")) {
36 const CsaFile csa(filename);
37 run(csa.getRecord().getMoves());
39 else if (boost::algorithm::iends_with(filename,
".ki2")) {
40 const Ki2File ki2(filename);
41 run(ki2.getRecord().getMoves());
43 else if (boost::algorithm::iends_with(filename,
".kif")
44 && KakinokiFile::isKakinokiFile(filename)) {
45 const KakinokiFile kif(filename);
46 run(kif.getRecord().getMoves());
48 else if (boost::algorithm::iends_with(filename,
".kif")) {
49 KisenFile kisen(filename);
50 for (
size_t j=0; j<kisen.size(); ++j)
51 run(kisen.getMoves(j));
54 cerr <<
"Unknown file type: " << filename <<
"\n";