コード例 #1
0
        public override void Ataque(Monstro monstro)
        {
            Random rand   = new Random();
            float  ataque = (this.Status.Forca + this.Status.Agilidade) * (1 + (rand.Next(0, this.Status.Sorte) / 100));

            monstro.RecebeAtaque(ataque);
        }
コード例 #2
0
 private void DesselecionarMonstro(Monstro monstro)
 {
     if (monstro == monstroSelecionado)
     {
         monstroSelecionado = null;
     }
 }
コード例 #3
0
        private void ChecaPorMonstros(Localizacao localizacao)
        {
            // Does the location have a monster?
            if (localizacao.MonstroMorandoAqui != null)
            {
                rtbMessages.Text += "You see a " + localizacao.MonstroMorandoAqui.Nome + Environment.NewLine;

                // Make a new monster, using the values from the standard monster in the World.Monster list
                Monstro standardMonster = Mundo.MonstroPorID(localizacao.MonstroMorandoAqui.ID);

                _monstroAtual = new Monstro(standardMonster.ID, standardMonster.Nome, standardMonster.MaximumDamage,
                                            standardMonster.RecompensaDeExperiencia, standardMonster.RecompensaDeOuro, standardMonster.HitPointsAtual, standardMonster.HitPointsMaximo);

                foreach (ItemDeLoot lootItem in standardMonster.tabelaDeLoot)
                {
                    _monstroAtual.tabelaDeLoot.Add(lootItem);
                }

                cboWeapons.Visible   = true;
                cboPotions.Visible   = true;
                btnUseWeapon.Visible = true;
                btnUsePotion.Visible = true;
            }
            else
            {
                _monstroAtual = null;

                cboWeapons.Visible   = false;
                cboPotions.Visible   = false;
                btnUseWeapon.Visible = false;
                btnUsePotion.Visible = false;
            }
        }
コード例 #4
0
 public override void AtaqueEspecial(Monstro monstro)
 {
     if (this.Inventario.Direita.NomeItem == "Cajado Boreal")
     {
         if (this.Status.Mana < 20)
         {
             System.Windows.Forms.MessageBox.Show("Mana insuficiente");
         }
         else
         {
             System.Windows.Forms.MessageBox.Show("Você se cura, gastando sua mana!");
             this.Status.Mana -= 20;
             this.Status.Vida += 50;
         }
     }
     else
     {
         if (this.Status.Mana < 50)
         {
             System.Windows.Forms.MessageBox.Show("Mana insuficiente");
         }
         else
         {
             System.Windows.Forms.MessageBox.Show("Você conjura uma magia antiga ancestral, onde você sobe 10 Níveis!!");
             this.Status.Mana -= 50;
             Status.MelhorarStatus(10);
         }
     }
 }
コード例 #5
0
ファイル: TesteCombateDinamico.cs プロジェクト: juliocnp/Goku
        public void TesteSucesso3()
        {
            List <Magia> magias = new List <Magia>();

            magias.Add(new Magia(15, 20));
            magias.Add(new Magia(30, 35));
            magias.Add(new Magia(20, 25));
            magias.Add(new Magia(40, 45));
            magias.Add(new Magia(10, 10));
            magias.Add(new Magia(35, 40));
            magias.Add(new Magia(25, 30));
            magias.Add(new Magia(45, 50));
            magias.Add(new Magia(50, 55));
            magias.Add(new Magia(55, 60));
            magias.Add(new Magia(60, 65));
            magias.Add(new Magia(65, 70));
            magias.Add(new Magia(70, 75));
            magias.Add(new Magia(75, 80));
            magias.Add(new Magia(80, 85));
            magias.Add(new Magia(85, 90));
            magias.Add(new Magia(90, 95));
            magias.Add(new Magia(95, 100));
            magias.Add(new Magia(100, 105));
            magias.Add(new Magia(105, 110));
            magias.Add(new Magia(110, 115));
            magias.Add(new Magia(115, 120));
            magias.Add(new Magia(120, 125));
            magias.Add(new Magia(125, 130));
            magias.Add(new Magia(130, 135));
            magias.Add(new Magia(135, 140));
            magias.Add(new Magia(140, 145));
            magias.Add(new Magia(145, 150));
            magias.Add(new Magia(150, 155));
            magias.Add(new Magia(155, 160));
            magias.Add(new Magia(160, 165));

            Goku.Goku goku = new Goku.Goku(magias);

            Monstro        monstro      = new Monstro(null, 200);
            List <Monstro> listaMonstro = new List <Monstro>();

            listaMonstro.Add(monstro);
            int melhorKi = 0;

            CasoDeTeste casoDeTeste = new CasoDeTeste(3, 1, 0, 1);

            casoDeTeste.Goku = goku;
            casoDeTeste.Saloes.Add(new Salao(1, listaMonstro));

            int[,] tabela = Estruturas.PreencherTabelaDinamica(casoDeTeste);
            casoDeTeste.Saloes.ForEach(s =>
            {
                s.Monstros.ForEach(m =>
                {
                    m.CombaterMonstroDinamico(tabela, out melhorKi);
                });
            });

            Assert.AreEqual(melhorKi, 150);
        }
