Libsaki
Core library of Pancake Mahjong
x_shino.h
1 #ifndef SAKI_GIRL_X_SHINO_H
2 #define SAKI_GIRL_X_SHINO_H
3 
4 #include "../table/girl.h"
5 
6 
7 
8 namespace saki
9 {
10 
11 
12 
13 class Shino : public GirlCrtp<Shino>
14 {
15 public:
17 
18  bool checkInit(Who who, const Hand &init, const Table &table, int iter) override;
19  void onDraw(const Table &table, Mount &mount, Who who, bool rinshan) override;
20 
21  std::string popUpStr() const override;
22 
23  void onTableEvent(const Table &table, const TableEvent &event) override;
24 
25 private:
26  void powerPinfu(const Hand &hand, const River &r, Mount &m, int posMk);
27  void powerIipei(const Hand &hand, const River &r, Mount &m, int posMk, int negMk);
28  bool power3sk(const Hand &hand, Mount &mount, int posMk, int negMk);
29  void powerChanta(const Hand &hand, Mount &m, int mk);
30 
31 private:
32  T34 mBreakPair;
33 };
34 
35 
36 
37 } // namespace saki
38 
39 
40 
41 #endif // SAKI_GIRL_X_SHINO_H
Definition: table_event.h:23
Definition: mount.h:54
Definition: table.h:87
Definition: tile.h:25
Definition: ai.cpp:18
Definition: x_shino.h:13
Definition: hand.h:17
Stactor = statically allocated vector.
Definition: stactor.h:247
void onDraw(const Table &table, Mount &mount, Who who, bool rinshan) override
Called when someone is about to draw a tile from the mountain.
Definition: x_shino.cpp:34
Definition: girl.h:212
Definition: who.h:14