コード例 #1
0
    public seekUsingGraphComp(Agent agente, Agent objetivo, double max)
    {
        agent       = agente;
        target      = objetivo;
        maxA        = max;
        grafoActual = new Grafo();
        grafoActual.crearLados();
        A       = new Aestrella();
        camino  = new List <Nodo>();
        pc      = new pointChecker();
        arrived = false;

        actual = 0;
    }
コード例 #2
0
        public Grafo()
        {
            pc = new pointChecker();
            Nodo nodoAux;
            Nodo nodoAux2;

            for (int i = 0; i < 20; i = i + 2)
            {
                if ((i == 4) || (i == 14))
                {
                    continue;
                }
                else
                {
                    for (int j = 0; j < 10; j = j + 2)
                    {
                        nodoAux = new Nodo(new Tuple <double, double>((-10 + i), (5 - j)),
                                           new Tuple <double, double>((-10 + i), (5 - j - 2)),
                                           new Tuple <double, double>((-10 + i + 2), (5 - j - 2)));

                        nodoAux2 = new Nodo(new Tuple <double, double>((-10 + i), (5 - j)),
                                            new Tuple <double, double>((-10 + i + 2), (5 - j)),
                                            new Tuple <double, double>((-10 + i + 2), (5 - j - 2)));

                        this.AgregarNodo(nodoAux);
                        this.AgregarNodo(nodoAux2);
                    }
                }
            }

            // Con i = 4

            nodoAux = new Nodo(new Tuple <double, double>(-6, 5),
                               new Tuple <double, double>(-6, 3),
                               new Tuple <double, double>(-4, 3));
            nodoAux.SetAltura(-1);

            this.AgregarNodo(nodoAux);

            nodoAux = new Nodo(new Tuple <double, double>(-6, 5),
                               new Tuple <double, double>(-4, 5),
                               new Tuple <double, double>(-4, 3));
            nodoAux.SetAltura(-1);

            this.AgregarNodo(nodoAux);

            nodoAux = new Nodo(new Tuple <double, double>(-6, -3),
                               new Tuple <double, double>(-6, -5),
                               new Tuple <double, double>(-4, -5));
            nodoAux.SetAltura(1);

            this.AgregarNodo(nodoAux);

            nodoAux = new Nodo(new Tuple <double, double>(-6, -3),
                               new Tuple <double, double>(-4, -3),
                               new Tuple <double, double>(-4, -5));
            nodoAux.SetAltura(1);

            this.AgregarNodo(nodoAux);

            // con i = 14

            nodoAux = new Nodo(new Tuple <double, double>(4, 5),
                               new Tuple <double, double>(4, 3),
                               new Tuple <double, double>(6, 3));
            nodoAux.SetAltura(-1);

            this.AgregarNodo(nodoAux);

            nodoAux = new Nodo(new Tuple <double, double>(4, 5),
                               new Tuple <double, double>(6, 5),
                               new Tuple <double, double>(6, 3));
            nodoAux.SetAltura(-1);

            this.AgregarNodo(nodoAux);

            nodoAux = new Nodo(new Tuple <double, double>(4, -3),
                               new Tuple <double, double>(4, -5),
                               new Tuple <double, double>(6, -5));
            nodoAux.SetAltura(1);

            this.AgregarNodo(nodoAux);

            nodoAux = new Nodo(new Tuple <double, double>(4, -3),
                               new Tuple <double, double>(6, -3),
                               new Tuple <double, double>(6, -5));
            nodoAux.SetAltura(1);

            this.AgregarNodo(nodoAux);

            this.crearLados();
        }