Beispiel #1
0
        public void ImprimirFiguras()
        {
            int cont = 0;

            while (ListaFiguras[cont] != null)
            {
                Figura      f           = ListaFiguras[cont];
                string      tipoFigura  = f.GetTipo();
                Ubicacion[] ubicaciones = f.GetLista();
                Console.WriteLine("Figura:" + tipoFigura);
                int cont2 = 0;
                while (cont2 < ubicaciones.Length)
                {
                    Ubicacion ubi  = ubicaciones[cont2];
                    string    str1 = ubi.GetX().ToString();
                    string    str2 = ubi.GetY().ToString();
                    Console.WriteLine("Ubicaciones: " + "[" + str1 + "," + str2 + "]");
                    cont2++;
                }
                cont++;
            }
        }
Beispiel #2
0
        public bool Resolver(int [,] tablero)
        {
            Ubicacion ubi = NextEmpty(tablero);

            if (ubi.GetX() == -1 && ubi.GetY() == -1)       //resuelto
            {
                return(true);
            }

            int parX = ubi.GetX();
            int parY = ubi.GetY();

            for (int i = 1; i <= N; i++)
            {
                if (VerificarFilasYColumnas(tablero, i, parX, parY) && VerificarFigura(tablero, i, parX, parY) && VerificarOperacion(tablero, i, parX, parY))
                {
                    Tablero[parX, parY] = i;
                    ModificarFigura(parX, parY, i, 1);
                    //Console.WriteLine("-------------------------------------------------------------------------");
                    //Print(tablero);
                    if (Resolver(tablero))
                    {
                        return(true);
                    }


                    //Console.WriteLine("**************************************************************************");
                    int actual = tablero[parX, parY];
                    tablero[parX, parY] = 0;
                    ModificarFigura(parX, parY, actual, 2);
                    //Print(tablero);
                    //Console.WriteLine("**************************************************************************");
                }
            }
            return(false);
        }
