kisen-to-csa.cc
Go to the documentation of this file.
00001 #include "osl/state/numEffectState.h"
00002 #include "osl/record/kisen.h"
00003 #include "osl/record/csaRecord.h"
00004 
00005 #include <iostream>
00006 #include <fstream>
00007 
00008 void usage (const char *program_name)
00009 {
00010   std::cerr << "Usage: " << program_name << " KISENFILE INDEX CSAFILE"
00011             << std::endl;
00012   exit(1);
00013 }
00014 
00015 void convert(const char*kisen_filename, const char *csa_filename, size_t i)
00016 {
00017   osl::record::KisenFile kisen(kisen_filename);
00018   std::ofstream ofs(csa_filename);
00019 
00020   if (i < kisen.size())
00021   {
00022     osl::state::NumEffectState state = kisen.getInitialState();
00023     ofs << state;
00024     const osl::stl::vector<osl::Move> moves = kisen.getMoves(i);
00025     for (size_t j = 0; j < moves.size(); ++j)
00026     {
00027       ofs << osl::record::csa::show(moves[j]) << std::endl;
00028     }
00029   }
00030   else
00031   {
00032     std::cerr << "Index out of bounds: " << i << std::endl;
00033   }
00034 }
00035 
00036 int main(int argc, char **argv)
00037 {
00038   if (argc != 4)
00039     usage(argv[0]);
00040 
00041   convert(argv[1], argv[3], atoi(argv[2]));
00042 
00043   return 0;
00044 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines