static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var Mochila = new Mochila
            {
                Marca  = "jansport",
                Modelo = "Negro",
                Precio = 50
            };



            var empresa = new Empresa();

            var estudiante = new Persona
            {
                Nombre  = "Maria",
                Celular = empresa.ConstruirCeluler("samsung")
            };

            estudiante.Computadora = empresa.ConstruirMoto("");
            estudiante.Mochila     = empresa.ConstruirMochila("Jansport", "Negro", 50);

            Console.WriteLine(estudiante.Saludar());
            Console.WriteLine(estudiante.Productos());
            Console.WriteLine(estudiante.Mochila.Nueva());

            Console.ReadKey();
        }
Ejemplo n.º 2
0
        private Mochila VereficaMutante(Mochila mochila)
        {
            if (IsMutante())
            {
                //se for mutante, procura 1 item, para mudar a quantidade
                while (true)
                {
                    int    index  = r.Next(mochila.Objetos.Count);
                    Objeto objeto = mochila.Objetos[index];
                    mochila.Objetos.RemoveAt(index);

                    int quantidade = objeto.Quantidade == 0 ? 1 : 0;
                    var NovoObjeto = new Objeto(objeto, quantidade);
                    try
                    {
                        mochila.AdicionarItemMochila(NovoObjeto);
                        break;
                    }
                    catch (CapacidadeMochilaException ex)
                    {
                        mochila.AdicionarItemMochila(objeto);
                    }
                }
            }
            return(mochila);
        }
Ejemplo n.º 3
0
        private void SendToBackpack(LojaItem lojaItem)
        {
            Mochila backpackItem = Tools.LojaToMochila(lojaItem);

            UserController.Instance.MinhaMochila.Itens.Add(backpackItem);
            UserController.Instance.SyncUser();
        }
Ejemplo n.º 4
0
 public SolverProgramacaoDinamica(Mochila mochila, List <Item> listaDeItens)
 {
     this.mochila      = mochila;
     this.listaDeItens = listaDeItens;
     this.qtdLinhas    = listaDeItens.Count + 1;
     this.qtdColunas   = mochila.Capacidade + 1;
     this.tabela       = new int[this.qtdLinhas, this.qtdColunas];
 }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            Console.WriteLine("Mochila");
            var m = new Mochila();

            m.mochila();
            m.objetos();
        }
        public ListadoMochilasViewModel()
        {
            Title    = "Mis mochilas";
            Mochilas = new ObservableCollection <MochilaViewModel>();
            ComandoCargarMochilas = new Command(() => RefrescarMochilas());

            // Esto registra una especie de 'listener' para cuando agregamos mochilas.
            // La idea es que desde la vista de creación se envíe un mensaje con el texto
            // 'AgregarMochila' y el objeto viewModel, y de esa manera se ejecuta esta porçión de código.
            MessagingCenter.Subscribe <NuevaMochila, MochilaViewModel>(this, "AgregarMochila", (obj, mochilaViewModel) =>
            {
                Mochila mochila = new Mochila
                {
                    Activa      = false,
                    Descripcion = mochilaViewModel.Descripcion,
                    UUID        = mochilaViewModel.UUID
                };

                db.Insert(mochila);
                Mochilas.Add(mochilaViewModel);
            });

            // Este nuevo listener escucha cuando un objeto 'mochilaViewModel' quiere ser eliminado
            // Primero lo busca por su UUID en la base de datos y luego lo elimina tanto de la BD
            // como de la lista interna para que desaparezca visualmente.
            MessagingCenter.Subscribe <MochilaViewModel, MochilaViewModel>(this, "EliminarMochila", (sender, mochilaViewModel) =>
            {
                Mochila mochilaAEliminar = db.Table <Mochila>().Where(e => e.UUID.Equals(mochilaViewModel.UUID)).FirstOrDefault();
                db.Delete(mochilaAEliminar);
                Mochilas.Remove(mochilaViewModel);
            });

            MessagingCenter.Subscribe <MochilaViewModel, MochilaViewModel>(this, "ActivarMochila", (sender, mochilaViewModel) =>
            {
                foreach (Mochila mochila in db.Table <Mochila>().ToList())
                {
                    mochila.Activa = false;
                    if (mochila.UUID.Equals(mochilaViewModel.UUID))
                    {
                        mochila.Activa = true;
                    }
                    db.Update(mochila);
                }

                foreach (MochilaViewModel mochila in Mochilas)
                {
                    mochila.Activa = false;
                    if (mochila.UUID.Equals(mochilaViewModel.UUID))
                    {
                        mochila.Activa = true;
                    }
                }

                this.RefrescarMochilas();
            });
        }
