Quiero una manera de hacer muchas unidades diferentes sin tener que programar cosas como moveTo y Attack más de una vez
A mi modo de ver, hay 2 formas en que puedo hacer esto.
- Una única clase de Unidad genérica con banderas que especifica lo que puede / no puede hacer (luego cree instancias en una matriz estática y agárrelas cuando sea necesario)
- Clase de unidad abstracta con métodos abstractos para acciones específicas de la Unidad como (Ataque, Cosecha, Patrulla), que luego deben implementarse en las subclases , incluso si la unidad no puede cosechar nada.
La primera forma de hacer esto parece la más simple, pero terminaría teniendo una gran cantidad de código sin usar para la mayoría de las unidades.
la segunda forma también podría funcionar. Pero si decido tener dos unidades diferentes que puedan recolectar recursos, tendré exactamente el mismo código en dos clases diferentes, lo que no parece ser la forma correcta de hacerlo.
¿Es este incluso el enfoque correcto para este problema?
En un juego como AoE, cada unidad tiene, lo que supongo es, algún tipo de Lista de Acciones / Órdenes, realmente me gustaría saber cómo lograr algo similar a eso, donde puedo codificar cada Acción / Orden una vez, y luego dáselo a todas las unidades que necesiten dicha Acción.
Si no estoy claro (muy plausible) o si necesita más información sobre lo que estoy buscando exactamente, solo pregúnteme en un comentario.