示例#1
0
文件: Itens.cs 项目: pokenshin/Desire
        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);
        }
示例#2
0
文件: Itens.cs 项目: pokenshin/Desire
        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);
        }
示例#3
0
文件: Itens.cs 项目: pokenshin/Desire
        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);
            }
        }
示例#4
0
文件: Itens.cs 项目: pokenshin/Desire
        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);
        }