00001 #ifndef HEADER_LANDSLIP_H 00002 #define HEADER_LANDSLIP_H 00003 00004 #include "NoCopy.h" 00005 #include "Cube.h" 00006 #include "ModelList.h" 00007 00008 /** 00009 * Landslip for every round. 00010 */ 00011 class Landslip : public NoCopy { 00012 private: 00013 ModelList m_models; 00014 Cube::eWeight m_impact; 00015 bool *m_stoned; 00016 private: 00017 bool isOnPad(const Cube *model) const; 00018 bool isFixed(const Cube *model) const; 00019 bool isStoned(const Cube *model) const; 00020 void stone(const Cube *model); 00021 public: 00022 Landslip(const ModelList &models); 00023 ~Landslip(); 00024 00025 bool computeFall(); 00026 Cube::eWeight getImpact() { return m_impact; } 00027 00028 bool stoneModel(const Cube *model); 00029 bool fallModel(Cube *model); 00030 }; 00031 00032 #endif