Ejemplo n.º 1
0
        }//FIM ELIMINAR ANIMAL

        public void TransferirAnimal()
        {
            string animal;
            string nomeArea;

            do
            {
                Console.WriteLine("INDIQUE O ANIMAL A TRANSFEIR");
                animal = Console.ReadLine();
                try
                {
                    foreach (char c in animal)
                    {
                        if (char.IsDigit(c))
                        {
                            int.TryParse(animal, out int indexArea);
                            animal = ListaAnimais[indexArea - 1].getNomeAnimal();
                        }
                    }
                }
                catch
                {
                    Console.WriteLine("O ANIMAL NÃO SE ENCONTRA NA LISTA");
                }
            } while (!verificaNomeNaLista(animal));


            do
            {
                Console.WriteLine("INDIQUE A AREA PARA ONDE DESEJA TRANSFERIR O ANIMAL");
                nomeArea = Console.ReadLine();
            } while (!GestorAreas.verificaAreaExiste(nomeArea));


            string areaAnimal = "";

            foreach (Animais a in ListaAnimais)
            {
                if (a.getNomeAnimal() == animal)
                {
                    areaAnimal = a.getLocalizacaoAnimal();
                }
            }
        }
Ejemplo n.º 2
0
 public static void Main(string[] args)
 {
     GestorAreas.FicheiroAreas(); //Chamada ao carregamento do FicheiroAreas
     Menu();                      //Chamada ao Menu
 }
Ejemplo n.º 3
0
        public static void Menu()
        {
            int menu;

            do
            {
                Console.Clear();
                string boasvindas = "BEM-VINDO AO ZOOLOGICO - a21270211";
                Console.SetCursorPosition((Console.WindowWidth - boasvindas.Length) / 2, Console.CursorTop);
                Console.WriteLine(boasvindas);
                Console.WriteLine("\n1 - IMPRIMIR AREAS" +
                                  "\n2 - CRIAR AREA" +
                                  "\n3 - ELIMINAR AREA" +
                                  "\n\n4 - LISTAR TODAS ESPECIES" +
                                  "\n5 - LISTAR ESPECIES NO ZOO" +
                                  "\n6 - CRIAR ESPECIE" +
                                  "\n7 - ADD HABITATE A ESPECIE" +
                                  "\n8 - APAGAR ESPECIES" +
                                  "\n9 - APAGAR HABITATE A ESPECIE" +
                                  "\n\n10 - CRIAR ANIMAL" +
                                  "\n11 - IMPRIMIR ANIMAIS" +
                                  "\n12 - APAGAR ANIMAL" +
                                  "\n13 - NASCER ANIMAL" +
                                  "\n\nENTER - SAIR");

                Console.Write("\n");
                int.TryParse(Console.ReadLine(), out menu);

                switch (menu)
                {
                case 1:
                    Console.Clear();
                    GestorAreas.ImprimirAreas();
                    break;

                case 2:
                    Console.Clear();
                    GestorAreas.CriarArea();
                    break;

                case 3:
                    Console.Clear();
                    GestorAreas.EliminarAreas();
                    break;

                case 4:
                    Console.Clear();
                    GestorEspecies.ImprimirEspecies();
                    break;

                case 5:
                    Console.Clear();
                    GestorAnimais.getEspecie();
                    break;

                case 6:
                    Console.Clear();
                    GestorEspecies.CriarEspecie();
                    break;

                case 7:
                    Console.Clear();
                    GestorEspecies.addHabitate();
                    break;

                case 8:
                    Console.Clear();
                    GestorEspecies.ApagarEspecie();
                    break;

                case 9:
                    Console.Clear();
                    GestorEspecies.ApagarHabitateEspecie();
                    break;

                case 10:
                    Console.Clear();
                    GestorAnimais.CriarAnimal();
                    break;

                case 11:
                    Console.Clear();
                    GestorAnimais.ImprimirAnimais();
                    break;

                case 12:
                    Console.Clear();
                    GestorAnimais.EliminarAnimal();
                    break;

                case 13:
                    Console.Clear();
                    GestorAnimais.NascerAnimal();
                    break;

                case 0:
                    return;
                }
            } while (menu < 0 || menu > 2);
        }
