Пример #1
0
        public void PosiblesDirs2()
        {
            //Arrange
            Tablero tab = new Tablero(3, 3);

            tab.setPersonaje(1, 1, 1, 0, 1);
            tab.cambiaCasilla(0, 1, Tablero.Casilla.Muro);
            ListaPares l = new ListaPares();
            //Creamos la lista con las direcciones que tendrian que aparecer
            ListaPares newL = new ListaPares();

            //Añadimos las direcciones que tendria que llevar
            newL.insertaFin(1, 0);
            newL.insertaFin(0, 1);
            //Aqui almacenaremos las direcciones
            int dX, dY, ndX, ndY;
            int cont = 0;

            //Act
            tab.posiblesDirs(1, out l, out cont);
            //Assert
            //Primero comprobamos que solo haya tres direcciones
            Assert.AreEqual(2, cont, "Error, hay mas/menos direcciones");
            //Hay que comprobar que estan añadidas las direcciones
            for (int i = 0; i < cont; i++)
            {
                l.nEsimo(i, out dX, out dY);
                newL.nEsimo(i, out ndX, out ndY);
                Assert.AreEqual(dX, ndX, "Error,la direccion X " + i + " no coincide");
                Assert.AreEqual(dY, ndY, "Error,la direccion Y " + i + " no coincide");
            }
        }
Пример #2
0
        public void posiblesDirs(int fant, out ListaPares l, out int cont)
        {
            l    = new ListaPares();
            cont = 4;
            l.insertaFin(1, 0);
            l.insertaFin(0, 1);
            l.insertaFin(-1, 0);
            l.insertaFin(0, -1);

            l.iniciaRecorrido();

            int dx, dy;
            int nx, ny;

            while (l.dame_actual_y_avanza(out dx, out dy))
            {
                if (!siguiente(pers[fant].posX, pers[fant].posY, dx, dy, out nx, out ny))
                {
                    l.eliminaElto(dx, dy);
                    cont--;
                }
            }

            if (cont > 1)
            {
                if (l.eliminaElto(-pers[fant].dirX, -pers[fant].dirY))
                {
                    cont--;
                }
            }
        }