コード例 #6
0
ファイル: TesteCombateDinamico.cs プロジェクト: juliocnp/Goku
        public void TesteErro1()
        {
            Goku.Goku goku = new Goku.Goku();

            Monstro        monstro      = new Monstro(null, 1000);
            List <Monstro> listaMonstro = new List <Monstro>();

            listaMonstro.Add(monstro);
            int melhorKi = 0;

            CasoDeTeste casoDeTeste = new CasoDeTeste(3, 1, 0, 1);

            casoDeTeste.Goku = goku;
            casoDeTeste.Saloes.Add(new Salao(1, listaMonstro));

            int[,] tabela = Estruturas.PreencherTabelaDinamica(casoDeTeste);
            casoDeTeste.Saloes.ForEach(s =>
            {
                s.Monstros.ForEach(m =>
                {
                    m.CombaterMonstroDinamico(tabela, out melhorKi);
                });
            });

            Assert.AreEqual(melhorKi, -1);
        }
コード例 #7
0
ファイル: TesteCombateDinamico.cs プロジェクト: juliocnp/Goku
        public void TesteSucesso1()
        {
            List <Magia> magias = new List <Magia>();

            magias.Add(new Magia(10, 100));
            magias.Add(new Magia(15, 200));
            magias.Add(new Magia(20, 250));
            magias.Add(new Magia(25, 300));
            magias.Add(new Magia(30, 350));

            Goku.Goku goku = new Goku.Goku(magias);

            Monstro        monstro      = new Monstro(null, 800);
            List <Monstro> listaMonstro = new List <Monstro>();

            listaMonstro.Add(monstro);
            int melhorKi = 0;

            CasoDeTeste casoDeTeste = new CasoDeTeste(3, 1, 0, 1);

            casoDeTeste.Goku = goku;
            casoDeTeste.Saloes.Add(new Salao(1, listaMonstro));

            int[,] tabela = Estruturas.PreencherTabelaDinamica(casoDeTeste);
            casoDeTeste.Saloes.ForEach(s =>
            {
                s.Monstros.ForEach(m =>
                {
                    m.CombaterMonstroDinamico(tabela, out melhorKi);
                });
            });

            Assert.AreEqual(melhorKi, 60);
        }
コード例 #8
0
ファイル: MonstrosController.cs プロジェクト: Leorfk/Witcher
 public IActionResult Post([FromBody] Monstro monstro)
 {
     try
     {
         return(Json(Ok(_monstros.Insert(monstro))));
     }
     catch (Exception ex)
     {
         return(Json(StatusCode(500, "Deu ruim: " + ex.Message)));
     }
 }
コード例 #9
0
ファイル: MonstrosController.cs プロジェクト: Leorfk/Witcher
 public IActionResult Put([FromBody] Monstro monstro)
 {
     try
     {
         _monstros.Update(monstro);
         return(Json(Ok("Atualizado com sucesso")));
     }
     catch (Exception ex)
     {
         return(Json(StatusCode(500, "Deu ruim: " + ex.Message)));
     }
 }
コード例 #10
0
ファイル: Guerreiro.cs プロジェクト: FelipeJun/ProvaD-D
 public override void AtaqueEspecial(Monstro monstro)
 {
     if (this.Status.Mana < 30)
     {
         System.Windows.Forms.MessageBox.Show("Mana insuficiente");
     }
     else
     {
         System.Windows.Forms.MessageBox.Show("Você avança no monstro com seu escudo, atordoando-o!Ele não consegue te atacar por 1 turno");
         monstro.RecebeAtaque(20);
         this.Status.Mana -= 30;
     }
 }