Ejemplo n.º 7
0
        private void ProcurarMelhorIndividuo(int geracao)
        {
            Mochila tempMelhor = this.Populacao.OrderByDescending(m => m.FuncaoObjetiva).FirstOrDefault();

            if (tempMelhor.FuncaoObjetiva > this.MelhorMochila?.FuncaoObjetiva || MelhorMochila == null)
            {
                this.MelhorMochila        = tempMelhor;
                this.GeracaoMelhorMochila = geracao;
            }
        }
Ejemplo n.º 8
0
        public void Inicializa()
        {
            Mochila filho = this.gerarMochila.GerarPopulacaoInicial();

            this.MochilaPopulacao.Add(filho);
            filho.MostrarMochila();
            Console.WriteLine("===================================================\n");
            var filhoB = filho;

            filho = this.gerarMochila.GerarPopulacaoInicial();
            this.MochilaPopulacao.Add(filho);
            filho.MostrarMochila();
            Console.WriteLine("==================================================\n");

            filho = this.gerarMochila.GerarPopulacaoInicial();
            this.MochilaPopulacao.Add(filho);
            filho.MostrarMochila();
            Console.WriteLine("===================================================\n");

            filho = this.gerarMochila.GerarPopulacaoInicial();
            this.MochilaPopulacao.Add(filho);
            filho.MostrarMochila();
            Console.WriteLine("===================================================\n");

            filho = this.gerarMochila.GerarPopulacaoInicial();
            this.MochilaPopulacao.Add(filho);
            filho.MostrarMochila();
            Console.WriteLine("===================================================\n");

            filho = this.gerarMochila.GerarPopulacaoInicial();
            this.MochilaPopulacao.Add(filho);
            filho.MostrarMochila();
            Console.WriteLine("===================================================\n");


            filho = this.gerarMochila.GerarPopulacaoInicial();
            this.MochilaPopulacao.Add(filho);
            filho.MostrarMochila();
            Console.WriteLine("===================================================\n");
            Console.WriteLine("Iniciar");
            Console.ReadLine();



            this.Geracoes.AdicionarMochila(this.MochilaPopulacao);
            this.Geracoes.EvoluirPopulacao();


            Console.WriteLine("===================================================\n");
            Console.WriteLine("Finalizou");

            this.Geracoes.MelhorMochila.MostrarMochila();
            Console.WriteLine($"Geracao da Mochila : {this.Geracoes.GeracaoMelhorMochila }");
            Console.WriteLine($"Filhos alejados: {this.Geracoes.FilhosAlejados}");
        }
Ejemplo n.º 9
0
        public void EquiparItem(RPGItem item)
        {
            Mochila.RemoverItem(item.Nome);
            DesequiparItem(item.Tipo);
            Equipamentos.Add(item.Tipo, item);

            AtaqueFisicoExtra += item.AtaqueFisico;

            DefesaFisicaExtra += item.DefesaFisica;
            DefesaMagicaExtra += item.DefesaMagica;
        }
Ejemplo n.º 10
0
        public VerMochila()
        {
            InitializeComponent();

            var item = new Mochila
            {
                UUID        = "Item 1",
                Descripcion = "This is an item description."
            };

            viewModel      = new VerMochilaViewModel(item);
            BindingContext = viewModel;
        }
Ejemplo n.º 11
0
        public string DesequiparItem(EnumTipo itemTipo)
        {
            if (Equipamentos.TryGetValue(itemTipo, out RPGItem item))
            {
                Mochila.AdicionarItem(item);
                Equipamentos.Remove(itemTipo);

                AtaqueFisicoExtra -= item.AtaqueFisico;

                DefesaFisicaExtra -= item.DefesaFisica;
                DefesaMagicaExtra -= item.DefesaMagica;
                return(item.Nome);
            }
            return(null);
        }
