Example #1
0
        public void Mover(Point destino)
        {
            var coordenadaActual = ObtenerCoordenada();

            var nodoExistente = mapa.ObtenerNodo(coordenadaActual.Posicion);

            if (nodoExistente == null)
            {
                mapa.AgregarNodoAsociadoAlCercano(new Nodo(coordenadaActual.Posicion.X, coordenadaActual.Posicion.Y));
            }

            var camino = DefinirCamino(coordenadaActual.Posicion, destino);

            _log.Info($"Camino: {camino.ExtendedToString()}");
            foreach (var nodo in camino)
            {
                if (!nodo.HayInterseccion(coordenadaActual.Posicion))
                {
                    MoverANodo(coordenadaActual, nodo);
                }
            }
        }