Skip to content

Replace Array with Object #16

Description

@kelvin10457

Clase: Board
Método(s): move(), checkCollision(), locateApple(), initGame()

Descripción de la solución: Se aplicó la técnica de refactorización Replace Array with Object para eliminar los arreglos paralelos de primitivos int[] x e int[] y que representaban las coordenadas de cada segmento de la serpiente, y los campos sueltos apple_x / apple_y. Se introdujo un record Point inmutable como abstracción de dominio y el cuerpo de la serpiente se representa como List segments. La posición de la manzana pasa a ser Point applePosition. Todos los métodos que accedían a los arreglos de forma sincronizada se simplifican para operar sobre objetos cohesivos, eliminando la variable dots (reemplazada por segments.size()) y el límite estático ALL_DOTS = 900.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions