public Habilidade Gerar(Random rnd) { //TODO: Pegar aleatoriamente do banco de dados de habilidades //TODO: Pegar Pericia Associada do banco de dados de pericias //TODO: Criar efeitos secundários. Ex: dano + buff, cura + piora, etc //TODO: Restringir o tipo da Habilidade por uma lista do banco de dados GeradorInteiro rng = new GeradorInteiro(); GeradorString genString = new GeradorString(); GeradorPericia genPericia = new GeradorPericia(); GeradorEnergia genEnergia = new GeradorEnergia(); GeradorValorMag genValorMag = new GeradorValorMag(); GeradorAreaCientifica genAreaCientifica = new GeradorAreaCientifica(); GeradorTipoDeAlvo genTipoDeAlvo = new GeradorTipoDeAlvo(); GeradorEfeito genEfeito = new GeradorEfeito(); GeradorTipoDeHabilidade genTipoDeHabilidade = new GeradorTipoDeHabilidade(); Habilidade habilidade = new Habilidade() { Id = rng.GerarEntre(1, 1000, rnd), Magnitude = rng.GerarEntre(1, 10, rnd), Nome = genString.GerarTamanhoEspecifico(2, 8, rnd), PericiaAssociada = genPericia.Gerar(rnd), Energia = genEnergia.Gerar(rnd), AreaCientifica = genAreaCientifica.Gerar(rnd), Efeitos = genEfeito.GerarLista(rng.GerarEntre(1, 3, rnd), rnd), Tipo = genTipoDeHabilidade.Gerar(rnd) }; habilidade.Caracteristicas = "Habilidade gerada automaticamente."; return(habilidade); }
public string Gerar(Random rnd) { int min = rng.GerarEntre(1, 10, rnd); int max = min + rng.GerarEntre(1, 10, rnd); return(GerarTamanhoEspecifico(min, max, rnd)); }
public ValorMag GerarEntre(ValorMag min, ValorMag max, Random rnd) { GeradorInteiro rng = new GeradorInteiro(); int valor = 1; int mag = rng.GerarEntre(min.Magnitude, max.Magnitude, rnd); if (mag == min.Magnitude) { if (mag == max.Magnitude) { valor = rng.GerarEntre(min.Valor, max.Valor, rnd); } else { valor = rng.GerarEntre(min.Valor, 99, rnd); } } else if (mag == max.Magnitude) { valor = rng.GerarEntre(10, max.Valor, rnd); } else { valor = rng.GerarEntre(10, 99, rnd); } ValorMag resultado = new ValorMag(valor, mag); return(resultado); }
///<summary> ///Gera um ValorMag aleatório entre 10m0 e 99m20 ///</summary> public ValorMag Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); int valor = rng.GerarEntre(10, 99, rnd); int mag = rng.GerarEntre(0, 20, rnd); return(new ValorMag(valor, mag)); }
public Consumivel Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); GeradorValorMag genValorMag = new GeradorValorMag(); GeradorMaterial genMaterial = new GeradorMaterial(); GeradorString genString = new GeradorString(); GeradorEfeito genEfeito = new GeradorEfeito(); Consumivel resultado = new Consumivel() { Id = rng.GerarEntre(1, 1000, rnd), Caracteristicas = "Consumivel gerado aleatoriamente", Comprimento = genValorMag.Gerar(rnd), Essencia = rng.GerarEntre(1, 100000, rnd), Energia = rng.GerarEntre(0, 100000, rnd), Largura = genValorMag.Gerar(rnd), MaterialBase = genMaterial.Gerar(rnd), Nivel = rng.GerarEntre(1, 100, rnd), Nome = genString.GerarTamanhoEspecifico(3, 8, rnd), Peso = genValorMag.Gerar(rnd), Raridade = rng.GerarEntre(1, 100, rnd), Tipo = rng.GerarEntre(1, 100, rnd), Valor = rng.GerarEntre(1, 100000, rnd), Magnitude = rng.GerarEntre(1, 20, rnd), Massa = genValorMag.Gerar(rnd), Efeitos = genEfeito.GerarLista(rng.GerarEntre(1, 5, rnd), rnd) }; return(resultado); }
public Vestivel Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); GeradorValorMag genValorMag = new GeradorValorMag(); GeradorMaterial genMaterial = new GeradorMaterial(); GeradorString genString = new GeradorString(); GeradorModificador genModificador = new GeradorModificador(); Vestivel resultado = new Vestivel() { Id = rng.GerarEntre(1, 1000, rnd), Caracteristicas = "Vestivel gerado aleatoriamente", Comprimento = genValorMag.Gerar(rnd), Essencia = rng.GerarEntre(1, 100000, rnd), Energia = rng.GerarEntre(0, 100000, rnd), Largura = genValorMag.Gerar(rnd), MaterialBase = genMaterial.Gerar(rnd), Nivel = rng.GerarEntre(1, 100, rnd), Nome = genString.GerarTamanhoEspecifico(3, 8, rnd), Peso = genValorMag.Gerar(rnd), Raridade = rng.GerarEntre(1, 100, rnd), Tipo = rng.GerarEntre(1, 100, rnd), Valor = rng.GerarEntre(1, 100000, rnd), Magnitude = rng.GerarEntre(1, 20, rnd), Massa = genValorMag.Gerar(rnd), ResCorte = genValorMag.Gerar(rnd), ResDegeneracao = genValorMag.Gerar(rnd), ResImpacto = genValorMag.Gerar(rnd), ResPenetracao = genValorMag.Gerar(rnd), Slot = rng.GerarEntre(1, 10, rnd) }; resultado.Modificadores = genModificador.GerarListaComOrigem("Vestivel", resultado.Id, rng.GerarEntre(0, 5, rnd), rnd); return(resultado); }
public Carisma Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); Carisma carisma = new Carisma() { Negativo = rng.GerarEntre(0, 100, rnd), Neutro = rng.GerarEntre(0, 100, rnd), Positivo = rng.GerarEntre(0, 100, rnd) }; return(carisma); }
public Destino Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); Destino destino = new Destino() { Acaso = rng.GerarEntre(0, 100, rnd), Azar = rng.GerarEntre(0, 100, rnd), Desgraca = rng.GerarEntre(0, 100, rnd), Milagre = rng.GerarEntre(0, 100, rnd), Sorte = rng.GerarEntre(0, 100, rnd) }; return(destino); }
public Posse Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); GeradorValorMag genValorMag = new GeradorValorMag(); GeradorMaterial genMaterial = new GeradorMaterial(); GeradorString genString = new GeradorString(); GeradorModificador genModificador = new GeradorModificador(); Posse resultado = new Posse() { Id = rng.GerarEntre(1, 1000, rnd), Caracteristicas = "Munição gerada aleatoriamente", Comprimento = genValorMag.Gerar(rnd), Essencia = rng.GerarEntre(1, 100000, rnd), Energia = rng.GerarEntre(0, 100000, rnd), Largura = genValorMag.Gerar(rnd), MaterialBase = genMaterial.Gerar(rnd), Nivel = rng.GerarEntre(1, 100, rnd), Nome = genString.GerarTamanhoEspecifico(3, 8, rnd), Peso = genValorMag.Gerar(rnd), Raridade = rng.GerarEntre(1, 100, rnd), Tipo = rng.GerarEntre(1, 100, rnd), Valor = rng.GerarEntre(1, 100000, rnd), Magnitude = rng.GerarEntre(1, 20, rnd), Massa = genValorMag.Gerar(rnd), }; resultado.Modificadores = genModificador.GerarListaComOrigem("Munição", resultado.Id, rng.GerarEntre(0, 5, rnd), rnd); return(resultado); }
public IEfeito Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); GeradorEfeitoDano genEfeitoDano = new GeradorEfeitoDano(); GeradorEfeitoCura genEfeitoCura = new GeradorEfeitoCura(); GeradorEfeitoModificador genEfeitoMod = new GeradorEfeitoModificador(); int tipo = rng.GerarEntre(1, 3, rnd); switch (tipo) { //Dano case 1: return(genEfeitoDano.Gerar(rnd)); //Cura case 2: return(genEfeitoCura.Gerar(rnd)); //Modificador case 3: return(genEfeitoMod.Gerar(rnd)); default: return(null); } }
public Equipamento Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); //Quantidade de tipos diferentes de equipamento existentes int quantidadeTiposEquipamento = 3; int tipoDeEquipamento = rng.GerarEntre(1, quantidadeTiposEquipamento, rnd); switch (tipoDeEquipamento) { //ArmaBranca case 1: GeradorArmaBranca genArmaBranca = new GeradorArmaBranca(); return(genArmaBranca.Gerar(rnd)); //ArmaDeTiro case 2: GeradorArmaDeTiro genArmaDeTiro = new GeradorArmaDeTiro(); return(genArmaDeTiro.Gerar(rnd)); //Vestivel case 3: GeradorVestivel genVestivel = new GeradorVestivel(); return(genVestivel.Gerar(rnd)); default: return(null); } }
public Energia Gerar(Random rnd) { //TODO: pegar uma energia a partir do banco de dados List <String> tiposEnergia = new List <string> { "AP", "CP", "EP", "HP", "MP", "QP", "SP", "PE", "PA", "WP" }; GeradorInteiro rng = new GeradorInteiro(); Energia energia = new Energia() { Sigla = tiposEnergia[rng.GerarEntre(0, tiposEnergia.Count - 1, rnd)], Quantidade = rng.GerarEntre(1, 1000000, rnd) }; return(energia); }
public Evolucao Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); GeradorBoolean rbg = new GeradorBoolean(); return(new Evolucao(rng.GerarEntre(1, 17, rnd), 16, rbg.GeraComChance(10, rnd))); }
public Destreza Gerar(Random rnd) { Destreza atributo = new Destreza() { Ataque = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Classe = rsg.GerarTamanhoEspecifico(1, 1, rnd), Esquiva = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Iniciativa = rng.GerarEntre(1, 1000, rnd), Nivel = rng.GerarEntre(1, 5, rnd), Pontos = rng.GerarEntre(1, 100, rnd), Porcentagem = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Dinamica = rng.GerarEntre(1, 1000, rnd), Reflexo = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), BonusCP = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal) }; return(atributo); }
public Criatividade Gerar(Random rnd) { Criatividade atributo = new Criatividade() { Classe = rsg.GerarTamanhoEspecifico(1, 1, rnd), Invencao = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Nivel = rng.GerarEntre(1, 5, rnd), Pontos = rng.GerarEntre(1, 100, rnd), Porcentagem = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Realidade = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Singularidade = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Tutor = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Visualizacao = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), BonusMP = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd) }; return(atributo); }
public Existencia Gerar(Random rnd) { Existencia atributo = new Existencia() { Ciencia = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Classe = rsg.GerarTamanhoEspecifico(1, 1, rnd), Conhecimento = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Consciencia = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Experiencia = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), Nivel = rng.GerarEntre(1, 5, rnd), Pontos = rng.GerarEntre(1, 100, rnd), Plano = rng.GerarEntre(1, 100, rnd), Porcentagem = rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd), BonusCP = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal) }; return(atributo); }
public Ideia Gerar(Random rnd) { Ideia atributo = new Ideia() { Base = rng.GerarEntre(1, 1000, rnd), Nivel = rng.GerarEntre(1, 5, rnd), Pontos = rng.GerarEntre(1, 100, rnd), Porcentagem = rvmg.Gerar(rnd), Classe = rsg.GerarTamanhoEspecifico(1, 1, rnd), Irrealidade = rvmg.Gerar(rnd), Ki = rng.GerarEntre(1, 1000, rnd), Misterio = rvmg.Gerar(rnd), Nexo = rvmg.Gerar(rnd), BonusMP = rvmg.Gerar(rnd) }; return(atributo); }
public Rei Gerar(Random rnd) { GeradorString genString = new GeradorString(); GeradorModificador genModificador = new GeradorModificador(); string[] tiposCor = new string[] { "Branco", "Preto", "Vermelho", "Verde", "Azul", "Amarelo", "Violeta", "Rosa", "Cinza", "Laranja", "Marrom" }; Rei rei = new Rei() { Nome = genString.GerarTamanhoEspecifico(3, 8, rnd), Magnitude = rng.GerarEntre(0, 20, rnd), Origem = genString.GerarTamanhoEspecifico(3, 8, rnd), Cor = tiposCor[rng.GerarEntre(0, tiposCor.Length - 1, rnd)] }; rei.Modificadores = genModificador.GerarListaComOrigem("Rei", rei.Id, rng.GerarEntre(1, 10, rnd), rnd); return(rei); }
public Intelecto Gerar(Random rnd) { Intelecto atributo = new Intelecto() { Nivel = rng.GerarEntre(1, 5, rnd), Pontos = rng.GerarEntre(1, 100, rnd), Porcentagem = rvmg.Gerar(rnd), Classe = rsg.GerarTamanhoEspecifico(1, 1, rnd), Aprendizagem = rvmg.Gerar(rnd), Concentracao = rvmg.Gerar(rnd), Eidos = rvmg.Gerar(rnd), Memoria = rvmg.Gerar(rnd), Senso = rvmg.Gerar(rnd), BonusCP = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal) }; return(atributo); }
public Forca Gerar(Random rnd) { Forca atributo = new Forca() { Sustentacao = rvmg.Gerar(rnd), Classe = rsg.GerarTamanhoEspecifico(1, 1, rnd), Dureza = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal), Golpe = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal), Nivel = rng.GerarEntre(1, 5, rnd), Pontos = rng.GerarEntre(1, 100, rnd), Porcentagem = rvmg.Gerar(rnd), Potencia = rvmg.Gerar(rnd), Vigor = rvmg.Gerar(rnd), BonusCP = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal) }; return(atributo); }
public Materia Gerar(Random rnd) { Materia atributo = new Materia() { Nivel = rng.GerarEntre(1, 5, rnd), Pontos = rng.GerarEntre(1, 100, rnd), Porcentagem = rvmg.Gerar(rnd), Classe = rsg.GerarTamanhoEspecifico(1, 1, rnd), Colapso = rvmg.Gerar(rnd), Impulso = rvmg.Gerar(rnd), Resistencia = rvmg.Gerar(rnd), Vitalidade = rvmg.Gerar(rnd), BonusHP = rvmg.Gerar(rnd), BonusCP = Convert.ToDecimal(rvmg.GerarEntre(new ValorMag(10, 0), new ValorMag(99, 15), rnd).ValorReal), Carga = rvmg.Gerar(rnd) }; return(atributo); }
public DuracaoEfeito Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); List <string> tiposDuracao = new List <String>() { "Limitado", "Canal", "Marca", "Postura", "Permanente", "Instantâneo" }; List <string> unidadesDuracao = new List <string>() { "Turnos", "Segundos", "Minutos", "Horas", "Dias", "Meses", "Anos", "Séculos", "Milênios", "Gêneses" }; DuracaoEfeito resultado = new DuracaoEfeito() { TipoDuracao = tiposDuracao[rng.GerarEntre(0, tiposDuracao.Count - 1, rnd)], }; if (resultado.TipoDuracao == "Limitado") { GeradorValorMag genValorMag = new GeradorValorMag(); resultado.UnidadeDuracao = unidadesDuracao[rng.GerarEntre(0, unidadesDuracao.Count - 1, rnd)]; resultado.ValorDuracao = genValorMag.Gerar(rnd); } return(resultado); }
public Pericia Gerar(Random rnd) { GeradorModificador genModificador = new GeradorModificador(); GeradorString genString = new GeradorString(); Pericia pericia = new Pericia() { Nome = genString.GerarTamanhoEspecifico(3, 8, rnd), Id = rng.GerarEntre(0, 1000, rnd), }; pericia.Modificadores = genModificador.GerarListaComOrigem("Pericia", pericia.Id, rng.GerarEntre(1, 5, rnd), rnd, '+'); pericia.Caracteristicas = "Perícia em " + pericia.Nome + ". Modificadores: "; foreach (Modificador mod in pericia.Modificadores) { pericia.Caracteristicas = pericia.Caracteristicas + mod.ToString() + " "; } return(pericia); }
public Classe Gerar(Random rnd) { string[] atributosEspirituais = new string[] { "Idéia", "Existência" }; string[] atributosFisicos = new string[] { "Força", "Destreza", "Matéria" }; string[] atributosMentais = new string[] { "Intelecto", "Criatividade" }; string[] estilos = new string[] { "Melee", "Ranged", "Caster", "Comando", "Ofício" }; string[] funcoes = new string[] { "Dano", "Cura", "Suporte", "Controle", "Crafting" }; GeradorInteiro rng = new GeradorInteiro(); GeradorString genString = new GeradorString(); GeradorCiencia genCiencia = new GeradorCiencia(); GeradorPericia genPericia = new GeradorPericia(); Classe classe = new Classe() { AtributoEspiritual = atributosEspirituais[rng.GerarEntre(0, atributosEspirituais.Length - 1, rnd)], AtributoFisico = atributosFisicos[rng.GerarEntre(0, atributosFisicos.Length - 1, rnd)], AtributoMental = atributosMentais[rng.GerarEntre(0, atributosMentais.Length - 1, rnd)], Estilo = estilos[rng.GerarEntre(0, estilos.Length - 1, rnd)], Funcao = funcoes[rng.GerarEntre(0, funcoes.Length - 1, rnd)], Nome = genString.GerarTamanhoEspecifico(4, 8, rnd), OrigemPoder = genString.GerarTamanhoEspecifico(4, 8, rnd), Ciencia = genCiencia.Gerar(rnd), Pericias = genPericia.GerarLista(rng.GerarEntre(1, 5, rnd), rnd) }; classe.Descricao = "Classe de estilo " + classe.Estilo + ", utilizando " + classe.AtributoFisico + ", " + classe.AtributoEspiritual + " e " + classe.AtributoMental + ", com a função principal de " + classe.Funcao + " gerada aleatoriamente."; return(classe); }
public TipoHabilidade Gerar(Random rnd) { GeradorString genString = new GeradorString(); GeradorInteiro rng = new GeradorInteiro(); TipoHabilidade resultado = new TipoHabilidade() { Id = rng.GerarEntre(1, 100, rnd), Nome = genString.GerarTamanhoEspecifico(4, 10, rnd) }; return(resultado); }
public Item Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); //Número de tipos de item diferentes. Utilizado para aleatorizar o tipo de item a ser gerado. Adicionar mais um a cada novo tipo de item adicionado int quantidadeTiposDeItem = 7; int tipoDeItem = rng.GerarEntre(1, quantidadeTiposDeItem, rnd); switch (tipoDeItem) { //ArmaBranca case 1: GeradorArmaBranca genArmaBranca = new GeradorArmaBranca(); return(genArmaBranca.Gerar(rnd)); //ArmaDeTiro case 2: GeradorArmaDeTiro genArmaDeTiro = new GeradorArmaDeTiro(); return(genArmaDeTiro.Gerar(rnd)); //Consumivel case 3: GeradorConsumivel genConsumivel = new GeradorConsumivel(); return(genConsumivel.Gerar(rnd)); //Material case 4: GeradorMaterial genMaterial = new GeradorMaterial(); return(genMaterial.Gerar(rnd)); //Municao case 5: GeradorMunicao genMunicao = new GeradorMunicao(); return(genMunicao.Gerar(rnd)); //Posse case 6: GeradorPosse genPosse = new GeradorPosse(); return(genPosse.Gerar(rnd)); //Vestivel case 7: GeradorVestivel genVestivel = new GeradorVestivel(); return(genVestivel.Gerar(rnd)); default: return(null); } }
public Resposta Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); Resposta resposta = new Resposta() { Bravura = rng.GerarEntre(1, 1000, rnd), Coragem = rng.GerarEntre(1, 1000, rnd), Desespero = rng.GerarEntre(1, 1000, rnd), Heroismo = rng.GerarEntre(1, 1000, rnd), Indiferenca = rng.GerarEntre(1, 1000, rnd), Medo = rng.GerarEntre(1, 1000, rnd), Panico = rng.GerarEntre(1, 1000, rnd) }; return(resposta); }
public IAlvoHabilidade Gerar(Random rnd) { int tipoDeAlvo = rng.GerarEntre(1, 8, rnd); switch (tipoDeAlvo) { case 1: GeradorAlvoEgo genEgo = new GeradorAlvoEgo(); return(genEgo.Gerar(rnd)); case 2: GeradorAlvoPonto genPonto = new GeradorAlvoPonto(); return(genPonto.Gerar(rnd)); case 3: GeradorAlvoLinha genLinha = new GeradorAlvoLinha(); return(genLinha.Gerar(rnd)); case 4: GeradorAlvoCirculo genCirculo = new GeradorAlvoCirculo(); return(genCirculo.Gerar(rnd)); case 5: GeradorAlvoVetor genVetor = new GeradorAlvoVetor(); return(genVetor.Gerar(rnd)); case 6: GeradorAlvoLosango genLosango = new GeradorAlvoLosango(); return(genLosango.Gerar(rnd)); case 7: GeradorAlvoTriangulo genTriangulo = new GeradorAlvoTriangulo(); return(genTriangulo.Gerar(rnd)); case 8: GeradorAlvoElipse genElipse = new GeradorAlvoElipse(); return(genElipse.Gerar(rnd)); default: return(null); } }
public Natureza Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); Natureza resultado = new Natureza() { Apresentacao = rng.GerarEntre(1, 26, rnd), Concepcao = rng.GerarEntre(1, 26, rnd), Honra = rng.GerarEntre(1, 26, rnd), Moral = rng.GerarEntre(1, 26, rnd), Percepcao = rng.GerarEntre(1, 26, rnd), Personalidade = rng.GerarEntre(1, 26, rnd) }; return(resultado); }
public Arma Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); //Quantidade de tipos diferentes de equipamento existentes int quantidadeTiposArma = 2; int tipoDeArma = rng.GerarEntre(1, quantidadeTiposArma, rnd); switch (tipoDeArma) { //ArmaBranca case 1: GeradorArmaBranca genArmaBranca = new GeradorArmaBranca(); return(genArmaBranca.Gerar(rnd)); //ArmaDeTiro case 2: GeradorArmaDeTiro genArmaDeTiro = new GeradorArmaDeTiro(); return(genArmaDeTiro.Gerar(rnd)); default: return(null); } }