Beispiel #3
0
        public bool ComprobarEspacio(int[,] matrizFiguras, string figura, int orientacion, int pivoteX, int pivoteY)    //pivote es par de donde empieza la figura
        {
            int ubi1 = 0;
            int ubi2 = 0;
            int ubi3 = 0;
            int ubi4 = 0;


            if (figura == "cuadrado")
            {
                if (pivoteY + 1 < N && pivoteX + 1 < N)       //Que no se salga de los limites
                {
                    ubi1 = matrizFiguras[pivoteX, pivoteY];
                    ubi2 = matrizFiguras[pivoteX, pivoteY + 1];
                    ubi3 = matrizFiguras[pivoteX + 1, pivoteY];
                    ubi4 = matrizFiguras[pivoteX + 1, pivoteY + 1];

                    if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                    {
                        FigurasArray[pivoteX, pivoteY]         = NumFigura;
                        FigurasArray[pivoteX, pivoteY + 1]     = NumFigura;
                        FigurasArray[pivoteX + 1, pivoteY]     = NumFigura;
                        FigurasArray[pivoteX + 1, pivoteY + 1] = NumFigura;

                        Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                        Ubicacion   u2   = new Ubicacion(pivoteX, pivoteY + 1);
                        Ubicacion   u3   = new Ubicacion(pivoteX + 1, pivoteY);
                        Ubicacion   u4   = new Ubicacion(pivoteX + 1, pivoteY + 1);
                        Ubicacion[] list = new Ubicacion[4];
                        list[0] = u1;
                        list[1] = u2;
                        list[2] = u3;
                        list[3] = u4;
                        int    nOper = GenerarNumeroOperacion(1);
                        Figura fig   = new Figura(list, "cuadrado", nOper, 1, 0, 0);

                        SetListaFiguras(fig);

                        NumFigura++;
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            if (figura == "ele")
            {
                if (orientacion == 1 || orientacion == 2 || orientacion == 3 || orientacion == 4)
                {
                    if (orientacion == 1)
                    {
                        if (pivoteX + 2 < N && pivoteY + 1 < N)
                        {
                            ubi1 = matrizFiguras[pivoteX, pivoteY];
                            ubi2 = matrizFiguras[pivoteX + 1, pivoteY];
                            ubi3 = matrizFiguras[pivoteX + 2, pivoteY];
                            ubi4 = matrizFiguras[pivoteX + 2, pivoteY + 1];

                            if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                            {
                                FigurasArray[pivoteX, pivoteY]         = NumFigura;
                                FigurasArray[pivoteX + 1, pivoteY]     = NumFigura;
                                FigurasArray[pivoteX + 2, pivoteY]     = NumFigura;
                                FigurasArray[pivoteX + 2, pivoteY + 1] = NumFigura;

                                Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                                Ubicacion   u2   = new Ubicacion(pivoteX + 1, pivoteY);
                                Ubicacion   u3   = new Ubicacion(pivoteX + 2, pivoteY);
                                Ubicacion   u4   = new Ubicacion(pivoteX + 2, pivoteY + 1);
                                Ubicacion[] list = new Ubicacion[4];
                                list[0] = u1;
                                list[1] = u2;
                                list[2] = u3;
                                list[3] = u4;
                                int    nOper = GenerarNumeroOperacion(1);
                                Figura fig   = new Figura(list, "ele", nOper, 1, 0, 0);

                                SetListaFiguras(fig);

                                NumFigura++;
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    if (orientacion == 2)
                    {
                        if (pivoteX + 2 < N && pivoteY - 1 > 0)
                        {
                            ubi1 = matrizFiguras[pivoteX, pivoteY];
                            ubi2 = matrizFiguras[pivoteX + 1, pivoteY];
                            ubi3 = matrizFiguras[pivoteX + 2, pivoteY];
                            ubi4 = matrizFiguras[pivoteX + 2, pivoteY - 1];

                            if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                            {
                                FigurasArray[pivoteX, pivoteY]         = NumFigura;
                                FigurasArray[pivoteX + 1, pivoteY]     = NumFigura;
                                FigurasArray[pivoteX + 2, pivoteY]     = NumFigura;
                                FigurasArray[pivoteX + 2, pivoteY - 1] = NumFigura;

                                Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                                Ubicacion   u2   = new Ubicacion(pivoteX + 1, pivoteY);
                                Ubicacion   u3   = new Ubicacion(pivoteX + 2, pivoteY);
                                Ubicacion   u4   = new Ubicacion(pivoteX + 2, pivoteY - 1);
                                Ubicacion[] list = new Ubicacion[4];
                                list[0] = u1;
                                list[1] = u2;
                                list[2] = u3;
                                list[3] = u4;
                                int    nOper = GenerarNumeroOperacion(1);
                                Figura fig   = new Figura(list, "ele", nOper, 1, 0, 0);

                                SetListaFiguras(fig);

                                NumFigura++;
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    if (orientacion == 3 || orientacion == 4)        //ver si en realidad mata dos pajaros de un tiro
                    {
                        if (pivoteX + 2 < N && pivoteY + 1 < N)
                        {
                            if (orientacion == 3)
                            {
                                ubi1 = matrizFiguras[pivoteX, pivoteY];
                                ubi2 = matrizFiguras[pivoteX, pivoteY + 1];
                                ubi3 = matrizFiguras[pivoteX + 1, pivoteY + 1];
                                ubi4 = matrizFiguras[pivoteX + 2, pivoteY + 1];

                                if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                                {
                                    FigurasArray[pivoteX, pivoteY]         = NumFigura;
                                    FigurasArray[pivoteX, pivoteY + 1]     = NumFigura;
                                    FigurasArray[pivoteX + 1, pivoteY + 1] = NumFigura;
                                    FigurasArray[pivoteX + 2, pivoteY + 1] = NumFigura;

                                    Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                                    Ubicacion   u2   = new Ubicacion(pivoteX, pivoteY + 1);
                                    Ubicacion   u3   = new Ubicacion(pivoteX + 1, pivoteY + 1);
                                    Ubicacion   u4   = new Ubicacion(pivoteX + 2, pivoteY + 1);
                                    Ubicacion[] list = new Ubicacion[4];
                                    list[0] = u1;
                                    list[1] = u2;
                                    list[2] = u3;
                                    list[3] = u4;
                                    int    nOper = GenerarNumeroOperacion(1);
                                    Figura fig   = new Figura(list, "ele", nOper, 1, 0, 0);

                                    SetListaFiguras(fig);

                                    NumFigura++;
                                    return(true);
                                }
                                else
                                {
                                    return(false);
                                }
                            }
                            if (orientacion == 4)
                            {
                                ubi1 = matrizFiguras[pivoteX, pivoteY];
                                ubi2 = matrizFiguras[pivoteX, pivoteY + 1];
                                ubi3 = matrizFiguras[pivoteX + 1, pivoteY];
                                ubi4 = matrizFiguras[pivoteX + 2, pivoteY];

                                if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                                {
                                    FigurasArray[pivoteX, pivoteY]     = NumFigura;
                                    FigurasArray[pivoteX, pivoteY + 1] = NumFigura;
                                    FigurasArray[pivoteX + 1, pivoteY] = NumFigura;
                                    FigurasArray[pivoteX + 2, pivoteY] = NumFigura;

                                    Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                                    Ubicacion   u2   = new Ubicacion(pivoteX, pivoteY + 1);
                                    Ubicacion   u3   = new Ubicacion(pivoteX + 1, pivoteY);
                                    Ubicacion   u4   = new Ubicacion(pivoteX + 2, pivoteY);
                                    Ubicacion[] list = new Ubicacion[4];
                                    list[0] = u1;
                                    list[1] = u2;
                                    list[2] = u3;
                                    list[3] = u4;
                                    int    nOper = GenerarNumeroOperacion(1);
                                    Figura fig   = new Figura(list, "ele", nOper, 1, 0, 0);

                                    SetListaFiguras(fig);

                                    NumFigura++;
                                    return(true);
                                }
                                else
                                {
                                    return(false);
                                }
                            }
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
                else
                {
                    return(false);
                }
            }
            if (figura == "linea")
            {
                if (orientacion == 1)  //vertical
                {
                    if (pivoteX + 3 < N)
                    {
                        ubi1 = matrizFiguras[pivoteX, pivoteY];
                        ubi2 = matrizFiguras[pivoteX + 1, pivoteY];
                        ubi3 = matrizFiguras[pivoteX + 2, pivoteY];
                        ubi4 = matrizFiguras[pivoteX + 3, pivoteY];

                        if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                        {
                            FigurasArray[pivoteX, pivoteY]     = NumFigura;
                            FigurasArray[pivoteX + 1, pivoteY] = NumFigura;
                            FigurasArray[pivoteX + 2, pivoteY] = NumFigura;
                            FigurasArray[pivoteX + 3, pivoteY] = NumFigura;

                            Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                            Ubicacion   u2   = new Ubicacion(pivoteX + 1, pivoteY);
                            Ubicacion   u3   = new Ubicacion(pivoteX + 2, pivoteY);
                            Ubicacion   u4   = new Ubicacion(pivoteX + 3, pivoteY);
                            Ubicacion[] list = new Ubicacion[4];
                            list[0] = u1;
                            list[1] = u2;
                            list[2] = u3;
                            list[3] = u4;
                            int    nOper = GenerarNumeroOperacion(1);
                            Figura fig   = new Figura(list, "linea", nOper, 1, 0, 0);

                            SetListaFiguras(fig);

                            NumFigura++;
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                if (orientacion == 2)  //horizontal
                {
                    if (pivoteY + 3 < N)
                    {
                        ubi1 = matrizFiguras[pivoteX, pivoteY];
                        ubi2 = matrizFiguras[pivoteX, pivoteY + 1];
                        ubi3 = matrizFiguras[pivoteX, pivoteY + 2];
                        ubi4 = matrizFiguras[pivoteX, pivoteY + 3];

                        if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                        {
                            FigurasArray[pivoteX, pivoteY]     = NumFigura;
                            FigurasArray[pivoteX, pivoteY + 1] = NumFigura;
                            FigurasArray[pivoteX, pivoteY + 2] = NumFigura;
                            FigurasArray[pivoteX, pivoteY + 3] = NumFigura;

                            Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                            Ubicacion   u2   = new Ubicacion(pivoteX, pivoteY + 1);
                            Ubicacion   u3   = new Ubicacion(pivoteX, pivoteY + 2);
                            Ubicacion   u4   = new Ubicacion(pivoteX, pivoteY + 3);
                            Ubicacion[] list = new Ubicacion[4];
                            list[0] = u1;
                            list[1] = u2;
                            list[2] = u3;
                            list[3] = u4;
                            int    nOper = GenerarNumeroOperacion(1);
                            Figura fig   = new Figura(list, "linea", nOper, 1, 0, 0);

                            SetListaFiguras(fig);

                            NumFigura++;
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            if (figura == "te")
            {
                if (orientacion == 1)
                {
                    if (pivoteY - 1 >= 0 && pivoteY + 1 < N && pivoteX + 1 < N)
                    {
                        ubi1 = matrizFiguras[pivoteX, pivoteY];
                        ubi2 = matrizFiguras[pivoteX + 1, pivoteY];
                        ubi3 = matrizFiguras[pivoteX + 1, pivoteY - 1];
                        ubi4 = matrizFiguras[pivoteX + 1, pivoteY + 1];

                        if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                        {
                            FigurasArray[pivoteX, pivoteY]         = NumFigura;
                            FigurasArray[pivoteX + 1, pivoteY]     = NumFigura;
                            FigurasArray[pivoteX + 1, pivoteY - 1] = NumFigura;
                            FigurasArray[pivoteX + 1, pivoteY + 1] = NumFigura;

                            Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                            Ubicacion   u2   = new Ubicacion(pivoteX + 1, pivoteY);
                            Ubicacion   u3   = new Ubicacion(pivoteX + 1, pivoteY - 1);
                            Ubicacion   u4   = new Ubicacion(pivoteX + 1, pivoteY + 1);
                            Ubicacion[] list = new Ubicacion[4];
                            list[0] = u1;
                            list[1] = u2;
                            list[2] = u3;
                            list[3] = u4;
                            int    nOper = GenerarNumeroOperacion(1);
                            Figura fig   = new Figura(list, "te", nOper, 1, 0, 0);

                            SetListaFiguras(fig);
                            NumFigura++;
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
                if (orientacion == 2)
                {
                    if (pivoteY + 2 < N && pivoteX + 1 < N)
                    {
                        ubi1 = matrizFiguras[pivoteX, pivoteY];
                        ubi2 = matrizFiguras[pivoteX, pivoteY + 1];
                        ubi3 = matrizFiguras[pivoteX, pivoteY + 2];
                        ubi4 = matrizFiguras[pivoteX + 1, pivoteY + 1];

                        if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                        {
                            FigurasArray[pivoteX, pivoteY]         = NumFigura;
                            FigurasArray[pivoteX, pivoteY + 1]     = NumFigura;
                            FigurasArray[pivoteX, pivoteY + 2]     = NumFigura;
                            FigurasArray[pivoteX + 1, pivoteY + 1] = NumFigura;

                            Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                            Ubicacion   u2   = new Ubicacion(pivoteX, pivoteY + 1);
                            Ubicacion   u3   = new Ubicacion(pivoteX, pivoteY + 2);
                            Ubicacion   u4   = new Ubicacion(pivoteX + 1, pivoteY + 1);
                            Ubicacion[] list = new Ubicacion[4];
                            list[0] = u1;
                            list[1] = u2;
                            list[2] = u3;
                            list[3] = u4;
                            int    nOper = GenerarNumeroOperacion(1);
                            Figura fig   = new Figura(list, "te", nOper, 1, 0, 0);

                            SetListaFiguras(fig);
                            NumFigura++;
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
                else
                {
                    return(false);
                }
            }
            if (figura == "snake")     //la figura que parece una serpiente
            {
                if (orientacion == 1)  //horizontal
                {
                    if (pivoteY - 1 >= 0 && pivoteY + 1 < N && pivoteX + 1 < N)
                    {
                        ubi1 = matrizFiguras[pivoteX, pivoteY];
                        ubi2 = matrizFiguras[pivoteX + 1, pivoteY];
                        ubi3 = matrizFiguras[pivoteX + 1, pivoteY - 1];
                        ubi4 = matrizFiguras[pivoteX, pivoteY + 1];

                        if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                        {
                            FigurasArray[pivoteX, pivoteY]         = NumFigura;
                            FigurasArray[pivoteX + 1, pivoteY]     = NumFigura;
                            FigurasArray[pivoteX + 1, pivoteY - 1] = NumFigura;
                            FigurasArray[pivoteX, pivoteY + 1]     = NumFigura;

                            Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                            Ubicacion   u2   = new Ubicacion(pivoteX + 1, pivoteY);
                            Ubicacion   u3   = new Ubicacion(pivoteX + 1, pivoteY - 1);
                            Ubicacion   u4   = new Ubicacion(pivoteX, pivoteY + 1);
                            Ubicacion[] list = new Ubicacion[4];
                            list[0] = u1;
                            list[1] = u2;
                            list[2] = u3;
                            list[3] = u4;
                            int    nOper = GenerarNumeroOperacion(1);
                            Figura fig   = new Figura(list, "snake", nOper, 1, 0, 0);

                            int index = ListaFiguras.Length;
                            SetListaFiguras(fig);

                            NumFigura++;
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
                if (orientacion == 2)   //vertical
                {
                    if (pivoteY + 1 < N && pivoteX + 2 < N)
                    {
                        ubi1 = matrizFiguras[pivoteX, pivoteY];
                        ubi2 = matrizFiguras[pivoteX + 1, pivoteY];
                        ubi3 = matrizFiguras[pivoteX + 1, pivoteY + 1];
                        ubi4 = matrizFiguras[pivoteX + 2, pivoteY + 1];

                        if ((ubi1 == 0) && (ubi2 == 0) && (ubi3 == 0) && (ubi4 == 0))    //Que no haya casillas ocupadas
                        {
                            FigurasArray[pivoteX, pivoteY]         = NumFigura;
                            FigurasArray[pivoteX + 1, pivoteY]     = NumFigura;
                            FigurasArray[pivoteX + 1, pivoteY + 1] = NumFigura;
                            FigurasArray[pivoteX + 2, pivoteY + 1] = NumFigura;

                            Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                            Ubicacion   u2   = new Ubicacion(pivoteX + 1, pivoteY);
                            Ubicacion   u3   = new Ubicacion(pivoteX + 1, pivoteY + 1);
                            Ubicacion   u4   = new Ubicacion(pivoteX + 2, pivoteY + 1);
                            Ubicacion[] list = new Ubicacion[4];
                            list[0] = u1;
                            list[1] = u2;
                            list[2] = u3;
                            list[3] = u4;

                            int    nOper = GenerarNumeroOperacion(1);
                            Figura fig   = new Figura(list, "snake", nOper, 1, 0, 0);

                            int index = ListaFiguras.Length;
                            SetListaFiguras(fig);

                            NumFigura++;
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
            }
            if (figura == "solo")
            {
                ubi1 = matrizFiguras[pivoteX, pivoteY];
                if (ubi1 == 0)
                {
                    FigurasArray[pivoteX, pivoteY] = NumFigura;
                    Ubicacion u1 = new Ubicacion(pivoteX, pivoteY);

                    Ubicacion[] list = new Ubicacion[1];
                    list[0] = u1;


                    Figura fig = new Figura(list, "solo", 0, 1, 0, 0);

                    int index = ListaFiguras.Length;
                    SetListaFiguras(fig);
                    NumFigura++;
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            if (figura == "dos")
            {
                if (orientacion == 1)    //vertical
                {
                    if (pivoteX + 1 < N)
                    {
                        ubi1 = matrizFiguras[pivoteX, pivoteY];
                        ubi2 = matrizFiguras[pivoteX + 1, pivoteY];

                        if (ubi1 == 0 && ubi2 == 0)
                        {
                            FigurasArray[pivoteX, pivoteY]     = NumFigura;
                            FigurasArray[pivoteX + 1, pivoteY] = NumFigura;
                            Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                            Ubicacion   u2   = new Ubicacion(pivoteX + 1, pivoteY);
                            Ubicacion[] list = new Ubicacion[2];
                            list[0] = u1;
                            list[1] = u2;

                            int    nOper = GenerarNumeroOperacion(2);
                            Figura fig   = new Figura(list, "dos", nOper, 2, 1, 0);

                            int index = ListaFiguras.Length;
                            SetListaFiguras(fig);
                            NumFigura++;
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                if (orientacion == 2)    //horizontal
                {
                    if (pivoteY + 1 < N)
                    {
                        ubi1 = matrizFiguras[pivoteX, pivoteY];
                        ubi2 = matrizFiguras[pivoteX, pivoteY + 1];

                        if (ubi1 == 0 && ubi2 == 0)
                        {
                            FigurasArray[pivoteX, pivoteY]     = NumFigura;
                            FigurasArray[pivoteX, pivoteY + 1] = NumFigura;
                            Ubicacion   u1   = new Ubicacion(pivoteX, pivoteY);
                            Ubicacion   u2   = new Ubicacion(pivoteX, pivoteY + 1);
                            Ubicacion[] list = new Ubicacion[2];
                            list[0] = u1;
                            list[1] = u2;
                            int    nOper = GenerarNumeroOperacion(2);
                            Figura fig   = new Figura(list, "dos", nOper, 2, 1, 0);
                            int    index = ListaFiguras.Length;
                            SetListaFiguras(fig);
                            NumFigura++;
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
            }


            return(false);
        }