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(); }
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); }
private void SendToBackpack(LojaItem lojaItem) { Mochila backpackItem = Tools.LojaToMochila(lojaItem); UserController.Instance.MinhaMochila.Itens.Add(backpackItem); UserController.Instance.SyncUser(); }
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]; }
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(); }); }
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; } }
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}"); }
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; }
public VerMochila() { InitializeComponent(); var item = new Mochila { UUID = "Item 1", Descripcion = "This is an item description." }; viewModel = new VerMochilaViewModel(item); BindingContext = viewModel; }
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); }
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(); }
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); } }
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); }
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)); }
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()); } }
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); }
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(); }
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 }
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); }
public void AdicionarMochila(Mochila mochila) { this.Populacao.Add(mochila); }
public GerarMochila(List <Objeto> objetos, Mochila mochila) { Objetos = objetos; Mochila = mochila; }
private void btnMochila_Click(object sender, RoutedEventArgs e) { Mochila mochila = new Mochila(ConstruirJogador()); mochila.ShowDialog(); }
public Crossover(Mochila mochilaPai, Mochila mochilaMae) { MochilaPai = mochilaPai; MochilaMae = mochilaMae; }
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(); }
public VerMochilaViewModel(Mochila item = null) { Title = item?.Descripcion; Item = item; string Descripcion = item?.Descripcion; }