예제 #1
0
        public static void MainColor()
        {
            /*Creamos las provincias*/
            Provincia hu = new Provincia(new Coordenada(4, 6), new Coordenada(5, 8));
            Provincia ca = new Provincia(new Coordenada(6, 8), new Coordenada(8, 9));
            Provincia se = new Provincia(new Coordenada(6, 5), new Coordenada(10, 7));
            Provincia ma = new Provincia(new Coordenada(9, 8), new Coordenada(16, 9));
            Provincia co = new Provincia(new Coordenada(11, 6), new Coordenada(16, 7));
            Provincia ja = new Provincia(new Coordenada(13, 3), new Coordenada(16, 5));
            Provincia gr = new Provincia(new Coordenada(17, 4), new Coordenada(19, 8));
            Provincia al = new Provincia(new Coordenada(20, 6), new Coordenada(22, 8));

            /*Creamos el mapa y le metemos todas las provincias*/
            Mapa mapa = new Mapa(new List <Provincia>());

            mapa.addProvincia(hu);
            mapa.addProvincia(ca);
            mapa.addProvincia(se);
            mapa.addProvincia(ma);
            mapa.addProvincia(co);
            mapa.addProvincia(ja);
            mapa.addProvincia(gr);
            mapa.addProvincia(al);

            /*Creamos el mosaico*/
            Mosaico mosaico = new Mosaico(11, 24);

            Console.WriteLine(mosaico);
            Console.WriteLine(" ");
            Console.WriteLine(" ");

            List <Color> colorsitos = new List <Color>();

            colorsitos.Add(Color.Verde);
            colorsitos.Add(Color.Azul);
            colorsitos.Add(Color.Rojo);

            Dictionary <Provincia, Color> diccionario = mapa.coloreadoRestricted(colorsitos);

            foreach (Provincia provincia in mapa.provincias)
            {
                mosaico = new Mosaico(mosaico.mosaico, mosaico.filas, mosaico.columnas, provincia, diccionario[provincia]);
                Console.WriteLine(mosaico);
                Console.WriteLine(" ");
                Console.WriteLine(" ");
            }

            Console.ReadLine();
        }
예제 #2
0
        public static void MainMos()
        {
            Mosaico   mosaico = new Mosaico(11, 24);
            Provincia hu      = new Provincia(new Coordenada(4, 6), new Coordenada(5, 8));

            Console.WriteLine("Mosaico vacio");
            Console.WriteLine(mosaico);
            Console.WriteLine(" ");
            Console.WriteLine(" ");

            Mosaico mosaicoAux = new Mosaico(mosaico.mosaico, mosaico.filas, mosaico.columnas, hu, Color.Rojo);

            Console.WriteLine("Mosaico provincia roja");
            Console.WriteLine(mosaicoAux);
            Console.WriteLine(" ");
            Console.WriteLine(" ");

            Console.ReadLine();
        }
예제 #3
0
        public static void MainE()
        {
            /*Partimos con Andalucia por comodidad*/
            Provincia hu = new Provincia(new Coordenada(4, 6), new Coordenada(5, 8));
            Provincia ca = new Provincia(new Coordenada(6, 8), new Coordenada(8, 9));
            Provincia se = new Provincia(new Coordenada(6, 5), new Coordenada(10, 7));
            Provincia ma = new Provincia(new Coordenada(9, 8), new Coordenada(16, 9));
            Provincia co = new Provincia(new Coordenada(11, 6), new Coordenada(16, 7));
            Provincia ja = new Provincia(new Coordenada(13, 3), new Coordenada(16, 5));
            Provincia gr = new Provincia(new Coordenada(17, 4), new Coordenada(19, 8));
            Provincia al = new Provincia(new Coordenada(20, 6), new Coordenada(22, 8));

            /*Provincia para la region de una sola provincnia*/
            Provincia pAux = new Provincia(new Coordenada(1, 10), new Coordenada(10, 10));

            /*Todo en tres regiones*/
            List <Provincia> lista1 = new List <Provincia>();

            lista1.Add(al);
            lista1.Add(gr);
            lista1.Add(ma);
            Region region1 = new Region(lista1);
            // Console.WriteLine(region1);

            List <Provincia> lista2 = new List <Provincia>();

            lista2.Add(ja);
            lista2.Add(co);
            lista2.Add(se);
            Region region2 = new Region(lista2);
            // Console.WriteLine(region2);

            List <Provincia> lista3 = new List <Provincia>();

            lista3.Add(hu);
            lista3.Add(ca);
            Region region3 = new Region(lista3);
            // Console.WriteLine(region3);

            List <Provincia> lista4 = new List <Provincia>();

            lista4.Add(pAux);
            Region region4 = new Region(lista4);
            // Console.WriteLine(region4);

            /*Lista de regiones*/
            List <Region> regiones = new List <Region>();

            regiones.Add(region1);
            regiones.Add(region2);
            regiones.Add(region3);
            regiones.Add(region4);


            MapaRegion mapa = new MapaRegion(regiones);

            Dictionary <Region, Color> diccionarioColores = mapa.coloreado();

            /*Creamos el mosaico. De momento de 20x20*/
            Mosaico mosaico = new Mosaico(20, 30);

            foreach (Region r in regiones)
            {
                foreach (Provincia p in r.provincias)
                {
                    mosaico = new Mosaico(mosaico.mosaico, mosaico.filas, mosaico.columnas, p, diccionarioColores[r]);
                }
            }

            Console.WriteLine(mosaico);
            Console.ReadLine();
        }