Ejemplo n.º 12
0
        static void Main(string[] args)
        {
            Mochila     mochila      = new Mochila(20);
            List <Item> listaDeItens = new List <Item>();

            listaDeItens.Add(new Item(5, 10));
            listaDeItens.Add(new Item(3, 5));
            listaDeItens.Add(new Item(8, 1));

            ISolver solver = new SolverProgramacaoDinamica(mochila, listaDeItens);

            Console.WriteLine(solver.Solucionar());

            Console.ReadKey();
        }
Ejemplo n.º 13
0
        public static LojaItem MochilaToLoja(Mochila mochilaItem)
        {
            LojaItem lojaItem = new LojaItem()
            {
                bonus     = mochilaItem.bonus,
                codigo    = mochilaItem.codigo,
                descricao = mochilaItem.descricao,
                eixo      = mochilaItem.eixo,
                imagem    = mochilaItem.imagem,
                limite    = mochilaItem.limite,
                nome      = mochilaItem.nome,
                tipo      = mochilaItem.tipo
            };

            return(lojaItem);
        }
 public bool EquipItem(Mochila item)
 {
     if (AvaliableSlots.Length == 0)
     {
         Debug.Log("there is no room avaliable");
         return(false);
     }
     else
     {
         var slot = AvaliableSlots.First();
         slot.ItemMochila = item;
         UpdateBonusPanel();
         UpdateAvaliableSlots();
         return(true);
     }
 }
Ejemplo n.º 15
0
        public static Mochila LojaToMochila(LojaItem lojaItem)
        {
            var mochilaItem = new Mochila
            {
                bonus      = lojaItem.bonus,
                codigo     = lojaItem.codigo,
                descricao  = lojaItem.descricao,
                eixo       = lojaItem.eixo,
                estausando = false,
                imagem     = lojaItem.imagem,
                limite     = lojaItem.limite,
                nome       = lojaItem.nome,
                tipo       = lojaItem.tipo
            };

            return(mochilaItem);
        }
Ejemplo n.º 16
0
        private Mochila GerarUmFilho(int pontoCorteA, int pontoCorteB, Boolean isPrimeiro = true)
        {
            Mochila mochilaMae   = isPrimeiro ? this.MochilaMae : this.MochilaPai;
            Mochila mochilaPai   = isPrimeiro ? this.MochilaPai : this.MochilaMae;
            Mochila mochilaFilha = new Mochila(this.MochilaMae.Capacidade);

            //se nao isPrimeiro, eu inverto os pais

            Objeto objeto;

            for (int count = 0; count < this.MochilaPai.Objetos.Count; count++)
            {
                int i = r.Next(this.MochilaPai.Objetos.Count);

                while (mochilaFilha.Objetos.Exists(o => o.Id == i + 1))
                {
                    i = r.Next(this.MochilaPai.Objetos.Count);
                }

                //entre o ponto de corte, faz a troca de genes
                if (i >= pontoCorteA && i <= pontoCorteB)
                {
                    objeto = mochilaMae.Objetos[i].Clone();
                }
                else
                {
                    objeto = mochilaPai.Objetos[i].Clone();
                }

                try
                {
                    mochilaFilha.AdicionarItemMochila(objeto);
                }
                catch (CapacidadeMochilaException ex)
                {
                    this.FilhosAlejado++;
                    objeto = new Objeto(objeto, 0);
                    mochilaFilha.AdicionarItemMochila(objeto);
                }
            }


            return(this.VereficaMutante(mochilaFilha));
        }