コード例 #11
0
ファイル: Arqueiro.cs プロジェクト: FelipeJun/ProvaD-D
 public override void AtaqueEspecial(Monstro monstro)
 {
     if (this.Status.Mana < 50)
     {
         System.Windows.Forms.MessageBox.Show("Mana insuficiente");
     }
     else
     {
         System.Windows.Forms.MessageBox.Show("Você Atira uma flecha divina no céu, que cria uma chuva de flechas!!!");
         monstro.RecebeAtaque(300);
         this.Status.Mana -= 50;
     }
 }
コード例 #12
0
        public void TesteErro1()
        {
            Goku.Goku goku = new Goku.Goku();

            Monstro monstro = new Monstro(null, 100000);

            List <Magia> melhorCombinacao;
            int          melhorKi;

            monstro.CombaterMonstroForcaBruta(goku, out melhorCombinacao, out melhorKi);

            Assert.AreEqual(melhorKi, -1);
        }
コード例 #13
0
ファイル: Guerreiro.cs プロジェクト: alaudee/prova_ded
        public override void atacar(Monstro monstro)
        {
            Random rand  = new Random();
            float  sorte = rand.Next(0, this.Status.Sorte);

            if (this.Itens.Espada == true && validador == 0)
            {
                this.Status.Forca += 10;

                validador = 1;
            }
            int ataque = (int)((this.Status.Forca + this.Status.Agilidade) * (1 + (sorte / 100)));

            monstro.recebeAtaque(ataque);
        }
コード例 #14
0
        public void TesteSucesso3()
        {
            List <Magia> magias = new List <Magia>();

            magias.Add(new Magia(15, 20));
            magias.Add(new Magia(30, 35));
            magias.Add(new Magia(20, 25));
            magias.Add(new Magia(40, 45));
            magias.Add(new Magia(10, 10));
            magias.Add(new Magia(35, 40));
            magias.Add(new Magia(25, 30));
            magias.Add(new Magia(45, 50));
            magias.Add(new Magia(50, 55));
            magias.Add(new Magia(55, 60));
            magias.Add(new Magia(60, 65));
            magias.Add(new Magia(65, 70));
            magias.Add(new Magia(70, 75));
            magias.Add(new Magia(75, 80));
            magias.Add(new Magia(80, 85));
            magias.Add(new Magia(85, 90));
            magias.Add(new Magia(90, 95));
            magias.Add(new Magia(95, 100));
            magias.Add(new Magia(100, 105));
            magias.Add(new Magia(105, 110));
            magias.Add(new Magia(110, 115));
            magias.Add(new Magia(115, 120));
            magias.Add(new Magia(120, 125));
            magias.Add(new Magia(125, 130));
            magias.Add(new Magia(130, 135));
            magias.Add(new Magia(135, 140));
            magias.Add(new Magia(140, 145));
            magias.Add(new Magia(145, 150));
            magias.Add(new Magia(150, 155));
            magias.Add(new Magia(155, 160));
            magias.Add(new Magia(160, 165));

            Goku.Goku goku = new Goku.Goku(magias);

            Monstro monstro = new Monstro(null, 200);

            List <Magia> melhorCombinacao;
            int          melhorKi;

            monstro.CombaterMonstroGuloso(goku, out melhorCombinacao, out melhorKi);

            Assert.AreEqual(melhorKi, 330);
        }
コード例 #15
0
        public void TesteErro2()
        {
            List <Magia> magias = new List <Magia>();

            magias.Add(new Magia(1, 100));
            magias.Add(new Magia(100, 10));

            Goku.Goku goku = new Goku.Goku(null);

            Monstro monstro = new Monstro(null, 1000);

            List <Magia> melhorCombinacao;
            int          melhorKi;

            monstro.CombaterMonstroForcaBruta(goku, out melhorCombinacao, out melhorKi);

            Assert.AreEqual(melhorKi, -1);
        }
コード例 #16
0
        public void TesteSucesso4()
        {
            List <Magia> magias = new List <Magia>();

            magias.Add(new Magia(1, 100));
            magias.Add(new Magia(100, 10));

            Goku.Goku goku = new Goku.Goku(magias);

            Monstro monstro = new Monstro(null, 1000);

            List <Magia> melhorCombinacao;
            int          melhorKi;

            monstro.CombaterMonstroGuloso(goku, out melhorCombinacao, out melhorKi);

            Assert.AreEqual(melhorKi, 1100);
        }
