public Municao Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); GeradorValorMag genValorMag = new GeradorValorMag(); GeradorMaterial genMaterial = new GeradorMaterial(); GeradorString genString = new GeradorString(); GeradorModificador genModificador = new GeradorModificador(); Municao resultado = new Municao() { 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), CorteBonus = genValorMag.Gerar(rnd), DanoBonus = genValorMag.Gerar(rnd), ImpactoBonus = genValorMag.Gerar(rnd), PenetracaoBonus = genValorMag.Gerar(rnd) }; resultado.Modificadores = genModificador.GerarListaComOrigem("Munição", resultado.Id, rng.GerarEntre(0, 5, rnd), rnd); return(resultado); }
public EfeitoModificador Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); GeradorDuracaoEfeito genDuracao = new GeradorDuracaoEfeito(); GeradorModificador genModificador = new GeradorModificador(); GeradorTipoDeAlvo genTipoDeAlvo = new GeradorTipoDeAlvo(); EfeitoModificador resultado = new EfeitoModificador() { Duracao = genDuracao.Gerar(rnd), Modificador = genModificador.Gerar(rnd), TipoDeAlvo = genTipoDeAlvo.Gerar(rnd) }; return(resultado); }
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 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 Especie Gerar(Random rnd) { GeradorOrigem genOrigem = new GeradorOrigem(); GeradorCriatividade genCriatividade = new GeradorCriatividade(); GeradorDestreza genDestreza = new GeradorDestreza(); GeradorExistencia genExistencia = new GeradorExistencia(); GeradorForca genForca = new GeradorForca(); GeradorIdeia genIdeia = new GeradorIdeia(); GeradorIntelecto genIntelecto = new GeradorIntelecto(); GeradorMateria genMateria = new GeradorMateria(); GeradorModificador genModificador = new GeradorModificador(); GeradorValorMag genValorMag = new GeradorValorMag(); GeradorEnergia genEnergia = new GeradorEnergia(); GeradorPericia genPericia = new GeradorPericia(); GeradorHabilidade genHabilidade = new GeradorHabilidade(); GeradorNatureza genNatureza = new GeradorNatureza(); GeradorResposta genResposta = new GeradorResposta(); GeradorBoolean genBool = new GeradorBoolean(); CalculadorSer calculadorSer = new CalculadorSer(); CalculadorNumero calculadorNum = new CalculadorNumero(); Especie especie = new Especie() { ReinoTaxo = rsg.GerarTamanhoEspecifico(2, 8, rnd), FiloTaxo = rsg.GerarTamanhoEspecifico(2, 9, rnd), ClasseTaxo = rsg.GerarTamanhoEspecifico(2, 8, rnd), OrdemTaxo = rsg.GerarTamanhoEspecifico(2, 8, rnd), FamiliaTaxo = rsg.GerarTamanhoEspecifico(2, 8, rnd), GeneroTaxo = rsg.GerarTamanhoEspecifico(2, 8, rnd), NomeCientifico = rsg.GerarTamanhoEspecifico(2, 8, rnd), NomePopular = rsg.GerarTamanhoEspecifico(2, 8, rnd), OrigemEspecie = genOrigem.Gerar(rnd), MagnitudeMin = rng.GerarEntre(0, 5, rnd), MagnitudeMax = rng.GerarEntre(0, 5, rnd), ReiMin = rng.GerarEntre(0, 3, rnd), ReiMax = rng.GerarEntre(1, 10, rnd), KiMin = rng.GerarEntre(0, 50, rnd), KiMax = rng.GerarEntre(1, 1000, rnd), NivelMin = rng.GerarEntre(0, 10000, rnd), NivelMax = rng.GerarEntre(1, 100000, rnd), TempoMax = rng.GerarEntre(1, 10000, rnd), Energias = genEnergia.GerarLista(rng.GerarEntre(1, 5, rnd), rnd), ForcaMin = genForca.Gerar(rnd), ForcaMax = genForca.Gerar(rnd), MateriaMin = genMateria.Gerar(rnd), MateriaMax = genMateria.Gerar(rnd), DestrezaMin = genDestreza.Gerar(rnd), DestrezaMax = genDestreza.Gerar(rnd), IntelectoMin = genIntelecto.Gerar(rnd), IntelectoMax = genIntelecto.Gerar(rnd), CriatividadeMin = genCriatividade.Gerar(rnd), CriatividadeMax = genCriatividade.Gerar(rnd), ExistenciaMin = genExistencia.Gerar(rnd), ExistenciaMax = genExistencia.Gerar(rnd), IdeiaMin = genIdeia.Gerar(rnd), IdeiaMax = genIdeia.Gerar(rnd), PericiasEspecie = genPericia.GerarLista(rng.GerarEntre(1, 10, rnd), rnd), HabilidadesEspecie = genHabilidade.GerarLista(rng.GerarEntre(1, 3, rnd), rnd), OrigemPoder = rsg.GerarTamanhoEspecifico(4, 10, rnd), VirtudesEspecie = genModificador.GerarListaComOrigem("Virtudes", 0, rng.GerarEntre(1, 10, rnd), rnd, '+'), DefeitosEspecie = genModificador.GerarListaComOrigem("Defeitos", 0, rng.GerarEntre(1, 10, rnd), rnd, '-'), ForcaVontadeMin = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd), ForcaVontadeMax = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd), IraMin = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd), IraMax = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd), PoderMaximoMin = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd), PoderMaximoMax = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd), FatorProgressao = rng.GerarEntre(1, 10, rnd), CansacoMax = rng.GerarEntre(0, 1000, rnd), FeMin = rng.GerarEntre(0, 1000, rnd), FeMax = rng.GerarEntre(0, 1000, rnd), KarmaMin = rng.GerarEntre(0, 1000, rnd), KarmaMax = rng.GerarEntre(0, 1000, rnd), MaxItensEquipados = rng.GerarEntre(1, 10, rnd), AcaoMin = rng.GerarEntre(1, 1000, rnd), AcaoMax = rng.GerarEntre(0, 1000, rnd), AlturaMin = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 5), rnd), AlturaMax = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 5), rnd), Id = rng.GerarEntre(1, 1000, rnd), MaxArmasEquipadas = rng.GerarEntre(1, 10, rnd), //TODO: Subclassificacoes = GeraSubclassificacoes(), TurnoMin = rng.GerarEntre(1, 1000, rnd), TurnoMax = rng.GerarEntre(1, 1000, rnd), MaturidadeMin = 0, MaturidadeMax = 0, DestriaMax = rng.GerarEntre(1, 10, rnd), DestriaMin = 1, Porcentagem = 0, TrabalhoMin = rng.GerarEntre(0, 1000, rnd), Densidade = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd), LarguraMin = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 5), rnd), LarguraMax = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 5), rnd), Especial = rng.GerarEntre(1, 70, rnd), Natureza = genNatureza.Gerar(rnd), RespostaMin = genResposta.Gerar(rnd), }; especie.MagnitudeMax = especie.MagnitudeMin + especie.MagnitudeMax; especie.ReiMax = especie.ReiMin + especie.ReiMax; especie.KiMax = especie.KiMin + especie.KiMax; especie.ForcaVontadeMax = calculadorNum.SomaValorMag(especie.ForcaVontadeMin, especie.ForcaVontadeMax); especie.IraMax = calculadorNum.SomaValorMag(especie.IraMin, especie.IraMax); especie.PoderMaximoMax = calculadorNum.SomaValorMag(especie.PoderMaximoMin, especie.PoderMaximoMax); especie.FeMax = especie.FeMin + especie.FeMax; especie.KarmaMax = especie.KarmaMin + especie.KarmaMax; especie.AcaoMax = especie.AcaoMin + especie.AcaoMax; especie.AlturaMax = calculadorNum.SomaValorMag(especie.AlturaMin, especie.AlturaMax); especie.TurnoMax = especie.TurnoMin + especie.TurnoMax; especie.MaturidadeMin = (int)calculadorNum.CalculaPorcentagem(rng.GerarEntre(1, 30, rnd), especie.TempoMax); especie.MaturidadeMax = especie.MaturidadeMin + (int)calculadorNum.CalculaPorcentagem(rng.GerarEntre(60, 99, rnd), especie.TempoMax); especie.TrabalhoMax = especie.TrabalhoMin + rng.GerarEntre(0, 1000, rnd); especie.LarguraMax = calculadorNum.SomaValorMag(especie.LarguraMin, especie.LarguraMax); especie.DeslocamentosMedios = new List <Deslocamento>() { }; if (genBool.GeraComChance(90, rnd)) { especie.DeslocamentosMedios.Add(new Deslocamento() { Tipo = "Solo", Valor = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd) }); } if (genBool.GeraComChance(70, rnd)) { especie.DeslocamentosMedios.Add(new Deslocamento() { Tipo = "Mar", Valor = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd) }); } if (genBool.GeraComChance(40, rnd)) { especie.DeslocamentosMedios.Add(new Deslocamento() { Tipo = "Ar", Valor = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd) }); } if (genBool.GeraComChance(10, rnd)) { Deslocamento desMar = new Deslocamento() { Tipo = "Espaço", Valor = genValorMag.GerarEntre(new ValorMag(1, 0), new ValorMag(99, 15), rnd) }; } especie.RespostaMax = new Resposta() { Bravura = especie.RespostaMin.Bravura + rng.GerarEntre(1, 1000, rnd), Coragem = especie.RespostaMin.Coragem + rng.GerarEntre(1, 1000, rnd), Desespero = especie.RespostaMin.Desespero + rng.GerarEntre(1, 1000, rnd), Heroismo = especie.RespostaMin.Heroismo + rng.GerarEntre(1, 1000, rnd), Indiferenca = especie.RespostaMin.Indiferenca + rng.GerarEntre(1, 1000, rnd), Medo = especie.RespostaMin.Medo + rng.GerarEntre(1, 1000, rnd), Panico = especie.RespostaMin.Panico + rng.GerarEntre(1, 1000, rnd) }; return(especie); }
public Ser Gerar(Random rnd) { //TODO: Pegar valores aleatórios do banco de dados ao invés de gera-los aleatoriamente //TODO: Restringir o tempo baseado nas restrições de tempo da espécie selecionada GeradorString genString = new GeradorString(); GeradorValorMag genValorMag = new GeradorValorMag(); GeradorInteiro rng = new GeradorInteiro(); GeradorCriatividade genCriatividade = new GeradorCriatividade(); GeradorDestreza genDestreza = new GeradorDestreza(); GeradorExistencia genExistencia = new GeradorExistencia(); GeradorForca genForca = new GeradorForca(); GeradorIdeia genIdeia = new GeradorIdeia(); GeradorIntelecto genIntelecto = new GeradorIntelecto(); GeradorMateria genMateria = new GeradorMateria(); GeradorOrigem genOrigem = new GeradorOrigem(); GeradorEspecie genEspecie = new GeradorEspecie(); GeradorClasse genClasse = new GeradorClasse(); GeradorIndole genIndole = new GeradorIndole(); GeradorRei genRei = new GeradorRei(); GeradorPericia genPericia = new GeradorPericia(); GeradorItem genItem = new GeradorItem(); GeradorModificador genModificador = new GeradorModificador(); GeradorResistencia genResistencia = new GeradorResistencia(); GeradorEquipamento genEquipamento = new GeradorEquipamento(); GeradorHabilidade genHabilidade = new GeradorHabilidade(); GeradorEvolucao genEvolucao = new GeradorEvolucao(); GeradorEnergia genEnergia = new GeradorEnergia(); CalculadorSer calculador = new CalculadorSer(); string primeiroNome = genString.GerarTamanhoEspecifico(2, 6, rnd); string segundoNome = genString.GerarTamanhoEspecifico(0, 9, rnd); Ser ser = new Ser() { Origem = genOrigem.Gerar(rnd), Tempo = rng.GerarEntre(1, 1000, rnd), //Reverter alteração para gerar mais de uma espécie quando a interface de espécies estiver criada Especies = genEspecie.GerarLista(rng.GerarEntre(1, 1, rnd), rnd), Classes = genClasse.GerarLista(rng.GerarEntre(1, 3, rnd), rnd), Indole = genIndole.Gerar(rnd), Reis = genRei.GerarLista(rng.GerarEntre(0, 5, rnd), rnd), Ki = rng.GerarEntre(0, 1000, rnd), Nivel = rng.GerarEntre(0, 1000, rnd), //Atributos Forca = genForca.Gerar(rnd), Materia = genMateria.Gerar(rnd), Destreza = genDestreza.Gerar(rnd), Intelecto = genIntelecto.Gerar(rnd), Criatividade = genCriatividade.Gerar(rnd), Existencia = genExistencia.Gerar(rnd), Ideia = genIdeia.Gerar(rnd), //Evolução EvolucaoCriatividade = genEvolucao.Gerar(rnd), EvolucaoDestreza = genEvolucao.Gerar(rnd), EvolucaoExistencia = genEvolucao.Gerar(rnd), EvolucaoForca = genEvolucao.Gerar(rnd), EvolucaoIdeia = genEvolucao.Gerar(rnd), EvolucaoIntelecto = genEvolucao.Gerar(rnd), EvolucaoMateria = genEvolucao.Gerar(rnd), //Perícias Pericias = genPericia.GerarLista(rng.GerarEntre(1, 20, rnd), rnd), //Itens e Equips Posses = genItem.GerarLista(rng.GerarEntre(1, 20, rnd), rnd), //Virtudes Dons = genModificador.GerarListaComOrigem("Virtudes", 3, rng.GerarEntre(1, 5, rnd), rnd, '+'), //Defeitos Defeitos = genModificador.GerarListaComOrigem("Defeitos", 6, rng.GerarEntre(1, 5, rnd), rnd, '-'), //Resistências Resistencias = genResistencia.GerarLista(rng.GerarEntre(0, 10, rnd), rnd), //Gênese Genese = rng.GerarEntre(1, 5, rnd), //Geração Geracao = rng.GerarEntre(1, 10, rnd), //Trajetória Trajetoria = "Trajetória Gerada Aleatóriamente", //Elo Divino EloDivino = "Elo Divino Gerado Aleatóriamente", //Idumentária Idumentaria = "Idumentária gerada aleatoriamente", //Subatributo Subatributos Extra SubatributoExtraNome1 = genString.GerarTamanhoEspecifico(3, 10, rnd), SubatributoExtraValor1 = genValorMag.Gerar(rnd), SubatributoExtraNome2 = genString.GerarTamanhoEspecifico(3, 10, rnd), SubatributoExtraValor2 = genValorMag.Gerar(rnd), //Habilidades Habilidades = genHabilidade.GerarLista(rng.GerarEntre(2, 10, rnd), rnd), //Alma Alma = genString.GerarLista(5, rnd) }; //Itens Equipados ser.Equipamentos = genEquipamento.GerarLista(ser.Especies[0].MaxItensEquipados, rnd); //Geradores //Identidade if (segundoNome.Length == 0) { ser.Nome = primeiroNome; } else { ser.Nome = primeiroNome + " " + segundoNome; } //Calcula outros valores ser = calculador.CalculaSer(ser); return(ser); }
public ArmaDeTiro Gerar(Random rnd) { GeradorInteiro rng = new GeradorInteiro(); GeradorValorMag genValorMag = new GeradorValorMag(); GeradorMaterial genMaterial = new GeradorMaterial(); GeradorString genString = new GeradorString(); GeradorMunicao genMunicao = new GeradorMunicao(); GeradorModificador genModificador = new GeradorModificador(); GeradorBoolean genBoolean = new GeradorBoolean(); int tipoDano = rng.GerarEntre(1, 4, rnd); string[] tiposOperacao = new string[] { "FullAuto", "Burst", "Single", "Pump", "Charge" }; int operacoes = 0; ArmaDeTiro armaDeFogo = new ArmaDeTiro() { Id = rng.GerarEntre(1, 1000, rnd), Caracteristicas = "Arma de Fogo gerada aleatoriamente", Comprimento = genValorMag.Gerar(rnd), DistanciaMax = genValorMag.Gerar(rnd), DistanciaMin = 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), TipoCarga = genMunicao.Gerar(rnd), TirosPorCarga = rng.GerarEntre(1, 100000, rnd), Valor = rng.GerarEntre(1, 100000, rnd), }; armaDeFogo.Modificadores = genModificador.GerarListaComOrigem("Arma", armaDeFogo.Id, rng.GerarEntre(0, 5, rnd), rnd); operacoes = rng.GerarEntre(1, tiposOperacao.Length, rnd); for (int i = 0; i < operacoes; i++) { armaDeFogo.Operacoes = new string[tiposOperacao.Length]; armaDeFogo.Operacoes[i] = tiposOperacao[rng.GerarEntre(0, tiposOperacao.Length - 1, rnd)]; } if (tipoDano == 1) { armaDeFogo.DanoCorte = rng.GerarEntre(1, 100000, rnd); } else if (tipoDano == 2) { armaDeFogo.DanoImpacto = rng.GerarEntre(1, 100000, rnd); } else if (tipoDano == 3) { armaDeFogo.DanoPenetracao = rng.GerarEntre(1, 1000000, rnd); } if (genBoolean.GeraComChance(10, rnd)) { armaDeFogo.ModificadorDano = "por ki"; } armaDeFogo.TirosPorAcao = armaDeFogo.TirosPorCarga - rng.GerarEntre(0, 100000, rnd); return(armaDeFogo); }