BlocksLayer.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /********************************************************************
  2. * Nomes: Gabriel Capella Números USP: 8962078
  3. * João Herique Luciano 8535957
  4. *
  5. * Tarefa: RedCore - EP2 MAC0463
  6. * Arquivo: BlocksLayer.h
  7. * Descrição: Classe de construção dos blocos - header
  8. ********************************************************************/
  9. #ifndef BlocksLayer_h
  10. #define BlocksLayer_h
  11. #include "cocos2d.h"
  12. class BlocksLayer : public cocos2d::Node {
  13. public:
  14. /**
  15. * @brief Inicializa os blocos da fase
  16. */
  17. virtual bool init();
  18. /**
  19. * @brief Configura os blocos de acordo com nível da fase
  20. *
  21. * @param level - indica o nível da fase a ser criada
  22. */
  23. void setLevel(int level);
  24. /**
  25. * @brief Macro do cocos2d-x para criar o método create(), que
  26. * cria um objeto dessa classe
  27. *
  28. * @param Nome da classe à qual o objeto pertence
  29. */
  30. CREATE_FUNC(BlocksLayer);
  31. private:
  32. /**
  33. * @brief Cria uma camada de blocos ao redor do núcleo
  34. *
  35. * @param size - espessura
  36. * @param number - número da camada
  37. * @param number_of_segments - número de segmentos (blocos) da camada
  38. * @param p - probabilidade de cada segmento ser indestrutível
  39. * @return - nó da camada de blocos
  40. */
  41. Node* createCircle (double size, int number, int number_of_segments, double p);
  42. /**
  43. * @brief - cria um bloco (segmento da camada)
  44. *
  45. * @param r_internal - raio do círculo que delimita a parte mais interna da camada
  46. * @param r_externa - raio do círculo que delimita a parte mais externa da camada
  47. * @param begin - onde começa lateralmente o bloco
  48. * @param end - onde termina lateralmente o bloco
  49. * @param especial - indica se o bloco em questão é indestrutível ou não
  50. * @return [description]
  51. */
  52. Node* createSegment (double r_internal, double r_externa, double begin, double end, bool especial);
  53. };
  54. #endif /* BlocksLayer_h */