コード例 #17
0
        public void TesteSucesso()
        {
            List <Magia> magias = new List <Magia>();

            magias.Add(new Magia(10, 100));
            magias.Add(new Magia(15, 200));
            magias.Add(new Magia(20, 250));

            Goku.Goku goku = new Goku.Goku(magias);

            Monstro monstro = new Monstro(null, 550);

            List <Magia> melhorCombinacao;
            int          melhorKi;

            monstro.CombaterMonstroForcaBruta(goku, out melhorCombinacao, out melhorKi);

            Assert.AreEqual(melhorKi, 45);
        }
コード例 #18
0
ファイル: TelaJogo.cs プロジェクト: FelipeJun/ProvaD-D
        public void MonstroAleatorio()
        {
            Random r           = new Random();
            int    monstrotela = r.Next(0, 3);

            if (monstrotela == 0)
            {
                monstroativo = new Slime();
            }
            else if (monstrotela == 1)
            {
                monstroativo = new Goblin();
            }
            else
            {
                monstroativo = new Dragao();
            }
            pcb_monstro.Image    = Image.FromFile(monstroativo.ImagemMonstro);
            lbl_vidamonstro.Text = "Vida do monstro: " + monstroativo.Status.Vida.ToString();
        }
コード例 #19
0
        /// <summary>
        /// Metodo para transição de telas
        /// </summary>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            //Captura os personagens vindos de outra tela (movimento)
            var ListParametros = e.Parameter as List <object>;

            jogador = ListParametros.ElementAt <object>(0) as PersonagemJogavel;
            monstro = ListParametros.ElementAt <object>(1) as Monstro;
            mapa    = ListParametros.ElementAt <object>(2) as Mapa;

            //Iniciar preenchimento das progress bars do jogador e monstro
            EnergiaP.Maximum = jogador.MaxEnergia;
            VidaP.Maximum    = jogador.MaxLife;
            EnergiaP.Value   = jogador.MaxEnergia;
            VidaP.Value      = jogador.Life;
            EnergiaM.Maximum = monstro.Energia;
            EnergiaM.Value   = monstro.Energia;
            VidaM.Maximum    = monstro.Life;
            VidaM.Value      = monstro.Life;

            //Chamada de metodos
            InicarMusicaBatalha();
            ImgJogadorCombate();
            ImgMonstroCombate();
            PreencherCBHabilidades();
            PreencherCBItens();
            AtualizarTexto();
            ExibeDescricaoMonstro();
            if (monstro.ItemDrop == null)
            {
                DropItem();
            }

            //Define o background
            ImageBrush ib = new ImageBrush();

            ib.ImageSource           = new BitmapImage(new Uri("ms-appx:///Assets/Combate/backgroundBattle.gif"));
            PaginaCombate.Background = ib;

            //jogador.Animo = 6000;
            //jogador.Persistencia = 5001;
        }
コード例 #20
0
ファイル: Heroi.cs プロジェクト: FelipeJun/ProvaD-D
 public static void SubirLevel(Heroi player, Monstro monstro)
 {
     if (monstro.Nome == "Slime")
     {
         player.Level += 1;
         player.Status.MelhorarStatus(1);
     }
     else if (monstro.Nome == "Goblin")
     {
         player.Level += 2;
         player.Status.MelhorarStatus(2);
     }
     else
     {
         player.Level += 5;
         player.Status.MelhorarStatus(5);
     }
     System.Windows.Forms.MessageBox.Show("Parabéns!! Você subiu para o nivel " + player.Level);
     player.Dinheiro += monstro.DropDinheiro;
     System.Windows.Forms.MessageBox.Show("Monstro dropou " + monstro.DropDinheiro + "!");
 }
コード例 #21
0
        /// <summary>
        /// Define a imagem do monstro na tela de combate
        /// </summary>
        private void ImgMonstroCombate(Monstro monstro)
        {
            string diretorioMonstro;

            //Definir a imagem do mosntro
            if (monstro.GetType() == typeof(Aculo))
            {
                diretorioMonstro = "monstros/aculo.png";
            }
            else if (monstro.GetType() == typeof(Anaculo))
            {
                diretorioMonstro = "monstros/anaculo.png";
            }
            else if (monstro.GetType() == typeof(Atom))
            {
                diretorioMonstro = "monstros/atom.png";
            }
            else if (monstro.GetType() == typeof(Gasefic))
            {
                diretorioMonstro = "monstros/gasefic.png";
            }
            else if (monstro.GetType() == typeof(Lapain))
            {
                diretorioMonstro = "monstros/lapain.png";
            }
            else if (monstro.GetType() == typeof(Minlapa))
            {
                diretorioMonstro = "monstros/minlapa.png";
            }
            else if (monstro.GetType() == typeof(Mintost))
            {
                diretorioMonstro = "monstros/mintost.png";
            }
            else //Toest
            {
                diretorioMonstro = "monstros/toest.png";
            }
            ImgMonstro.Source = new BitmapImage(new Uri("ms-appx:///Assets/" + diretorioMonstro));
        }
