/******************************************************************** * Nomes: Gabriel Capella Números USP: 8962078 * João Herique Luciano 8535957 * * Tarefa: RedCore - EP2 MAC0463 * Arquivo: BlocksLayer.h * Descrição: Classe de construção dos blocos - header ********************************************************************/ #ifndef BlocksLayer_h #define BlocksLayer_h #include "cocos2d.h" class BlocksLayer : public cocos2d::Node { public: /** * @brief Inicializa os blocos da fase */ virtual bool init(); /** * @brief Configura os blocos de acordo com nível da fase * * @param level - indica o nível da fase a ser criada */ void setLevel(int level); /** * @brief Macro do cocos2d-x para criar o método create(), que * cria um objeto dessa classe * * @param Nome da classe à qual o objeto pertence */ CREATE_FUNC(BlocksLayer); private: /** * @brief Cria uma camada de blocos ao redor do núcleo * * @param size - espessura * @param number - número da camada * @param number_of_segments - número de segmentos (blocos) da camada * @param p - probabilidade de cada segmento ser indestrutível * @return - nó da camada de blocos */ Node* createCircle (double size, int number, int number_of_segments, double p); /** * @brief - cria um bloco (segmento da camada) * * @param r_internal - raio do círculo que delimita a parte mais interna da camada * @param r_externa - raio do círculo que delimita a parte mais externa da camada * @param begin - onde começa lateralmente o bloco * @param end - onde termina lateralmente o bloco * @param especial - indica se o bloco em questão é indestrutível ou não * @return [description] */ Node* createSegment (double r_internal, double r_externa, double begin, double end, bool especial); }; #endif /* BlocksLayer_h */