All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
kifu-to-myshogi.cc
Go to the documentation of this file.
1 /* kifu-to-myshogi.cc
2  */
3 #include "osl/record/myshogi.h"
4 #include "osl/record/kakinoki.h"
5 #include <iostream>
6 using namespace std;
7 int main(int argc, char **argv) {
8  if (! argv[1] || ! osl::KakinokiFile::isKakinokiFile(argv[1]))
9  return 1;
10  std::string filename = argv[1];
11  const osl::KakinokiFile file(filename);
12  const osl::record::Record record = file.getRecord();
13  osl::vector<osl::Move> moves = record.getMoves();
14  osl::NumEffectState state = record.getInitialState();
15  for (size_t i=0; i<moves.size(); ++i) {
16  osl::NumEffectState next(state);
17  next.makeMove(moves[i]);
18  std::cout << osl::record::myshogi::show(next, moves[i], state, true) << "\n";
19  state = next;
20  }
21 }
22 // ;;; Local Variables:
23 // ;;; mode:c++
24 // ;;; c-basic-offset:2
25 // ;;; End: