Libsaki
Core library of Pancake Mahjong
himematsu_suzu.h
1 #ifndef SAKI_GIRL_HIMEMATSU_SUZU_H
2 #define SAKI_GIRL_HIMEMATSU_SUZU_H
3 
4 #include "../table/girl.h"
5 
6 
7 
8 namespace saki
9 {
10 
11 
12 
13 class Suzu : public GirlCrtp<Suzu>
14 {
15 public:
17  void onDice(util::Rand &rand, const Table &table) override;
18  void onMonkey(std::array<Exist, 4> &exists, const Table &table) override;
19  bool checkInit(Who who, const Hand &init, const Table &table, int iter) override;
20  void onDraw(const Table &table, Mount &mount, Who who, bool rinshan) override;
21 
22  std::string popUpStr() const override;
23 
24 private:
25  static const std::array<int, 4> POWERS;
26  static const int Z_POWER = 80;
27 
28  bool mExploded = false;
29 };
30 
31 
32 
33 } // namespace saki
34 
35 
36 
37 #endif // SAKI_GIRL_HIMEMATSU_SUZU_H
Definition: mount.h:54
Definition: table.h:87
Definition: rand.h:19
Definition: himematsu_suzu.h:13
Definition: ai.cpp:18
void onDice(util::Rand &rand, const Table &table) override
Called when someone is about to dice.
Definition: himematsu_suzu.cpp:15
Definition: hand.h:17
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: himematsu_suzu.cpp:57
Definition: girl.h:212
Definition: who.h:14