My Project
usi.h
Go to the documentation of this file.
1/* usi.h
2 */
3#ifndef OSL_USI_H
4#define OSL_USI_H
5
7#include <vector>
8#include <string>
9#include <stdexcept>
10
11namespace osl
12{
13 namespace usi
14 {
15 const Move strToMove(const std::string&, const NumEffectState&);
16 PtypeO charToPtypeO(char);
17
18 const std::string show(Move);
19 const std::string show(PtypeO);
20 const std::string show(Piece);
21 const std::string show(const NumEffectState&);
22
23 class ParseError : public std::invalid_argument
24 {
25 public:
26 ParseError(const std::string& msg = "")
27 : invalid_argument(msg)
28 { }
29 };
30
37 void parseBoard(const std::string& board, NumEffectState&);
39 void parse(const std::string& line, NumEffectState&);
40 void parse(const std::string& line, NumEffectState& initial, std::vector<Move>& moves);
41
42 NumEffectState makeState(const std::string& line);
43 }
44
49 namespace psn
50 {
51 class ParseError : public std::invalid_argument
52 {
53 public:
54 ParseError(const std::string& msg = "")
55 : invalid_argument(msg)
56 { }
57 };
58 const Move strToMove(const std::string&, const SimpleState&);
59 const Square strToPos(const std::string&);
60 Ptype charToPtype(char);
61
62 const std::string show(Move);
63 const std::string show(Square);
64 char show(Ptype);
65
67 const std::string showXP(Move);
68 }
69} // osl
70
71#endif /* OSL_USI_H */
72// ;;; Local Variables:
73// ;;; mode:c++
74// ;;; c-basic-offset:2
75// ;;; End:
圧縮していない moveの表現 .
利きを持つ局面
ParseError(const std::string &msg="")
Definition usi.h:54
ParseError(const std::string &msg="")
Definition usi.h:26
const Square strToPos(const std::string &)
Definition usi.cc:115
const std::string showXP(Move)
decorate capture by 'x', promote by '+', and unpromote by '='
Definition usi.cc:58
const std::string show(Move)
Definition usi.cc:39
Ptype charToPtype(char)
Definition usi.cc:126
const Move strToMove(const std::string &, const SimpleState &)
Definition usi.cc:87
const Move strToMove(const std::string &, const NumEffectState &)
Definition usi.cc:226
NumEffectState makeState(const std::string &line)
Definition usi.cc:312
PtypeO charToPtypeO(char)
Definition usi.cc:246
void parse(const std::string &line, NumEffectState &)
[sfen <sfenstring> | startpos ] moves <move1> ... <movei>
Definition usi.cc:301
void parseBoard(const std::string &board, NumEffectState &)
盤面を取得する.
Definition usi.cc:255
const std::string show(Move)
Definition usi.cc:146
Ptype
駒の種類を4ビットでコード化する
Definition basic_type.h:84
PtypeO
Player + Ptype [-15, 15] PtypeO の O は Owner の O.
Definition basic_type.h:199