예제 #1
0
 //Mudar retorno para string quando implementar o front-end
 public void Display_mob_status(Mob inimigo)
 {
     System.Console.WriteLine("Enemy:" + inimigo.Nome + "\nLV:" + inimigo.Lvl);
     System.Console.Write("HP:" + inimigo.Hp_atual + "/" + inimigo.Hp_total);
     System.Console.WriteLine("||MP:" + inimigo.Mp_atual + "/" + inimigo.Mp_total);
 }
예제 #2
0
        public void Battle(Player jogador, Mob inimigo)
        {
            int    turno_atual = 1;
            String option;
            bool   turno_player = true;

            while (jogador.IsAlive() == true && inimigo.IsAlive() == true)
            {
                System.Console.Clear();
                Display_player_status(jogador);
                System.Console.WriteLine("Turno:" + turno_atual);
                System.Console.WriteLine("===================");
                Display_mob_status(inimigo);
                if (turno_player == true)
                {
                    Display_player_menu(jogador);
                    option = System.Console.ReadLine();
                    if (option == "2")
                    {
                        Display_player_skills_Menu(jogador);
                        option = System.Console.ReadLine();
                        System.Console.WriteLine(inimigo.Nome + " recebeu " + Skill_select(jogador, option, inimigo) + " de dano");
                        System.Console.ReadKey();
                        turno_player = false;
                        turno_atual++;
                    }
                    else
                    {
                        inimigo.Take_dmg(jogador.Atk_base());
                        System.Console.WriteLine(inimigo.Nome + " recebeu " + jogador.Atk_base() + " de dano");
                        System.Console.ReadKey();
                        turno_player = false;
                        turno_atual++;
                        //
                    }
                }
                else
                {
                    //Cada caso é um comportamento de mob
                    switch (inimigo.Nome)
                    {
                    case "Goblin":
                        jogador.Take_dmg(inimigo.Atk_base());
                        System.Console.WriteLine("Voce recebeu:" + inimigo.Base_dmg + " de dano");
                        System.Console.ReadKey();
                        turno_player = true;
                        turno_atual++;
                        break;

                    default:
                        jogador.Take_dmg(inimigo.Atk_base());
                        System.Console.WriteLine("Voce recebeu:" + inimigo.Base_dmg + " de dano");
                        System.Console.ReadKey();
                        turno_player = true;
                        turno_atual++;
                        break;
                    }
                }
            }
            if (jogador.IsAlive() == false)
            {
                System.Console.Clear();
                System.Console.WriteLine("GAME OVER\nVOCE MORREU");
                return;
            }
            else
            {
                Victory(jogador, inimigo);
                return;
            }
        }