Esempio n. 1
0
        public Figura BuscarFigura(int x, int y)
        {
            Figura resul = null;
            int    cont  = 0;
            bool   flag  = false;

            while (ListaFiguras != null && flag == false)
            {
                Figura      fig = ListaFiguras[cont];
                Ubicacion[] ubi = fig.GetLista();
                for (int i = 0; i < ubi.Length; i++)
                {
                    int ubiX = ubi[i].GetX();
                    int ubiY = ubi[i].GetY();
                    if (ubiX == x && ubiY == y)
                    {
                        resul = fig;
                        flag  = true;
                        break;
                    }
                }
                cont++;
            }
            return(resul);
        }
Esempio n. 2
0
        public bool VerificarFigura(int [,] tablero, int num, int coordenadaX, int coordenadaY)
        {
            Figura fig = BuscarFigura(coordenadaX, coordenadaY);

            Ubicacion[] listaPosiciones = fig.GetLista();       //busca posiciones de una figura en el tablero
            for (int i = 0; i < listaPosiciones.Length; i++)
            {
                Ubicacion ubi        = listaPosiciones[i];
                int       x          = ubi.GetX();
                int       y          = ubi.GetY();
                int       numTablero = tablero[x, y]; //busca numero en el tablero en una posicion
                if (num == numTablero)                //verifica si no se repiten numeros en la figura
                {
                    return(false);
                }
            }
            return(true);
        }
Esempio n. 3
0
        public void ModificarFigura(int x, int y, int numero, int aumentarOquitar)      //1 = aumentar , 2 = quitar
        {
            int cont = 0;

            bool flag = false;

            while (ListaFiguras != null && flag == false)
            {
                Figura      fig = ListaFiguras[cont];
                Ubicacion[] ubi = fig.GetLista();
                for (int i = 0; i < ubi.Length; i++)
                {
                    int ubiX = ubi[i].GetX();
                    int ubiY = ubi[i].GetY();
                    if (ubiX == x && ubiY == y)
                    {
                        if ((ListaFiguras[cont].GetOperacion() == 1) && aumentarOquitar == 1)
                        {
                            ListaFiguras[cont].AumentarAcumuladoSum(numero);
                            ListaFiguras[cont].AumentarOcupado(1);
                        }
                        if ((ListaFiguras[cont].GetOperacion() == 1) && aumentarOquitar == 2)
                        {
                            ListaFiguras[cont].DisminuirAcumuladoSum(numero);
                            ListaFiguras[cont].DisminuirOcupado(1);
                        }
                        if ((ListaFiguras[cont].GetOperacion() == 2) && aumentarOquitar == 1)
                        {
                            ListaFiguras[cont].AumentarAcumuladoMul(numero);
                            ListaFiguras[cont].AumentarOcupado(1);
                        }
                        if ((ListaFiguras[cont].GetOperacion() == 2) && aumentarOquitar == 2)
                        {
                            ListaFiguras[cont].DisminuirAcumuladoMul(numero);
                            ListaFiguras[cont].DisminuirOcupado(1);
                        }
                        flag = true;

                        break;
                    }
                }
                cont++;
            }
        }
Esempio n. 4
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++;
            }
        }