Ejemplo n.º 4
0
        public static void CriarAnimal()
        {
            if (GestorEspecies.ListaVazia())
            {
                Console.WriteLine("AINDA NAO NENHUMA ESPECIE CRIADA, PARA QUE POSSA CRIAR ANIMAL");
                Console.WriteLine("\n<ENTER PARA VOLTAR AO MENU");
                Console.ReadLine();
                Console.Clear();
                MainClass.Menu();
            }
            else
            {
                string nomeAnimal;
                ListaProgenitores = new List <string>();
                ListaFilhos       = new List <string>();
                do
                {
                    Console.WriteLine("INSIRA O NOME DO ANIMAL");
                    nomeAnimal = Console.ReadLine();
                    if (nomeAnimal.Length < 1)
                    {
                        Console.WriteLine("INSIRA UM NOME PARA O ANIMAL");
                    }
                    else
                    {
                        if (verificaNomeNaLista(nomeAnimal))
                        {
                            Console.WriteLine("JA EXISTE UM ANIMAL COM O MESMO NOME");
                        }
                    }
                } while (verificaNomeNaLista(nomeAnimal) || nomeAnimal.Length < 1);

                int peso;
                do
                {
                    Console.WriteLine("INDIQUE O PESO DO ANIMAL");
                    int.TryParse(Console.ReadLine(), out peso);

                    if (peso <= 0)
                    {
                        Console.WriteLine("PESO INVÁLIDO");
                    }
                } while (peso <= 0);


                string especie;
                do
                {
                    Console.WriteLine("INDIQUE A ESPECIE DESTE ANIMAL");
                    especie = Console.ReadLine();
                    if (!GestorEspecies.verificaEspecieExiste(especie))
                    {
                        Console.WriteLine("A ESPECIE NãO EXISTE");
                    }
                } while (!GestorEspecies.verificaEspecieExiste(especie));

                string localizacao;
                bool   verificaArea = true;
                do
                {
                    Console.WriteLine("INDIQUE A AREA PARA ESTE ANIMAL");
                    localizacao = Console.ReadLine();
                    if (GestorAreas.verificaAreaExiste(localizacao))
                    {
                        string habitateDestaArea = GestorAreas.GetHabitateArea(localizacao);

                        if (GestorEspecies.verificaEspecieHabitateExiste(especie, habitateDestaArea))
                        {
                            verificaArea = true;
                        }
                        else
                        {
                            Console.WriteLine("ESTA AREA NAO TEM O HABITATE APROPRIADA Á ESPECIE ESCOLHIDA PARA ESTE ANIMAL");
                            verificaArea = false;
                        }
                    }
                    else
                    {
                        Console.WriteLine("A AREA NAO EXISTE");
                        verificaArea = false;
                    }
                } while (verificaArea == false);

                int simuladorLista = ListaAnimais.Count;
                if (ListaAnimais.Count > ListaProgenitores.Count)
                {
                    char temPais;
                    do
                    {
                        Console.WriteLine("O ANIMAL TEM PAIS NO ZOO? Y/N");
                        char.TryParse(Console.ReadLine(), out temPais);

                        bool verificaAnimal = false;
                        if (temPais == 'y')
                        {
                            string nomePai;
                            do
                            {
                                Console.WriteLine("INDIQUE O NOME DO/A PROGENITOR/A");
                                do
                                {
                                    nomePai = Console.ReadLine();
                                    foreach (Animais animal in ListaAnimais)
                                    {
                                        if (nomePai == animal.getNomeAnimal())
                                        {
                                            ListaProgenitores.Add(nomePai);
                                            simuladorLista++;
                                            verificaAnimal = true;
                                            break;
                                        }
                                    }

                                    if (verificaAnimal == false)
                                    {
                                        Console.WriteLine("ESSE ANIMAL NAO EXISTE NO ZOO");
                                    }
                                } while (verificaAnimal == false);


                                while (ListaProgenitores.Count < ListaAnimais.Count && ListaProgenitores.Count < 2)
                                {
                                    Console.WriteLine("O ANIMAL TEM MAIS ALGUM PROGENITOR NO ZOO? Y/N");
                                    char.TryParse(Console.ReadLine(), out temPais);

                                    if (temPais != 'n' && temPais != 'y')
                                    {
                                        Console.WriteLine("ESSA TECLA E INVALIDA");
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }

                                if (!(ListaProgenitores.Count < ListaAnimais.Count && ListaProgenitores.Count < 2))
                                {
                                    temPais = 'n';
                                }
                            } while (temPais == 'y');
                        }
                        else if (temPais != 'n')
                        {
                            Console.WriteLine("ESSA TECLA E INVALIDA");
                        }
                    } while (temPais == 'y' || temPais != 'n');
                }

                if (ListaAnimais.Count > ListaProgenitores.Count)
                {
                    char temFilhos;
                    Console.WriteLine("O ANIMAL TEM FILHOS NO ZOO? Y/N");
                    char.TryParse(Console.ReadLine(), out temFilhos);

                    do
                    {
                        if (temFilhos == 'y')
                        {
                            Console.WriteLine("QUANTOS FILHOS TEM O ANIMAL?");
                            int.TryParse(Console.ReadLine(), out int nFilhos);
                            //do{
                            if (((ListaAnimais.Count - (ListaFilhos.Count + ListaProgenitores.Count)) >= nFilhos) && nFilhos > 0)
                            {
                                bool verificaAnimal = false;
                                for (int i = 0; i < nFilhos; i++)
                                {
                                    do
                                    {
                                        Console.WriteLine("INDIQUE O NOME DO FILHO " + i + 1);

                                        string nomeFilho = Console.ReadLine();
                                        foreach (Animais animal in ListaAnimais)
                                        {
                                            if (nomeFilho == animal.getNomeAnimal())
                                            {
                                                ListaFilhos.Add(nomeFilho);
                                                verificaAnimal = true;
                                            }
                                        }
                                        if (verificaAnimal == false)
                                        {
                                            Console.WriteLine("ESSE ANIMAL NAO EXISTE NO ZOO");
                                        }
                                    } while (verificaAnimal == false);
                                    temFilhos = 'n';
                                }
                            }
                            else if (nFilhos < 1)
                            {
                                Console.WriteLine("INTRODUZA MAIOR QUE 0");
                            }
                            else
                            {
                                Console.WriteLine("SO EXISTEM {0} FILHOS DISPONIVEIS", ListaAnimais.Count - (ListaFilhos.Count + ListaProgenitores.Count));
                            }
                            //}while () ;
                        }
                        else if (temFilhos != 'n')
                        {
                            Console.WriteLine("ESSA TECLA E INVALIDA");
                        }
                    } while (temFilhos != 'n');
                }


                Animais novoAnimal = new Animais(nomeAnimal, peso, especie, localizacao, ListaProgenitores, ListaFilhos);
                ListaAnimais.Add(novoAnimal);
                Console.WriteLine("O ANIMAL FOI CRIADO COM SUCESSO");
                Console.WriteLine("\n<ENTER PARA VOLTAR AO MENU");
                Console.ReadLine();
                Console.Clear();
                MainClass.Menu();
            }
        }//FIM CRIAR ANIMAL