-
Notifications
You must be signed in to change notification settings - Fork 16
Ideas
Meter el árbol parseado en una tabla hash, con clave su derivación (que es un string).
Implementar un método de huida separado para que no nos lo "copien" los fantasmas cuanto Pacman se come una powerpill
Primero, emplear un método equivalente a la versión 1 que calculé una dirección por la que huir al fantasma más cercano. Si esa dirección está bloqueada se realizará la siguiente comprobación:
- Si solo hay una dirección no opuesta a la calculada, tomarla.
- En otro caso, decidir por cual de las dos direcciones perpendiculares huir en función a las direcciones de huida de los fantasmas por orden de cercanía. Si todo falla, random.
Emplear una lista de enumerados calculados a partir de un string, que evita tener que parsear el fenotipo en cada movimiento, así como el uso de if/else con bloques (es decir, con número de aviones variable).
Emplear dicho nuevo tipo de enumerado para evitar realizar un parseo del fenotipo durante la ejecución. Dicho enum contendrá dos categorias:
-
Acciones: Al ejecutar su método run calcularán el próximo movimiento (a partir de una función única en su interior) así como un índice (constante) con el siguiente enumerado de la lista a leer
-
Condicionales: Al ejecutarse, evaluarán una función única en su interior. Después, ejecutará el método run del índice apropiado: indexTaken o indexNotTaken, es decir, true o falsedad.