Parse kanji records such as "7六歩", the style of which is generally used to write Shogi records in Japanese. [詳細]
#include <kanjiMove.h>
Public メソッド | |
KanjiMove () | |
~KanjiMove () | |
const Move | strToMove (const std::string &, const NumEffectState &state, const Move &last_move) const |
Convert a Japanese string (one token) to a move object. | |
void | setVerbose (bool verbose) |
Position | toPosition (const std::string &) const |
Ptype | toPtype (const std::string &) const |
Private 型 | |
typedef std::list< Move > | found_moves_t |
typedef hash_map< std::string, Position, boost::hash < std::string > > | str2position_t |
typedef hash_map< std::string, Ptype, boost::hash < std::string > > | str2piece_t |
Private メソッド | |
void | selectCandidates (found_moves_t &found, std::string &str, const Position &to_pos, const Player &player) const |
Private 変数 | |
str2position_t | str2position |
str2piece_t | str2piece |
bool | verbose |
Parse kanji records such as "7六歩", the style of which is generally used to write Shogi records in Japanese.
kanjiMove.h の 27 行で定義されています。
typedef std::list<Move> osl::record::KanjiMove::found_moves_t [private] |
kanjiMove.h の 44 行で定義されています。
typedef hash_map<std::string, Ptype, boost::hash<std::string> > osl::record::KanjiMove::str2piece_t [private] |
kanjiMove.h の 52 行で定義されています。
typedef hash_map<std::string, Position, boost::hash<std::string> > osl::record::KanjiMove::str2position_t [private] |
kanjiMove.h の 50 行で定義されています。
osl::record::KanjiMove::KanjiMove | ( | ) |
kanjiMove.cc の 223 行で定義されています。
参照先 osl::BISHOP, osl::record::StandardCharacters::dan, osl::GOLD, osl::record::K_BISHOP, osl::record::K_GOLD, osl::record::K_KING, osl::record::K_KNIGHT, osl::record::K_LANCE, osl::record::K_PAWN, osl::record::K_PBISHOP, osl::record::K_PKNIGHT_D, osl::record::K_PLANCE_D, osl::record::K_PPAWN, osl::record::K_PROOK, osl::record::K_PROOK2, osl::record::K_PSILVER_D, osl::record::K_ROOK, osl::record::K_SILVER, osl::KING, osl::KNIGHT, osl::LANCE, osl::PAWN, osl::PBISHOP, osl::PKNIGHT, osl::PLANCE, osl::PPAWN, osl::PROOK, osl::PSILVER, osl::ROOK, osl::SILVER, str2piece, str2position, と osl::record::StandardCharacters::suji.
osl::record::KanjiMove::~KanjiMove | ( | ) |
kanjiMove.cc の 253 行で定義されています。
void osl::record::KanjiMove::selectCandidates | ( | found_moves_t & | found, | |
std::string & | str, | |||
const Position & | to_pos, | |||
const Player & | player | |||
) | const [private] |
kanjiMove.cc の 276 行で定義されています。
参照先 osl::BLACK, osl::Move::from(), osl::record::K_HIDARI, osl::record::K_HIKU, osl::record::K_MIGI, osl::record::K_SHITA, osl::record::K_SUGU, osl::record::K_UE, osl::record::K_YORU, osl::record::K_YUKU, osl::eval::max(), osl::eval::min(), moveFromX(), moveFromY(), osl::WHITE, osl::Position::x(), と osl::Position::y().
参照元 strToMove().
void osl::record::KanjiMove::setVerbose | ( | bool | verbose | ) | [inline] |
kanjiMove.h の 39 行で定義されています。
const osl::Move osl::record::KanjiMove::strToMove | ( | const std::string & | orig, | |
const NumEffectState & | state, | |||
const Move & | last_move | |||
) | const |
Convert a Japanese string (one token) to a move object.
kanjiMove.cc の 359 行で定義されています。
参照先 osl::BLACK, osl::Move::INVALID(), osl::Move::isDrop(), osl::Move::isPromote(), osl::record::K_BLACK_SIGN, osl::record::K_FUNARI, osl::record::K_NARU, osl::record::K_ONAZI, osl::record::K_SPACE, osl::record::K_UTSU, moves, osl::Move::oldPtype(), selectCandidates(), osl::Move::to(), toPosition(), toPtype(), verbose, と osl::WHITE.
osl::Position osl::record::KanjiMove::toPosition | ( | const std::string & | s | ) | const |
kanjiMove.cc の 258 行で定義されています。
参照先 str2position.
osl::Ptype osl::record::KanjiMove::toPtype | ( | const std::string & | s | ) | const |
kanjiMove.cc の 267 行で定義されています。
参照先 str2piece.
str2piece_t osl::record::KanjiMove::str2piece [private] |
kanjiMove.h の 53 行で定義されています。
参照元 KanjiMove(), と toPtype().
kanjiMove.h の 51 行で定義されています。
参照元 KanjiMove(), と toPosition().
bool osl::record::KanjiMove::verbose [private] |
kanjiMove.h の 54 行で定義されています。
参照元 strToMove().