Skip to content

Conversation

@leticiacb1
Copy link
Collaborator

Abstração escolhida: Criar uma superclasse para representar características em comum.

A superclasse abstrata Pirata foi criada para representar, de forma geral, as características das classes piratas_esquerda,pirata_direita,pirata_baixo e pirata_cima. Essas classes possuiam atributos comuns assim como funções semelhantes como update (atualização dos estados e posições no mapa desses sprites), draw_health (desenha a barra de vida de acordo com os danos sofridos por cada sprite).

Foram agrupadas caracteristicas em comum e repetidas em cada uma dessas classes nessa superclasse (Pirata) e utilizou-se herança e polimorfismo para passar essas características comuns a todas. A função draw_health, por exemplo, foi completamente aproveitada por todas as classes filhas.

@leticiacb1
Copy link
Collaborator Author

Coesão escolhida: Extrair funções ou métodos para separar responsabilidades.

Extraiu-se as funções sortea_posicao e spawan_na_posicaoX, para melhor divisão de tarefas que antes eram feitas em conjunto e sem separação de responsabilidade pela função resnasce.

A função sortea_posição agora é responsável por sortear de forma aleatória um sprite. Enquanto a função spawan_na_posicaoX, sendo está utilizada pela função anterior (sortea_posicao), decide em qual posição spawnar o sprite escolhido.

Dessa forma , houve uma maior divisão das funcionalidades, melhorando a especificidade dessa parte do código.

@leticiacb1
Copy link
Collaborator Author

Integrantes:

  • Letícia Coêlho Barbosa

  • Lister Ogusuku Ribeiro

  • Matheus Silva Melo de Oliveira

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants