Example #1
0
    /// <summary>
    /// Load terrain and water
    /// </summary>
    /// <param name="terrainRoot"></param>
    public void LoadTerrain()
    {
        Debug.Log("LoadTerrain:" + Time.time);
        //bz music
        CamControl.CreateCam(H.CamRTS);

        if (string.IsNullOrEmpty(Program.MyScreen1.TerraRoot))
        {
            //the default terrain
            Terreno = Terreno.CreateTerrain(Root.bayAndMountain1River, true);
        }
        else
        {
            //will create cvamera if is null
            Terreno = Terreno.CreateTerrain(Program.MyScreen1.TerraRoot);
        }

        if (WaterBody == null)
        {
            //at the Moment Water Small is not visible Apr1 2016. since the mirror was duplicating
            //the Draw calls
            _waterBody = General.Create(Root.waterSmall, new Vector3(0, 8, 0));
        }
        controllerMain = Create(Root.controllerMain, container: Program.ClassContainer.transform) as ControllerMain;
        Debug.Log("LoadTerrain:" + Time.time);
    }
Example #2
0
        public void update(float elapsedTime, Terreno terreno)
        {
            if (mesh != null)
            {
                tiempo += elapsedTime;

                var posicionUltima = mesh.Posicion();

                var distanciaRecorridaXZ = velocidadInicialXZ * tiempo /** elapsedTime*/;
                var distanciaRecorridaY  = FastMath.Pow2(tiempo) * -0.5f * Gravedad + velocidadInicialY * tiempo
                                           /** elapsedTime*/;

                var x = mesh.Posicion().X + proporcionalX * distanciaRecorridaXZ;
                var z = mesh.Posicion().Z + proporcionalZ * distanciaRecorridaXZ;

                //TODO. Por el momentos nos manejamos con Y siempre positivas
                mesh.Posicion(new Vector3(x, mesh.Posicion().Y + distanciaRecorridaY, z));

                //TODO necesitamos el tamaño del elemento para poder saber cuando choca contra en terreno
                if (mesh.MinimoPunto().Y - mesh.FactorCorreccion() <
                    terreno.CalcularAltura(mesh.MinimoPunto().X, mesh.MinimoPunto().Z))
                {
                    //Esto debe ser cuando colosiona con el terreno.
                    mesh.Posicion(posicionUltima);
                    mesh     = null;
                    tiempo   = 0;
                    Finalizo = true;
                }
            }
        }
Example #3
0
        public CrearTerreno(Terreno C, string email)//inicio de mostrar
        {
            InitializeComponent();
            mail = email;
            btn_AñadirTerreno.Visibility = Visibility.Hidden;
            //cmbx_EstadoTerreno.Items.Add("En Venta");
            //cmbx_EstadoTerreno.Items.Add("No Disponible");
            titulo_ventanaNuevoTerreno.Content = "MOSTRAR";
            txtb_DireccionTerreno.Text         = C.DireccionI;
            txtb_nombreTerreno.Text            = C.NombreI;
            txtb_PrecioTerreno.Text            = C.PrecioI.ToString();
            txtb_SuperficieTerreno.Text        = C.SuperficieI.ToString();
            switch (C.EstadoI)
            {
            case estado.NoDisponible:
                cmbx_EstadoTerreno.Items.Add("No Disponible");
                cmbx_EstadoTerreno.SelectedIndex = 0;
                break;

            case estado.Venta:
                cmbx_EstadoTerreno.Items.Add("En Venta");
                cmbx_EstadoTerreno.SelectedIndex = 0;
                break;
            }
            cmbx_EstadoTerreno.IsReadOnly     = true;
            txtb_DireccionTerreno.IsReadOnly  = true;
            txtb_nombreTerreno.IsReadOnly     = true;
            txtb_PrecioTerreno.IsReadOnly     = true;
            txtb_SuperficieTerreno.IsReadOnly = true;
            cmbx_EstadoTerreno.IsReadOnly     = true;
        }
Example #4
0
        public CrearTerreno(Terreno C, string email, bool activar)//inicion de modificar
        {
            InitializeComponent();
            btn_AñadirTerreno.Content = "modificar";
            cmbx_EstadoTerreno.Items.Add("En Venta");
            cmbx_EstadoTerreno.Items.Add("No Disponible");
            mail      = email;
            modificar = activar;
            titulo_ventanaNuevoTerreno.Content = "Modificar Terreno";
            txtb_DireccionTerreno.Text         = C.DireccionI;
            txtb_nombreTerreno.Text            = C.NombreI;
            txtb_PrecioTerreno.Text            = C.PrecioI.ToString();
            txtb_SuperficieTerreno.Text        = C.SuperficieI.ToString();
            switch (C.EstadoI)
            {
            case estado.Alquiler:
                cmbx_EstadoTerreno.SelectedIndex = 0;
                break;

            case estado.NoDisponible:
                cmbx_EstadoTerreno.SelectedIndex = 1;
                break;

            case estado.Venta:
                cmbx_EstadoTerreno.SelectedIndex = 2;
                break;
            }
        }
Example #5
0
        private void CrearPoligonosTerreno(Terreno terreno)
        {
            // Creo los poligonos del terreno una única vez.
            if (PoligonosTerreno.Count == 0)
            {
                Vertice verticeAnterior = null;

                foreach (Vertice vertice in terreno.Vertices)
                {
                    Gl.glPushMatrix();

                    if (verticeAnterior != null)
                    {
                        Poligono poligono = new Poligono();

                        poligono.ColorLinea   = new ColorRGB(0.4f, 0.4f, 0.4f);
                        poligono.ColorRelleno = new ColorRGB(0.4f, 0.4f, 0.4f);

                        poligono.Puntos.Add(new PuntoFlotante(verticeAnterior.X, 0));
                        poligono.Puntos.Add(new PuntoFlotante(verticeAnterior.X, verticeAnterior.Y));
                        poligono.Puntos.Add(new PuntoFlotante(vertice.X, vertice.Y));
                        poligono.Puntos.Add(new PuntoFlotante(vertice.X, 0));

                        this.PoligonosTerreno.Add(poligono);
                    }

                    verticeAnterior = vertice;

                    Gl.glPopMatrix();
                }
            }
        }
Example #6
0
        private void DibujarTerreno(Terreno terreno, Boolean aplicarClipping, ViewPort viewPort)
        {
            foreach (Poligono poligono in PoligonosTerreno)
            {
                IList puntosDibujo;

                if (aplicarClipping)
                {
                    puntosDibujo = Clipping.RecortarPoligono(poligono.Puntos, viewPort);
                }
                else
                {
                    puntosDibujo = poligono.Puntos;
                }

                // Se rellena el polígono
                //Pintar.RellenarPoligonoScanLine(puntosDibujo, poligono.ColorRelleno);

                Gl.glColor3f(poligono.ColorLinea.Red, poligono.ColorLinea.Green, poligono.ColorLinea.Blue);

                // Todos los puntos van a ser unidos por segmentos y el último se une al primero
                Gl.glBegin(Gl.GL_POLYGON);

                foreach (Punto punto in puntosDibujo)
                {
                    Gl.glVertex2d(punto.GetXFlotante(), punto.GetYFlotante());
                }

                Gl.glEnd();
            }
        }
Example #7
0
        private static void RegistarTerreno()
        {
            string  nome    = Utils.GetText("\nIntroduza o nome da freguesia a qual o terreno pertence:");
            Terreno terreno = Freguesia.CriarTerreno();

            RegistoTerrenoController.RegistarTerreno(nome, terreno);
        }
Example #8
0
File: frmCiv.cs Project: karv/Civ
        /// <summary>
        /// Cuando le das OrdenIr a una Armada
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="e">E.</param>
        protected void OnCmdIrAClicked(object sender, EventArgs e)
        {
            Terreno destino   = (Terreno)IrACB.getSelected();
            Armada  selArmada = ArmadaSelector.getSelected();

            selArmada.Orden = new Civ.Orden.OrdenIr(destino);
        }
Example #9
0
        private void moverseRotando(float elapsedTime, Terreno terreno, int direccion)
        {
            var rotAngle = Geometry.DegreeToRadian(direccion * velocidadRotar * elapsedTime);

            Mesh.rotateY(rotAngle);
            moverse(elapsedTime, terreno);
        }
