//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); }
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; } }