コード例 #22
0
        public frm_batalha(Heroi heroi)
        {
            InitializeComponent();

            this.Heroi = heroi;

            lbl_agilidade.Text += Heroi.Status.Agilidade;
            lbl_defesa.Text    += Heroi.Status.Defesa;
            lbl_forca.Text     += Heroi.Status.Forca;
            lbl_sorte.Text     += Heroi.Status.Sorte;
            lbl_mana.Text      += Heroi.Status.Mana;
            lbl_vida.Text      += Heroi.Status.Vida;

            if (this.Heroi.Classe != "Mago")
            {
                btn_curar.Enabled = false;
            }

            Random rand    = new Random();
            int    sorteio = rand.Next(0, 3);

            if (sorteio == 1)
            {
                pcb_monstro.Image = Properties.Resources.goblin;
                this.Monstro      = new Goblin(1, 80, 5, 40, 5, 100, 10);
            }
            else if (sorteio == 2)
            {
                pcb_monstro.Image = Properties.Resources.aranha;
                this.Monstro      = new Aranha(1, 110, 5, 10, 10, 130, 10);
            }
            else
            {
                pcb_monstro.Image = Properties.Resources.dragao;
                this.Monstro      = new Dragao(1, 90, 10, 30, 10, 170, 1);
            }
            lbl_vidaMonstro.Text += Monstro.Status.Vida;
        }
コード例 #23
0
        public void TesteSucesso2()
        {
            List <Magia> magias = new List <Magia>();

            magias.Add(new Magia(15, 200));
            magias.Add(new Magia(30, 350));
            magias.Add(new Magia(20, 250));
            magias.Add(new Magia(40, 450));
            magias.Add(new Magia(10, 100));
            magias.Add(new Magia(35, 400));
            magias.Add(new Magia(25, 300));

            Goku.Goku goku = new Goku.Goku(magias);

            Monstro monstro = new Monstro(null, 800);

            List <Magia> melhorCombinacao;
            int          melhorKi;

            monstro.CombaterMonstroGuloso(goku, out melhorCombinacao, out melhorKi);

            Assert.AreEqual(melhorKi, 900);
        }
コード例 #24
0
        static void Main(string[] args)
        {
            Monstro monstro = new Monstro();

            monstro.Apresentar();

            //Personagem meuPersonagem = new Personagem("Heimille", Personagem.ClasseJogador.Mago);
            //int numeroMonstros = 0;
            //Monstro meuMonstro = new Monstro();
            //Combate combate = new Combate();
            //var vencedor = combate.Combater(meuPersonagem, meuMonstro);
            //
            //
            //while (vencedor.GetType() == typeof(Personagem))
            //{
            //    numeroMonstros++;
            //    meuMonstro = new Monstro();
            //     vencedor = combate.Combater(meuPersonagem, meuMonstro);
            //}
            //Console.WriteLine($"{meuPersonagem.Nome} matou {numeroMonstros} monstros");

            Console.ReadKey();
        }
コード例 #25
0
 public abstract void atacar(Monstro monstro);
コード例 #26
0
ファイル: Heroi.cs プロジェクト: FelipeJun/ProvaD-D
 public abstract void AtaqueEspecial(Monstro monstro);
コード例 #27
0
ファイル: Heroi.cs プロジェクト: FelipeJun/ProvaD-D
 public abstract void Ataque(Monstro monstro);
コード例 #28
0
 private void SelecionarMonstro(Monstro monstro)
 {
     monstroSelecionado = monstro;
 }
コード例 #29
0
ファイル: MonstrosRepository.cs プロジェクト: Leorfk/Witcher
 public Monstro Add(Monstro monstro)
 {
     throw new NotImplementedException();
 }
コード例 #30
0
ファイル: MonstrosRepository.cs プロジェクト: Leorfk/Witcher
 public bool Update(Monstro monstro)
 {
     throw new NotImplementedException();
 }