Ejemplo n.º 17
0
        public Mochila GerarPopulacaoInicial()
        {
            Mochila       novaMochila       = this.Mochila.Clone();
            List <Objeto> objetoAdicionados = novaMochila.Objetos;

            //sorteia um objeto para adicionar na mochila

            while (!novaMochila.IsCheia)
            {
                //procura um objeto ainda nao adicionado
                Objeto novoObjeto = this.SortearObjeto();

                while (objetoAdicionados.Find(o => o.Id == novoObjeto.Id) != null)
                {
                    novoObjeto = this.SortearObjeto();
                }

                //gero o Objeto para adicionar na mochila
                novoObjeto = this.GerarItem(novoObjeto);
                try
                {
                    novaMochila.AdicionarItemMochila(novoObjeto);
                }catch (CapacidadeMochilaException ex)
                {
                    return(this.GerarPopulacaoInicial());
                }


                if (objetoAdicionados.Count == this.Objetos.Count)
                {
                    break;
                }
            }
            if (novaMochila.Objetos.Count == this.Objetos.Count)
            {
                return(novaMochila);
            }
            else
            {
                return(this.GerarPopulacaoInicial());
            }
        }
Ejemplo n.º 18
0
        public bool TryDesequiparItem(EquipamentoType slot)
        {
            switch (slot)
            {
            case EquipamentoType.SegundaMao:
            case EquipamentoType.PrimeiraMao:
                if (!TryGetEquipamento(slot, out var itemM))
                {
                    return(false);
                }
                var item      = itemM as WafclastItemArma;
                var habForca  = (WafclastProficienciaForca)GetHabilidade(Forca);
                var habAtaque = (WafclastProficienciaAtaque)GetHabilidade(Ataque);

                habForca.DanoExtra      -= item.DanoMax;
                habAtaque.PrecisaoExtra -= item.Precisao;
                Equipamentos.Remove(slot);
                return(Mochila.TryAddItem(itemM));
            }
            return(false);
        }
Ejemplo n.º 19
0
        static void Main(string[] args)
        {
            Mochila minhaMochila;         //Declaro a variável

            minhaMochila = new Mochila(); //Instancio a Mochila

            List <Diamante> casaOurives = new List <Diamante>();

            casaOurives.Add(new Diamante("Jubilee", 100000, 3));          //3kg de Safira
            casaOurives.Add(new Diamante("Centenary", 300000, 2));        //2kg de Rubi
            casaOurives.Add(new Diamante("Millennium Star", 1000000, 1)); //1kg de Rubi
            casaOurives.Add(new Diamante("Red Cross", 300000, 3));        //3kg de Red Cross
            casaOurives.Add(new Diamante("Diamante Vermelho", 50000, 8)); //8kg de Diamante Vermelho
            casaOurives.Add(new Diamante("Berílio", 20000, 10));          //10kg de Berílio
            casaOurives.Add(new Diamante("Benitoíte", 800000, 3));        //3kg de Benitoíte

            minhaMochila.PreencheMochilaValorMax(casaOurives);
            minhaMochila.ImprimirDiamantes();
            Console.WriteLine("Total carregado na mochila: R$" + minhaMochila.ObterValorTotal());

            Console.ReadLine();
        }
Ejemplo n.º 20
0
        static void Main(string[] args)
        {
            WriteMsg("Criar o objeto mochila!");

            Mochila mp = new Mochila(1, "Mochila de notebook", 199, 10, eCor.Amarelo);

            WriteMsg($"Nome: {mp.Descricao}\nCor: {mp.Cor}\nPreço: {mp.Preco}");


            Item celular = new Item(100, "Nokia 3030");
            Item caneta  = new Item(101, "Caneta de Quadro Branco");

            //adicionar itens na mochila
            mp.Itens.Add(celular);
            mp.Itens.Add(caneta);

            WriteMsg($"Nome: {mp.Descricao}\n");
            WriteMsg("Itens: ");
            foreach (var item in mp.Itens)
            {
                WriteMsg(item.Nome);
            }   // o foreach percorre uma lista de objetos
        }
