English: I built this project to practice algorithm implementation and software architecture. The goal was to create a pathfinder that isn't just a script, but a modular application separated into layers. It allows users to define a start point, an end point, and draw obstacles. The system calculates the most efficient route avoiding walls using the Breadth-First Search (BFS) algorithm.
Español: Desarrollé este proyecto para practicar la implementación de algoritmos y la arquitectura de software. El objetivo era crear un buscador de rutas modular y separado por capas. Permite definir inicio, fin y obstáculos. El sistema calcula la ruta más eficiente esquivando muros utilizando el algoritmo de Búsqueda en Anchura (BFS).
- ✅ Algorithm Choice: Uses BFS (Breadth-First Search) because it mathematically guarantees finding the shortest path in an unweighted grid.
- Algoritmo: Usa BFS porque garantiza matemáticamente el camino más corto en una cuadrícula sin pesos.
- ✅ Coordinate System Translation: Implements a conversion method to translate Java's array indexing
[0][0](top-left) to standard Cartesian coordinates(x,y)(bottom-left), making it intuitive for the user.- Traducción de Coordenadas: Convierte los índices de array de Java (arriba-izq) a coordenadas cartesianas estándar (abajo-izq) para un uso intuitivo.
- ✅ Layered Architecture: The code is strictly organized into packages.
- Arquitectura por Capas: Código organizado estrictamente en paquetes.
src/
├── entidades/ # Data model (The Grid/Tablero)
├── logica/ # Core Algorithm (BFS Implementation)
└── vista/ # UI (JFrame, Matriz.java, Graphics)