Example #10
0
 protected override void RestauraEspecial()
 {
     if (retirada)
     {
         Terreno tablero = FindObjectOfType <Terreno>();
         int     fila    = tablero.GetFilas() - 1;
         if (!aliado)
         {
             fila = 0;
         }
         for (int i = 0; i < tablero.GetColumnas() - 1; i++)
         {
             if (!tablero.GetCasilla(fila, i).EstaOcupada())
             {
                 tablero.GetCasilla(casillaX, casillaZ).Desocupar();
                 tablero.GetCasilla(fila, i).Ocupar(this);
                 SetPos(fila, i);
                 break;
             }
         }
         log.LanzaLog("A Yaiza se le ha pasado el cabreo por fin.");
         retirada = false;
         hombroDch.eulerAngles = initialHombroDchRot;
         hombroIzq.eulerAngles = initialHombroIzqRot;
         codoDch.eulerAngles   = initialCodoDchRot;
         codoIzq.eulerAngles   = initialCodoIzqRot;
     }
 }
Example #11
0
        private static void RegistarEscritura()
        {
            Escritura escritura = Terreno.CriarEscritura();

            RegistoEscrituraController.RegistarEscritura(escritura);
            Console.ReadKey();
        }
Example #12
0
        public void Setup()
        {
            #region Terreno1
            List <Arbol> Arboles1 = new List <Arbol>();
            Arboles1.Add(new Arbol
            {
                Grosor = 20,
                Tipo   = TipoArbol.Bajo
            });
            Arboles1.Add(new Arbol
            {
                Grosor = 30,
                Tipo   = TipoArbol.Alto
            });
            Arboles1.Add(new Arbol
            {
                Grosor = 50,
                Tipo   = TipoArbol.Mediano
            });
            #endregion

            #region Terreno2
            List <Arbol> Arboles2 = new List <Arbol>();
            Arboles2.Add(new Arbol
            {
                Grosor = 30,
                Tipo   = TipoArbol.Mediano
            });
            Arboles2.Add(new Arbol
            {
                Grosor = 80,
                Tipo   = TipoArbol.Alto
            });
            Arboles2.Add(new Arbol
            {
                Grosor = 35,
                Tipo   = TipoArbol.Mediano
            });
            #endregion

            predeterminado1 = new Terreno
            {
                Ancho     = 1000,
                Largo     = 1000,
                TipoSuelo = TipoSuelo.Arena,
                Arboles   = Arboles1,
                Rocas     = new List <Roca>(),
                Camara    = new Camara()
            };
            predeterminado2 = new Terreno
            {
                Ancho     = 2500,
                Largo     = 2000,
                TipoSuelo = TipoSuelo.Rocoso,
                Arboles   = Arboles2,
                Rocas     = new List <Roca>(),
                Camara    = new Camara()
            };
        }
        public List <Terreno> SelectTerreno(Contacto C)//mostrar todos los inmuebles
        {
            List <Terreno> lista = new List <Terreno>();

            CM = new ConectarYDesconectar();
            CM.conectar();
            try
            {
                MySqlCommand comm = CM.con.CreateCommand();
                if (C.getTipo() == "Duenio")
                {
                    comm.CommandText = "SELECT * FROM terreno INNER JOIN duenio USING(id_duenio) WHERE email=?email";

                    comm.Parameters.AddWithValue("?email", C.Email);
                }
                else
                {
                    comm.CommandText = comm.CommandText = "SELECT * FROM terreno INNER JOIN inmobiliaria" +
                                                          " USING(id_inmobiliaria) WHERE email=?email";

                    comm.Parameters.AddWithValue("?email", C.Email);
                }

                //comm.CommandText = "SELECT * FROM terreno WHERE direccion=?direccion";
                //comm.Parameters.AddWithValue("?email", T1.DireccionI);

                MySqlDataReader myreader = comm.ExecuteReader();

                while (myreader.Read())
                {
                    Terreno T1 = new Terreno();
                    T1.NombreI = myreader["nombre"].ToString();
                    switch (myreader["estado"].ToString())
                    {
                    case "2":
                        T1.EstadoI = estado.NoDisponible;
                        break;

                    case "1":
                        T1.EstadoI = estado.Venta;
                        break;

                    default:
                        Console.WriteLine("errror");
                        break;
                    }
                    T1.DireccionI  = myreader["direccion"].ToString();
                    T1.SuperficieI = int.Parse(myreader["superficie"].ToString());
                    T1.PrecioI     = float.Parse(myreader["precio"].ToString());
                    lista.Add(T1);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Hubo un error: " + ex.ToString());
            }
            CM.desconectar();
            return(lista);
        }
Example #14
0
        public void Cambiar(int nuevaEstacion)
        {
            arranque.estacion = nuevaEstacion;

            foreach (Terreno casilla in escenario.terrenos)
            {
                if (casilla != null)
                {
                    Terreno nuevaCasilla = new Terreno(casilla.id, casilla.rotacion, casilla.posicion);
                    nuevaCasilla.idDebug = casilla.idDebug;

                    if (casilla.arbol != null)
                    {
                        if (nuevaCasilla.arbol != null)
                        {
                            nuevaCasilla.arbol.visibilidad = casilla.arbol.visibilidad;
                            nuevaCasilla.arbol.gameObject.SetActive(casilla.arbol.visibilidad);
                        }
                    }

                    escenario.terrenos[(int)casilla.posicion.x, (int)casilla.posicion.z] = null;
                    Destroy(casilla.gameObject);

                    Terreno[] casillasFinal;

                    if (arranque.estacion == 0)
                    {
                        casillasFinal = escenario.casillasInvierno;
                    }
                    else if (arranque.estacion == 1)
                    {
                        casillasFinal = escenario.casillasPrimavera;
                    }
                    else if (arranque.estacion == 2)
                    {
                        casillasFinal = escenario.casillasVerano;
                    }
                    else
                    {
                        casillasFinal = escenario.casillasOtoño;
                    }

                    Terreno terreno2 = Instantiate(casillasFinal[nuevaCasilla.id], nuevaCasilla.posicion, Quaternion.identity);
                    terreno2.gameObject.transform.Rotate(Vector3.up, nuevaCasilla.rotacion, Space.World);
                    terreno2.rotacion = nuevaCasilla.rotacion;
                    terreno2.posicion = nuevaCasilla.posicion;
                    terreno2.idDebug  = nuevaCasilla.idDebug;

                    if (nuevaCasilla.arbol != null)
                    {
                        terreno2.arbol.visibilidad = nuevaCasilla.arbol.visibilidad;
                        terreno2.arbol.gameObject.SetActive(nuevaCasilla.arbol.visibilidad);
                        Debug.Log(nuevaCasilla.arbol.visibilidad);
                    }

                    escenario.terrenos[(int)nuevaCasilla.posicion.x, (int)nuevaCasilla.posicion.z] = terreno2;
                }
            }
        }
Example #15
0
        public ActionResult DeleteConfirmed(int id)
        {
            Terreno terreno = db.Terrenoes.Find(id);

            db.Terrenoes.Remove(terreno);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #16
0
 private void GenerarTerreno(Terreno terreno, Vector3 posicion)
 {
     if (terrenos2[(int)posicion.x, (int)posicion.z] == null)
     {
         Terreno terreno2 = Instantiate(terreno, posicion, Quaternion.identity);
         terrenos2[(int)posicion.x, (int)posicion.z] = terreno2;
     }
 }
Example #17
0
        /// <summary>
        /// Metodo per iniziare una partita
        /// </summary>
        public void IniziaGioco()
        {
            this._inGioco   = true;
            this._griglia   = new Terreno();
            this._punteggio = 0;
            this._livello   = 1;

            GeneraFigura();
        }
Example #18
0
    /**
     * Se modifica el comportamiento del metodo "PosicionEsValida"
     * de tal manera que el metodo tambien revise que el tipo de
     * terreno en la nueva posicion del vehiculo es valida.
     */
    protected override bool PosicionEsValida(double x, double y)
    {
        if (!base.PosicionEsValida(x, y))
        {
            return(false);
        }

        Terreno terreno = Mapas.Lago[(int)x][(int)y];

        return(terreno == Terreno.Calle || terreno == Terreno.Tierra);
    }
Example #19
0
    static public Terreno CreateTerrain(string root, bool defaultP = false)//, Transform spawn, string name = ""//)
    {
        Debug.Log("Creating terrain:" + root);
        Terreno obj = (Terreno)Resources.Load(root, typeof(Terreno));

        obj         = (Terreno)Instantiate(obj, new Vector3(0, 0, 0), Quaternion.identity);
        obj.name    = obj.name.Remove(obj.name.Length - 7);//removeing the '(clone)'
        obj.Root1   = root;
        obj.Default = defaultP;
        return(obj);
    }
 /*Boton que le permite al usuario rendirse de la partida, ademas de para el tiempo y dejar como
  * nulo el terreno.
  * Accion que le da a copcion al usuario d epoder retirar o rendirse de la partida en el momento que estime
  * conveniente, ademas de dejar como null el tablero para poder crear otro al momento que desea nuevamente
  * iniciar una nueva partida, sin dejar de lado que tambien se encarga de detener el tiempo de la partida.*/
 private void buttonRendirse_Click(object sender, EventArgs e)
 {
     tiempo.Stop();
     MessageBox.Show("A perdido la partida, el ganador es la Consola");
     terreno         = null;
     jugador.Terreno = null;
     comp.Terreno    = null;
     Thread.Sleep(1000);
     this.Dispose(false);
     VistaMenu vm = new VistaMenu();
 }
 void asignarTerreno()
 {
     //Le damos valor al objeto puertaI
     tr      = Terreno.GetComponent <Transform>();
     tr      = tr.Find("PuertaIzquierda");
     puertaI = tr.gameObject;
     //Le damos valor al objeto puertaD
     tr      = Terreno.GetComponent <Transform>();
     tr      = tr.Find("PuertaDerecha");
     puertaD = tr.gameObject;
 }
Example #22
0
 public ActionResult Edit([Bind(Include = "Id_Terreno,Id_Propietario,Lote,Direccion,Solvencia")] Terreno terreno)
 {
     if (ModelState.IsValid)
     {
         db.Entry(terreno).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Id_Propietario = new SelectList(db.Propietarios, "Id_Propietario", "Nombre", terreno.Id_Propietario);
     return(View(terreno));
 }
Example #23
0
    public override bool AnimacionAE(Personaje objetivo)
    {
        if (!retirada)
        {
            retirada = true;
            //PlaySonidoAE();
            panelHp.SetActive(false);
            if (aliado)
            {
                transform.position = new Vector3(35, 0, 9);
            }
            else
            {
                transform.position = new Vector3(-9, 0, 9);
            }
            hombroDch.Rotate(0, -70, 10);
            hombroIzq.Rotate(0, 70, -10);
            codoDch.Rotate(95, 0, 15);
            codoIzq.Rotate(110, 0, -20);

            FindObjectOfType <Camara>().EnfocaCamaraAE(transform.position, aliado);
            Terreno tablero = FindObjectOfType <Terreno>();
            tablero.GetCasilla(casillaX, casillaZ).Desocupar();
        }
        else
        {
            avanzado += Time.deltaTime;
            if (avanzado > 2)
            {
                Restaura();
                log.LanzaLog("Yaiza se ha cansado y no quiere jugar más.");
                turnosInmune     = 2;
                turnosParalizado = 2;
                jugadaUlti       = true;
                if (aliado)
                {
                    foreach (var p in FindObjectOfType <GestorPartida>().GetAllAliados())
                    {
                        p.BonificacionDamage(2);
                    }
                }
                else
                {
                    foreach (var p in FindObjectOfType <GestorPartida>().GetAllEnemigos())
                    {
                        p.BonificacionDamage(2);
                    }
                }
                return(true);
            }
        }
        return(false);
    }
Example #24
0
        private void moverse(float elapsedTime, Terreno terreno)
        {
            //Aplicamos el movimiento
            //TODO Ver si es correcta la forma que aplico para representar que se esta a la altura del terreno.
            var xm             = FastMath.Sin(Mesh.Rotation.Y) * velocidadCaminar;
            var zm             = FastMath.Cos(Mesh.Rotation.Y) * velocidadCaminar;
            var movementVector = new Vector3(xm, 0, zm);

            Mesh.move(movementVector * elapsedTime);
            Mesh.Position = new Vector3(Mesh.Position.X, terreno.CalcularAltura(Mesh.Position.X, Mesh.Position.Z),
                                        Mesh.Position.Z);
        }
        public List <Terreno> selecTerrenoporSuperficie(int superficie)
        {
            List <Terreno> lista = new List <Terreno>();

            CM = new ConectarYDesconectar();
            CM.conectar();
            try
            {
                MySqlCommand comm = CM.con.CreateCommand();
                comm.CommandText = "SELECT * FROM Terreno WHERE superficie>=?superficie";
                DuenioABM D = new DuenioABM();
                comm.Parameters.AddWithValue("?superficie", superficie);



                //comm.CommandText = "SELECT * FROM propiedad WHERE direccion=?direccion AND nombre=?nombre";
                //comm.Parameters.AddWithValue("?direccion", P1.DireccionI);
                //comm.Parameters.AddWithValue("?nombre", P1.NombreI);

                MySqlDataReader myreader = comm.ExecuteReader();

                while (myreader.Read())
                {
                    Terreno T1 = new Terreno();
                    T1.NombreI     = myreader["nombre"].ToString();
                    T1.SuperficieI = int.Parse(myreader["superficie"].ToString());
                    T1.DireccionI  = myreader["direccion"].ToString();
                    switch (myreader["estado"].ToString())
                    {
                    case "2":
                        T1.EstadoI = estado.NoDisponible;
                        break;

                    case "1":
                        T1.EstadoI = estado.Venta;
                        break;

                    default:
                        Console.WriteLine("errror");
                        break;
                    }
                    T1.PrecioI = float.Parse(myreader["precio"].ToString());
                    lista.Add(T1);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Hubo un error: " + ex.ToString());
            }
            CM.desconectar();
            return(lista);
        }
Example #26
0
        /// <summary>
        /// Criar carta do tipo Terreno
        /// </summary>
        /// <param name="numCarta">Número que corresponde ao nº da carta a ser criada (1º carta ou 2º carta)</param>
        public void CriarCartaTerreno(int numCarta)
        {
            Random rng;

            rng = GerarRandom(numCarta);

            int nome, cor, desc;

            nome = rng.Next(0, 2);
            cor  = rng.Next(0, 5);
            desc = rng.Next(0, 3);

            CartaTerreno = new Terreno(nome, cor, desc, 0);
        }
        public Casilla casillaaux; // agregacion

        /* Constructor que genera los objetos segun los datos que nos ingresa el usuario en la vista.
         * Recibe como parametro:
         * computador: que es la variable que contiene al usuario enemigo
         * jugador: Variable que contiene al jugador
         * tiempoo : Variable que se encarga de dar tiempo a la partida
         * canBarcos: cantidad de barcos que contendra el terreno
         * nivel: Nivel de dificultad que tendra la partida
         * equipoPreferido: Equipo que representa al jugador, ademas de ser el barco jefe.
         * file y columna: cantidad de filas y columna que contendra la matriz.
         */
        public VistaTerreno(Pnj computador, Jugador jugador, int tiempoo, int cantBarcos, string nivel, String equipoPreferido, int fila, int columna)
        {
            InitializeComponent();
            this.comp       = computador;
            this.jugador    = jugador;
            this.cantBarcos = cantBarcos;
            this.terreno    = new Terreno(jugador, fila, columna, cantBarcos, cantBarcos, nivel, equipoPreferido, computador, tiempoo, this);
            this.terreno    = terreno.createBoard(terreno, this);
            jugador.Board   = terreno;
            terreno.posicionarBarcos(computador, this.terreno);
            terreno.verImagen(terreno, computador);
            buttonBarcoMAtaque.Enabled = false;
            buttonBarcoEAtaque.Enabled = false;
        }
Example #28
0
        // GET: Terrenoes/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Terreno terreno = db.Terrenoes.Find(id);

            if (terreno == null)
            {
                return(HttpNotFound());
            }
            return(View(terreno));
        }
        public static bool RegistarTerreno(string nomeFreguesia, Terreno terreno)
        {
            bool flag = true;

            try {
                Autarquia autarquia = Dados.CarregarDados();
                Freguesia freguesia = autarquia.GetFreguesiaByNome(nomeFreguesia);
                freguesia.RegistarTerreno(terreno);
                Dados.GuardarDados(autarquia);
            } catch (TerrenoDuplicadoException e) {
                flag = false;
                Console.WriteLine("Atenção: " + e.ToString());
            }
            return(flag);
        }
        public static Terreno EliminarTerreno(string nomeFreguesia, int id)
        {
            Terreno terreno = null;

            try {
                Autarquia autarquia = Dados.CarregarDados();
                Freguesia freguesia = autarquia.GetFreguesiaByNome(nomeFreguesia);
                freguesia.PesquisarTerreno(id);
                terreno = freguesia.EliminarTerreno(id);
                Dados.GuardarDados(autarquia);
            } catch (ElementoNaoExistenteException e) {
                Console.WriteLine("Atenção: " + e.ToString());
            }
            return(terreno);
        }