Ejemplo n.º 21
0
        public List <Mochila> GerarFilhos(Mochila mochilaPai = null, Mochila mochilaMae = null)
        {
            this.MochilaPai = mochilaPai ?? this.MochilaPai;
            this.MochilaMae = mochilaMae ?? this.MochilaMae;

            if (this.MochilaMae.Capacidade != this.MochilaPai.Capacidade)
            {
                throw new CapacidadeMochilaDiferenteException();
            }

            int pontoCorteA = this.GetPontoCorte(0);
            int pontoCorteB = this.GetPontoCorte(pontoCorteA);

            if (pontoCorteA > pontoCorteB)
            {
                int aux = pontoCorteA;
                pontoCorteA = pontoCorteB;
                pontoCorteB = aux;
            }

            Mochila mochilaFilhaPai = GerarUmFilho(pontoCorteA, pontoCorteB);
            Mochila mochilaFilhaMae = GerarUmFilho(pontoCorteA, pontoCorteB, false);

            List <Mochila> filhos = new List <Mochila>();

            if (mochilaFilhaPai != null)
            {
                filhos.Add(mochilaFilhaPai);
            }
            if (mochilaFilhaMae != null)
            {
                filhos.Add(mochilaFilhaMae);
            }

            return(filhos);
        }
Ejemplo n.º 22
0
 public void AdicionarMochila(Mochila mochila)
 {
     this.Populacao.Add(mochila);
 }
Ejemplo n.º 23
0
 public GerarMochila(List <Objeto> objetos, Mochila mochila)
 {
     Objetos = objetos;
     Mochila = mochila;
 }
Ejemplo n.º 24
0
        private void btnMochila_Click(object sender, RoutedEventArgs e)
        {
            Mochila mochila = new Mochila(ConstruirJogador());

            mochila.ShowDialog();
        }
Ejemplo n.º 25
0
 public Crossover(Mochila mochilaPai, Mochila mochilaMae)
 {
     MochilaPai = mochilaPai;
     MochilaMae = mochilaMae;
 }
