5 #include <boost/scoped_ptr.hpp>
8 void usage (
const char *program_name)
10 std::cerr <<
"Usage: " << program_name <<
" KISEN-FILE [out]"
15 void check_all(
const char*filename,
const char *output)
18 boost::scoped_ptr<std::ofstream> os;
19 boost::scoped_ptr<osl::record::OKisenStream>
out;
21 os.reset(
new std::ofstream(output));
25 for (
size_t i = 0; i < kisen.
size(); i++)
28 if ((i % 16) == 15 || i + 1 == kisen.
size())
29 std::cout << std::endl;
33 osl::vector<osl::Move>
moves;
37 for (; j < moves.size(); j++)
40 = state.kingSquare(
alt(state.turn()));
41 if (state.hasEffectAt(state.turn(), opKingSquare))
47 state.makeMove(moves[j]);
52 std::cerr << e.what();
60 int main(
int argc,
char **argv)
62 if (! (argc == 2 || argc == 3))
65 check_all(argv[1], (argc == 3) ? argv[2] :
"");