Eu quero uma maneira de criar muitas unidades diferentes sem precisar programar coisas como as ações moveTo e Attack mais de uma vez
Do jeito que eu vejo, existem 2 maneiras de fazer isso.
- Uma única classe de unidade genérica com sinalizadores que especifica o que pode / não pode fazer (crie instâncias em uma matriz estática e agarre-as quando necessário)
- Classe de unidade abstrata com métodos abstratos para ações específicas da unidade, como (Ataque, Colheita, Patrulha), que precisam ser implementadas nas subclasses , mesmo que a unidade não possa realmente coletar nada.
a primeira maneira de fazer isso parece a mais simples, mas eu acabaria tendo um monte de código não sendo usado para a maioria das unidades.
a segunda maneira também poderia funcionar. Mas se eu decidir ter duas unidades diferentes que podem coletar recursos, terei exatamente o mesmo código em duas classes diferentes, o que não parece ser o caminho certo para fazê-lo.
Essa é a abordagem correta para esse problema?
Em um jogo como AoE, todas as unidades têm, o que eu presumo, algum tipo de lista de ações / ordens, eu realmente gostaria de saber como obter algo semelhante a esse, onde eu possa apenas codificar cada ação / ordem uma vez, e depois, entregue-o a todas as unidades que precisam da referida ação.
Se não estiver claro (altamente plausível) ou se precisar de mais informações sobre o que exatamente estou procurando, pergunte-me em um comentário.