예제 #4
0
        public static void MainD()
        {
            /*Creamos el mapa inicial, por suerte no me importan las dimensiones del mosaico*/
            Mapa mapa = new Mapa(new List <Provincia>());

            /*Creamos el mosaico. De momento de 20x20*/
            Mosaico mosaico = new Mosaico(20, 20);

            string caracter;

            Console.WriteLine("¿Desea introducir un nuevo rectangulo?");
            caracter = Console.ReadLine();

            while (caracter.Equals("S"))
            {
                /*******************************************************************************/
                /*******************************Pedir rectangulos*******************************/
                /*******************************************************************************/
                /*Obtenemos las coordenadas del rectangulo*/
                Console.WriteLine("Introduzca la coordenada x1 (x superior izquierda):");
                String x1Aux = Console.ReadLine();
                int    x1    = Convert.ToInt32(x1Aux);

                Console.WriteLine("Introduzca la coordenada y1 (y superior izquierda):");
                String y1Aux = Console.ReadLine();
                int    y1    = Convert.ToInt32(y1Aux);

                Console.WriteLine("Introduzca la coordenada x2 (x inferior derecha):");
                String x2Aux = Console.ReadLine();
                int    x2    = Convert.ToInt32(x2Aux);

                Console.WriteLine("Introduzca la coordenada y1 (y inferior derecha):");
                String y2Aux = Console.ReadLine();
                int    y2    = Convert.ToInt32(y2Aux);

                /*Lo metemos en el mapa*/
                try
                {
                    mapa.addProvincia(new Provincia(new Coordenada(x1, y1), new Coordenada(x2, y2)));

                    /*******************************************************************************/
                    /*********************************Pedir colores*********************************/
                    /*******************************************************************************/

                    /*Creamos la lista de colores que vamos a pasa*/
                    List <Color> listaColores = new List <Color>();

                    /*Peticion de cosas de colores*/
                    string comprobacionColor = "S";
                    while (comprobacionColor.Equals("S"))
                    {
                        Console.WriteLine("Introduzca un color entre el Rojo, Verde, Azul, Naranja y Morado:");
                        string color = Console.ReadLine();

                        /*Comprobamos que color ha elegido*/
                        if (color.Equals("Verde") || color.Equals("VERDE") || color.Equals("verde"))
                        {
                            if (!listaColores.Contains(Color.Verde))
                            {
                                listaColores.Add(Color.Verde);
                            }
                        }
                        if (color.Equals("Azul") || color.Equals("AZUL") || color.Equals("azul"))
                        {
                            if (!listaColores.Contains(Color.Azul))
                            {
                                listaColores.Add(Color.Azul);
                            }
                        }
                        if (color.Equals("Rojo") || color.Equals("ROJO") || color.Equals("rojo"))
                        {
                            if (!listaColores.Contains(Color.Rojo))
                            {
                                listaColores.Add(Color.Rojo);
                            }
                        }
                        if (color.Equals("Naranja") || color.Equals("NARANJA") || color.Equals("naranja"))
                        {
                            if (!listaColores.Contains(Color.Naranja))
                            {
                                listaColores.Add(Color.Naranja);
                            }
                        }
                        if (color.Equals("Morado") || color.Equals("MORADO") || color.Equals("morado"))
                        {
                            if (!listaColores.Contains(Color.Morado))
                            {
                                listaColores.Add(Color.Morado);
                            }
                        }

                        Console.WriteLine("¿Desea introducir un nuevo color?");
                        comprobacionColor = Console.ReadLine();
                    }

                    Dictionary <Provincia, Color> diccionarioColores = mapa.coloreadoRestricted(listaColores);

                    foreach (Provincia provincia in mapa.provincias)
                    {
                        mosaico = new Mosaico(mosaico.mosaico, mosaico.filas, mosaico.columnas, provincia, diccionarioColores[provincia]);
                    }

                    Console.WriteLine(mosaico);
                    Console.WriteLine(" ");
                    Console.WriteLine(" ");
                } catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                }


                /*Para ver si repetimos el bucle o no*/
                Console.WriteLine("¿Desea introducir un nuevo rectangulo?");
                caracter = Console.ReadLine();
            }

            Console.WriteLine("Ejecucion finalizada. Pulse Enter para finalizar");
            Console.ReadLine();
        }