Ejemplo n.º 26
0
        static void Main(string[] args)
        {
            /*
             * GeraQuadroHorarios qh = new GeraQuadroHorarios()
             * {
             *  TamanhoPopulacao = 10,
             *  TaxaCruzamento = 0.5f,
             *  TaxaMutacao = 0.3f,
             *  TaxaSelecao = 0.5f
             * };
             *
             * qh.AddHorario("SEG12");
             * qh.AddHorario("SEG34");
             * qh.AddHorario("TER12");
             * qh.AddHorario("TER34");
             * qh.AddHorario("QUA12");
             * qh.AddHorario("QUA34");
             * qh.AddHorario("QUI12");
             * qh.AddHorario("QUI34");
             * qh.AddHorario("SEX12");
             * qh.AddHorario("SEX34");
             *
             * qh.AddProfessor("P1");
             * qh.AddProfessor("P2");
             * qh.AddProfessor("P3");
             * qh.AddProfessor("P4");
             * qh.AddProfessor("P5");
             *
             * qh.AddRestricao("P1", "SEG12");
             * qh.AddRestricao("P1", "TER12");
             * qh.AddRestricao("P1", "QUI12");
             *
             * qh.AddRestricao("P2", "SEX34");
             * qh.AddRestricao("P2", "QUI34");
             * qh.AddRestricao("P2", "TER34");
             *
             * qh.AddRestricao("P3", "QUA12");
             * qh.AddRestricao("P3", "QUA34");
             * qh.AddRestricao("P3", "TER34");
             *
             * qh.AddRestricao("P4", "SEX34");
             * qh.AddRestricao("P4", "QUI12");
             * qh.AddRestricao("P4", "SEG12");
             *
             * qh.AddRestricao("P5", "TER12");
             * qh.AddRestricao("P5", "QUI12");
             * qh.AddRestricao("P5", "QUA12");
             *
             *
             * qh.Executar();
             *
             * String h1 = "|";
             * String v1 = "|";
             * String h2 = "|";
             * String v2 = "|";
             * for (int hor = 0; hor < qh.Horarios.Count; hor += 2)
             * {
             *  h1 = h1 + "\t" + qh.Horarios[hor] + "\t|";
             *  v1 = v1 + "\t" + qh.Solucao.Cromossomos[hor] + "\t|";
             *  h2 = h2 + "\t" + qh.Horarios[hor+1] + "\t|";
             *  v2 = v2 + "\t" + qh.Solucao.Cromossomos[hor+1] + "\t|";
             * }
             * Console.Write(h1 + "\n" + v1 + "\n" + h2 + "\n" + v2 + "\n");
             * Console.Write("Gerações: " + qh.Geracoes);
             *
             * Console.ReadLine();
             */

            GeraMochila gm = new GeraMochila(45)
            {
                TamanhoPopulacao = 10,
                TaxaCruzamento   = 0.5f,
                TaxaMutacao      = 0.3f,
                TaxaSelecao      = 0.5f
            };

            gm.AddItem(new Item()
            {
                Descricao = "Lanterna", Peso = 3, Utilidade = 15
            });
            gm.AddItem(new Item()
            {
                Descricao = "Canivete Suíço", Peso = 1, Utilidade = 10
            });
            gm.AddItem(new Item()
            {
                Descricao = "Jaca", Peso = 30, Utilidade = 3
            });
            gm.AddItem(new Item()
            {
                Descricao = "Panela", Peso = 5, Utilidade = 15
            });
            gm.AddItem(new Item()
            {
                Descricao = "Carne", Peso = 10, Utilidade = 20
            });
            gm.AddItem(new Item()
            {
                Descricao = "Arroz", Peso = 7, Utilidade = 20
            });
            gm.AddItem(new Item()
            {
                Descricao = "Feijão", Peso = 8, Utilidade = 20
            });
            gm.AddItem(new Item()
            {
                Descricao = "Cerveja", Peso = 15, Utilidade = 8
            });
            gm.AddItem(new Item()
            {
                Descricao = "Mapa", Peso = 1, Utilidade = 15
            });
            gm.AddItem(new Item()
            {
                Descricao = "Celular", Peso = 3, Utilidade = 9
            });
            gm.AddItem(new Item()
            {
                Descricao = "Barraca", Peso = 8, Utilidade = 60
            });
            gm.AddItem(new Item()
            {
                Descricao = "Cobertor", Peso = 8, Utilidade = 25
            });
            gm.AddItem(new Item()
            {
                Descricao = "Jornal", Peso = 3, Utilidade = 5
            });
            gm.AddItem(new Item()
            {
                Descricao = "Papel Higiênico", Peso = 2, Utilidade = 14
            });
            gm.AddItem(new Item()
            {
                Descricao = "Carvão", Peso = 8, Utilidade = 15
            });
            gm.AddItem(new Item()
            {
                Descricao = "Repelente", Peso = 2, Utilidade = 5
            });
            gm.AddItem(new Item()
            {
                Descricao = "Vara de Pescar", Peso = 3, Utilidade = 2
            });
            gm.AddItem(new Item()
            {
                Descricao = "Pente", Peso = 1, Utilidade = 1
            });
            gm.AddItem(new Item()
            {
                Descricao = "Espelho", Peso = 1, Utilidade = 1
            });
            gm.AddItem(new Item()
            {
                Descricao = "Sabão", Peso = 2, Utilidade = 7
            });
            gm.AddItem(new Item()
            {
                Descricao = "Xampu", Peso = 4, Utilidade = 5
            });
            gm.AddItem(new Item()
            {
                Descricao = "Luvas", Peso = 1, Utilidade = 2
            });
            gm.AddItem(new Item()
            {
                Descricao = "Violão", Peso = 15, Utilidade = 4
            });
            gm.AddItem(new Item()
            {
                Descricao = "Fósforo", Peso = 1, Utilidade = 7
            });
            gm.AddItem(new Item()
            {
                Descricao = "Isqueiro", Peso = 1, Utilidade = 9
            });
            gm.AddItem(new Item()
            {
                Descricao = "Bússola", Peso = 2, Utilidade = 14
            });
            gm.AddItem(new Item()
            {
                Descricao = "Roupa", Peso = 5, Utilidade = 28
            });
            gm.AddItem(new Item()
            {
                Descricao = "Sapatos", Peso = 3, Utilidade = 11
            });
            gm.AddItem(new Item()
            {
                Descricao = "Protetor Solar", Peso = 2, Utilidade = 6
            });
            gm.AddItem(new Item()
            {
                Descricao = "Pratos", Peso = 5, Utilidade = 12
            });
            gm.AddItem(new Item()
            {
                Descricao = "Colheres", Peso = 1, Utilidade = 8
            });
            gm.AddItem(new Item()
            {
                Descricao = "Facas", Peso = 1, Utilidade = 13
            });
            gm.AddItem(new Item()
            {
                Descricao = "Binóculos", Peso = 5, Utilidade = 3
            });
            gm.AddItem(new Item()
            {
                Descricao = "GPS", Peso = 5, Utilidade = 20
            });
            gm.AddItem(new Item()
            {
                Descricao = "Notebook", Peso = 15, Utilidade = 5
            });
            gm.AddItem(new Item()
            {
                Descricao = "Som", Peso = 16, Utilidade = 8
            });
            gm.AddItem(new Item()
            {
                Descricao = "Livro", Peso = 3, Utilidade = 3
            });
            gm.AddItem(new Item()
            {
                Descricao = "Corda", Peso = 5, Utilidade = 15
            });
            gm.AddItem(new Item()
            {
                Descricao = "Lixa Unha", Peso = 1, Utilidade = 1
            });
            gm.AddItem(new Item()
            {
                Descricao = "Esmalte", Peso = 1, Utilidade = 1
            });
            gm.AddItem(new Item()
            {
                Descricao = "Alicate", Peso = 2, Utilidade = 8
            });
            gm.AddItem(new Item()
            {
                Descricao = "Machado", Peso = 15, Utilidade = 50
            });
            gm.AddItem(new Item()
            {
                Descricao = "Linha", Peso = 1, Utilidade = 1
            });
            gm.AddItem(new Item()
            {
                Descricao = "Agulha", Peso = 1, Utilidade = 1
            });
            gm.AddItem(new Item()
            {
                Descricao = "Band Aid", Peso = 1, Utilidade = 12
            });
            gm.AddItem(new Item()
            {
                Descricao = "Mertiolate", Peso = 1, Utilidade = 11
            });
            gm.AddItem(new Item()
            {
                Descricao = "Gaze", Peso = 1, Utilidade = 13
            });
            gm.AddItem(new Item()
            {
                Descricao = "Perfume", Peso = 1, Utilidade = 1
            });
            gm.AddItem(new Item()
            {
                Descricao = "Leite", Peso = 4, Utilidade = 10
            });
            gm.AddItem(new Item()
            {
                Descricao = "Biscoitos", Peso = 4, Utilidade = 10
            });
            gm.AddItem(new Item()
            {
                Descricao = "Sucrilhos", Peso = 3, Utilidade = 7
            });
            gm.AddItem(new Item()
            {
                Descricao = "Bombons", Peso = 3, Utilidade = 5
            });
            gm.AddItem(new Item()
            {
                Descricao = "Meias", Peso = 1, Utilidade = 2
            });
            gm.AddItem(new Item()
            {
                Descricao = "Chapeu", Peso = 3, Utilidade = 7
            });
            gm.AddItem(new Item()
            {
                Descricao = "Estilingue", Peso = 1, Utilidade = 4
            });
            gm.AddItem(new Item()
            {
                Descricao = "Martelo", Peso = 6, Utilidade = 12
            });
            gm.AddItem(new Item()
            {
                Descricao = "Arame", Peso = 6, Utilidade = 15
            });

            gm.Executar();

            int index = 0;

            foreach (object o in gm.Solucao.Cromossomos)
            {
                int it = (int)o;
                if (it == 1)
                {
                    Console.WriteLine("Item: " + gm.Itens[index].Descricao +
                                      "\tPeso: " + gm.Itens[index].Peso + "\tUtil: " + gm.Itens[index].Utilidade);
                }
                index++;
            }
            Mochila m = (Mochila)gm.Solucao;

            Console.WriteLine("Utilidade: " + m.Utilidade);
            Console.WriteLine("Peso: " + m.Peso);
            Console.WriteLine("Gerações: " + gm.Geracoes);
            Console.ReadLine();
        }
Ejemplo n.º 27
0
 public VerMochilaViewModel(Mochila item = null)
 {
     Title = item?.Descripcion;
     Item  = item;
     string Descripcion = item?.Descripcion;
 }