Example #1
0
        public void SetUp()
        {
            ControladorJuego controlador = new GameObject("ControladorJuego").AddComponent <ControladorJuego>();

            nodoInicio  = new Vector2(2, 3);
            nodoDestino = new Vector2(23, 13);

            nodoPruebas       = new Vector2(6, 7);
            nodoPruebasVecino = new Vector2(6, 8);

            tamaño = TamañoEntidad.NORMAL;

            aEstrella = new AEstrella(nodoInicio, nodoDestino, tamaño);
        }
    /// <summary>
    /// Este constructor asume que el destino es cualquier casillero que
    /// esté adyacente al personaje.
    /// </summary>
    /// <param name="inicio">Posición de inicio.</param>
    public AEstrella(Vector2 inicio, TamañoEntidad tamañoEntidad)
    {
        this.Inicio        = inicio;
        this.Destino       = Vector2.negativeInfinity;
        this.TamañoEntidad = tamañoEntidad;

        this.NodosAbiertos = new List <Vector2>();
        this.NodosCerrados = new List <Vector2>();

        this.NodosAbiertos.Add(Inicio);

        this.NodoAnterior = new Dictionary <Vector2, Vector2>();
        NodoAnterior.Add(Inicio, Vector2.negativeInfinity);

        this.PuntajeG = new Dictionary <Vector2, float>();
        PuntajeG.Add(Inicio, 0);
    }
    /// <summary>
    /// Devuelve el diccionario de posiciones correspondiente al tamaño de la
    /// entidad.
    /// </summary>
    /// <param name="tamaño">Tamaño de la entidad</param>
    /// <returns>Diccionario de posiciones relativas posibles que puede ocupar
    /// la entidad.</returns>
    public static Dictionary <Vector2, List <Vector2> > ObtenerCasillerosVálidos(TamañoEntidad tamaño)
    {
        switch (tamaño)
        {
        case TamañoEntidad.NORMAL:
            return(CasillerosTamañoNormal);

        case TamañoEntidad.GRANDE:
            return(CasillerosTamañoGrande);

        case TamañoEntidad.GIGANTE:
            return(CasillerosTamañoGigante);

        default:
            return(CasillerosTamañoNormal);
        }
    }