예제 #5
0
        public static void MainExcep()
        {
            Provincia hu = new Provincia(new Coordenada(4, 6), new Coordenada(5, 8));
            Provincia ca = new Provincia(new Coordenada(6, 8), new Coordenada(8, 9));
            Provincia se = new Provincia(new Coordenada(6, 5), new Coordenada(10, 7));
            Provincia ma = new Provincia(new Coordenada(9, 8), new Coordenada(16, 9));
            Provincia co = new Provincia(new Coordenada(11, 6), new Coordenada(16, 7));
            Provincia ja = new Provincia(new Coordenada(13, 3), new Coordenada(16, 5));
            Provincia gr = new Provincia(new Coordenada(17, 4), new Coordenada(19, 8));
            Provincia al = new Provincia(new Coordenada(20, 6), new Coordenada(22, 8));

            Console.WriteLine("Comprobamos la excepcion de provincia incorrecta:");
            try
            {
                Provincia provinciaIncorrecta = new Provincia(new Coordenada(22, 8), new Coordenada(20, 6));
            } catch (IncorrectProvincia e)
            {
                Console.WriteLine("Excepcion de provincia incorrecta");
                Console.WriteLine(" ");
                Console.WriteLine(" ");
            }

            Console.WriteLine("Creamos el mapa de andalucia");
            Mapa mapa = new Mapa(new List <Provincia>());

            mapa.addProvincia(hu);
            mapa.addProvincia(ca);
            mapa.addProvincia(se);
            mapa.addProvincia(ma);
            mapa.addProvincia(co);
            mapa.addProvincia(ja);
            mapa.addProvincia(gr);
            mapa.addProvincia(al);

            Console.WriteLine(mapa);

            Console.WriteLine("Comprobamos la excepcion de las provincias que se solapan");
            Provincia provinciaSuperposicion1 = new Provincia(new Coordenada(2, 8), new Coordenada(16, 9));
            Provincia provinciaSuperposicion2 = new Provincia(new Coordenada(3, 8), new Coordenada(7, 9));

            Console.WriteLine(provinciaSuperposicion1);
            Console.WriteLine(provinciaSuperposicion2);
            Console.WriteLine("Anyadimos la primera");
            try
            {
                mapa.addProvincia(provinciaSuperposicion1);
            }
            catch (OverlapException e)
            {
                Console.WriteLine("Excepcion de superposicion para la primera provincia");
            }
            Console.WriteLine("Anyadimos la segunda");
            try
            {
                mapa.addProvincia(provinciaSuperposicion2);
            }
            catch (OverlapException e)
            {
                Console.WriteLine("Excepcion de superposicion para la segunda provincia");
            }
            Console.WriteLine(" ");

            Console.WriteLine("Comprobamos la excepcion de las provincias que se estan fuera del mosaico");
            Console.WriteLine("Creamos un mosaico de tamanyo insuficiente");
            Mosaico mosaico = new Mosaico(2, 3);

            try
            {
                Mosaico mosaicoAux = new Mosaico(mosaico.mosaico, mosaico.filas, mosaico.columnas, hu, Color.Rojo);
            } catch (OutOfLimitsException e)
            {
                Console.WriteLine("Error fuera de los limites");
            }


            Console.WriteLine(" ");


            Console.ReadLine();
        }