static void Main() { var axeWarrior = new Warrior(new Axe()); var swordWarrior = new Warrior(new Sword()); var axeMage = new Mage(new Axe()); var swordMage = new Mage(new Sword()); Console.WriteLine(axeWarrior); Console.WriteLine(swordMage); }
static void Main() { IWeapon axe = new Axe(); ICharacter mage = new Mage(axe); IWeapon sword = new Sword(); ICharacter warrior = new Warrior(sword); Console.WriteLine(mage); Console.WriteLine(warrior); }
static void Main() { Weapon axe = new Axe(); Weapon sword = new Sword(); var axeWarrior = new Warrior(axe); var swordWarrior = new Warrior(sword); var axeMage = new Mage(axe); var swordMage = new Mage(sword); Console.WriteLine(axeWarrior); Console.WriteLine(swordMage); Console.WriteLine(swordWarrior); Console.WriteLine(axeMage); }
static void Main() { Warrior axeWarrior = new Warrior("Pesho", 20, new Axe(2)); Warrior swordWarrior = new Warrior("Gosho", 20, new Sword(3)); Mage axeMage = new Mage("Tsetso", 20, new Axe(2)); Mage swordMage = new Mage("Joro", 20, new Sword(2)); Console.WriteLine(axeWarrior); Console.WriteLine(swordMage); axeWarrior.Attack(swordMage); Console.WriteLine(axeWarrior); Console.WriteLine(swordMage); }
static void Main() { var axeWeapon = new Axe(); var swordWeapon = new Sword(); Warrior axeWarrior = new Warrior(axeWeapon); Console.WriteLine(axeWarrior); Warrior swordWarrior = new Warrior(swordWeapon); Console.WriteLine(swordWarrior); Mage axeMage = new Mage(axeWeapon); Console.WriteLine(axeMage); Mage swordMage = new Mage(swordWeapon); Console.WriteLine(swordMage); }
public void LoadGame() { OpenFileDialog dlg = new OpenFileDialog(); // prompt for file dlg.Filter = "txt files (*.txt)|*.txt"; // just text dlg.FilterIndex = 1; // only one option dlg.RestoreDirectory = false; // let player keep opening same directory if (dlg.ShowDialog() == DialogResult.OK) { using (TextReader reader = File.OpenText(dlg.FileName)) { try { Program.DELAY = int.Parse(reader.ReadLine()); #region create your team Hero you = null; List <Hero> team = new List <Hero>(); int number = int.Parse(reader.ReadLine()); for (int x = 0; x < number; x++) { Hero hero; string isYou = reader.ReadLine(); if (isYou.Equals("False")) { string type = reader.ReadLine(); if (type.Equals("RPG.Healer")) { hero = new Healer(world); } else if (type.Equals("RPG.Guard")) { hero = new Guard(world); } else if (type.Equals("RPG.Theif")) { hero = new Theif(world); } else if (type.Equals("RPG.Wizard")) { hero = new Wizard(world); } else if (type.Equals("RPG.Rogue")) { hero = new Rogue(world); } else { hero = new Scout(world); } string name = reader.ReadLine(); int end = name.IndexOf(" the"); name = name.Remove(end); hero.setName(name); hero.level = int.Parse(reader.ReadLine()); hero.realhealth = int.Parse(reader.ReadLine()); hero.realmaxhealth = int.Parse(reader.ReadLine()); hero.experience = int.Parse(reader.ReadLine()); } else { string type = reader.ReadLine(); if (type.Equals("RPG.Warrior")) { hero = new Warrior(world); } else if (type.Equals("RPG.Mage")) { hero = new Mage(world); } else { hero = new Archer(world); } you = hero; hero.setName(reader.ReadLine()); hero.level = int.Parse(reader.ReadLine()); hero.realhealth = int.Parse(reader.ReadLine()); hero.realmaxhealth = int.Parse(reader.ReadLine()); hero.experience = int.Parse(reader.ReadLine()); hero.energy = int.Parse(reader.ReadLine()); hero.maxenergy = int.Parse(reader.ReadLine()); } hero.attack = int.Parse(reader.ReadLine()); hero.defense = int.Parse(reader.ReadLine()); hero.speed = double.Parse(reader.ReadLine()); hero.critial = double.Parse(reader.ReadLine()); int attack = int.Parse(reader.ReadLine()); double crit = double.Parse(reader.ReadLine()); bool poison = reader.ReadLine().Equals("True"); int damage = int.Parse(reader.ReadLine()); int deduct = int.Parse(reader.ReadLine()); hero.equipWep(new Weapon(attack, crit, poison, damage, deduct)); int hp = int.Parse(reader.ReadLine()); int def = int.Parse(reader.ReadLine()); bool heal = reader.ReadLine().Equals("True"); int regen = int.Parse(reader.ReadLine()); hero.equipArm(new Armor(hp, def, heal, regen)); team.Add(hero); } game.setTeam(team, you); game.learnA = reader.ReadLine().Equals("True"); game.learnH = reader.ReadLine().Equals("True"); #endregion #region create the potions Stack <Basic> basic = new Stack <Basic>(); Stack <Advanced> advanced = new Stack <Advanced>(); Stack <Super> super = new Stack <Super>(); Stack <Revive> revive = new Stack <Revive>(); Stack <MaxRevive> max = new Stack <MaxRevive>(); Stack <Mega> mega = new Stack <Mega>(); int amount = int.Parse(reader.ReadLine()); for (int x = 0; x < amount; x++) { basic.enqueue(new Basic()); } amount = int.Parse(reader.ReadLine()); for (int x = 0; x < amount; x++) { advanced.enqueue(new Advanced()); } amount = int.Parse(reader.ReadLine()); for (int x = 0; x < amount; x++) { super.enqueue(new Super()); } amount = int.Parse(reader.ReadLine()); for (int x = 0; x < amount; x++) { mega.enqueue(new Mega()); } amount = int.Parse(reader.ReadLine()); for (int x = 0; x < amount; x++) { revive.enqueue(new Revive()); } amount = int.Parse(reader.ReadLine()); for (int x = 0; x < amount; x++) { max.enqueue(new MaxRevive()); } game.setPotions(basic, advanced, super, mega, revive, max); #endregion //set up World game.world = new World(game, reader.ReadLine()); #region Set up Dungeon int locations = int.Parse(reader.ReadLine()); #region Past Locations List <DungeonSetup> pastLocations = new List <DungeonSetup>(); List <Enemy> LeftEnemies; List <Enemy> RightEnemies; List <Enemy> ForwardEnemies; List <Enemy> Choice; for (int x = 0; x < locations; x++) { LeftEnemies = new List <Enemy>(); RightEnemies = new List <Enemy>(); ForwardEnemies = new List <Enemy>(); Choice = new List <Enemy>(); string read = reader.ReadLine(); if (!read.Equals("none")) { int enemies = int.Parse(read); for (int y = 0; y < enemies; y++) { string enemy = reader.ReadLine(); if (enemy.Equals("RPG.Minor")) { LeftEnemies.Add(new Minor()); } else if (enemy.Equals("RPG.Normal")) { LeftEnemies.Add(new Normal()); } else if (enemy.Equals("RPG.Shadow")) { LeftEnemies.Add(new Shadow()); } else if (enemy.Equals("RPG.Greater")) { LeftEnemies.Add(new Greater()); } else if (enemy.Equals("RPG.Sniper")) { LeftEnemies.Add(new Sniper()); } else if (enemy.Equals("RPG.Ninja")) { LeftEnemies.Add(new Ninja()); } else if (enemy.Equals("RPG.Crowman")) { LeftEnemies.Add(new Crowman()); } } } else { LeftEnemies = null; } read = reader.ReadLine(); if (!read.Equals("none")) { int enemies = int.Parse(read); for (int y = 0; y < enemies; y++) { string enemy = reader.ReadLine(); if (enemy.Equals("RPG.Minor")) { ForwardEnemies.Add(new Minor()); } else if (enemy.Equals("RPG.Normal")) { ForwardEnemies.Add(new Normal()); } else if (enemy.Equals("RPG.Shadow")) { ForwardEnemies.Add(new Shadow()); } else if (enemy.Equals("RPG.Greater")) { ForwardEnemies.Add(new Greater()); } else if (enemy.Equals("RPG.Sniper")) { ForwardEnemies.Add(new Sniper()); } else if (enemy.Equals("RPG.Ninja")) { ForwardEnemies.Add(new Ninja()); } else if (enemy.Equals("RPG.Crowman")) { ForwardEnemies.Add(new Crowman()); } } } else { ForwardEnemies = null; } read = reader.ReadLine(); if (!read.Equals("none")) { int enemies = int.Parse(read); for (int y = 0; y < enemies; y++) { string enemy = reader.ReadLine(); if (enemy.Equals("RPG.Minor")) { RightEnemies.Add(new Minor()); } else if (enemy.Equals("RPG.Normal")) { RightEnemies.Add(new Normal()); } else if (enemy.Equals("RPG.Shadow")) { RightEnemies.Add(new Shadow()); } else if (enemy.Equals("RPG.Greater")) { RightEnemies.Add(new Greater()); } else if (enemy.Equals("RPG.Sniper")) { RightEnemies.Add(new Sniper()); } else if (enemy.Equals("RPG.Ninja")) { RightEnemies.Add(new Ninja()); } else if (enemy.Equals("RPG.Crowman")) { RightEnemies.Add(new Crowman()); } } } else { RightEnemies = null; } read = reader.ReadLine(); if (!read.Equals("none")) { int enemies = int.Parse(read); for (int y = 0; y < enemies; y++) { string enemy = reader.ReadLine(); if (enemy.Equals("RPG.Minor")) { Choice.Add(new Minor()); } else if (enemy.Equals("RPG.Normal")) { Choice.Add(new Normal()); } else if (enemy.Equals("RPG.Shadow")) { Choice.Add(new Shadow()); } else if (enemy.Equals("RPG.Greater")) { Choice.Add(new Greater()); } else if (enemy.Equals("RPG.Sniper")) { Choice.Add(new Sniper()); } else if (enemy.Equals("RPG.Ninja")) { Choice.Add(new Ninja()); } else if (enemy.Equals("RPG.Crowman")) { Choice.Add(new Crowman()); } } } else { Choice = null; } Color left = Control.DefaultBackColor; Color right = Control.DefaultBackColor; Color forward = Control.DefaultBackColor; Color back = Control.DefaultBackColor; string color = reader.ReadLine(); if (color.Equals("Color [Green]")) { left = Color.Green; } if (color.Equals("Color [Gold]")) { left = Color.Gold; } if (color.Equals("Color [Orange]")) { left = Color.Orange; } color = reader.ReadLine(); if (color.Equals("Color [Green]")) { forward = Color.Green; } if (color.Equals("Color [Gold]")) { forward = Color.Gold; } if (color.Equals("Color [Orange]")) { forward = Color.Orange; } if (color.Equals("Color [Red]")) { forward = Color.Red; } color = reader.ReadLine(); if (color.Equals("Color [Green]")) { right = Color.Green; } if (color.Equals("Color [Gold]")) { right = Color.Gold; } if (color.Equals("Color [Orange]")) { right = Color.Orange; } color = reader.ReadLine(); if (color.Equals("Color [Green]")) { back = Color.Green; } if (color.Equals("Color [Gold]")) { back = Color.Gold; } if (color.Equals("Color [Orange]")) { back = Color.Orange; } pastLocations.Add(new DungeonSetup(LeftEnemies, ForwardEnemies, RightEnemies, Choice, left, forward, right, back)); } dungeon.lastLocations = pastLocations; #endregion #region current choices string backtracking = reader.ReadLine(); bool backtrack = backtracking.Equals("True"); dungeon.backtracking = backtrack; ForwardEnemies = new List <Enemy>(); LeftEnemies = new List <Enemy>(); RightEnemies = new List <Enemy>(); string enemynum = reader.ReadLine(); if (!enemynum.Equals("no enemies")) { int enemies = int.Parse(enemynum); for (int y = 0; y < enemies; y++) { string enemy = reader.ReadLine(); if (enemy.Equals("RPG.Minor")) { ForwardEnemies.Add(new Minor()); } else if (enemy.Equals("RPG.Normal")) { ForwardEnemies.Add(new Normal()); } else if (enemy.Equals("RPG.Shadow")) { ForwardEnemies.Add(new Shadow()); } else if (enemy.Equals("RPG.Greater")) { ForwardEnemies.Add(new Greater()); } else if (enemy.Equals("RPG.Sniper")) { ForwardEnemies.Add(new Sniper()); } else if (enemy.Equals("RPG.Ninja")) { ForwardEnemies.Add(new Ninja()); } else if (enemy.Equals("RPG.Crowman")) { ForwardEnemies.Add(new Crowman()); } } } else { ForwardEnemies = null; } string danger = reader.ReadLine(); if (danger.Equals("Color [Green]")) { dungeon.Forward.BackColor = Color.Green; } else if (danger.Equals("Color [Gold]")) { dungeon.Forward.BackColor = Color.Gold; } else if (danger.Equals("Color [Orange]")) { dungeon.Forward.BackColor = Color.Orange; } else if (danger.Equals("Color [Red]")) { dungeon.Forward.BackColor = Color.Red; } else { dungeon.Forward.BackColor = Control.DefaultBackColor; } enemynum = reader.ReadLine(); if (!enemynum.Equals("no enemies")) { int enemies = int.Parse(enemynum); for (int y = 0; y < enemies; y++) { string enemy = reader.ReadLine(); if (enemy.Equals("RPG.Minor")) { LeftEnemies.Add(new Minor()); } else if (enemy.Equals("RPG.Normal")) { LeftEnemies.Add(new Normal()); } else if (enemy.Equals("RPG.Shadow")) { LeftEnemies.Add(new Shadow()); } else if (enemy.Equals("RPG.Greater")) { LeftEnemies.Add(new Greater()); } else if (enemy.Equals("RPG.Sniper")) { LeftEnemies.Add(new Sniper()); } else if (enemy.Equals("RPG.Ninja")) { LeftEnemies.Add(new Ninja()); } else if (enemy.Equals("RPG.Crowman")) { LeftEnemies.Add(new Crowman()); } } } else { LeftEnemies = null; } danger = reader.ReadLine(); if (danger.Equals("Color [Green]")) { dungeon.Left.BackColor = Color.Green; } else if (danger.Equals("Color [Gold]")) { dungeon.Left.BackColor = Color.Gold; } else if (danger.Equals("Color [Orange]")) { dungeon.Left.BackColor = Color.Orange; } else { dungeon.Left.BackColor = Control.DefaultBackColor; } enemynum = reader.ReadLine(); if (!enemynum.Equals("no enemies")) { int enemies = int.Parse(enemynum); for (int y = 0; y < enemies; y++) { string enemy = reader.ReadLine(); if (enemy.Equals("RPG.Minor")) { RightEnemies.Add(new Minor()); } else if (enemy.Equals("RPG.Normal")) { RightEnemies.Add(new Normal()); } else if (enemy.Equals("RPG.Shadow")) { RightEnemies.Add(new Shadow()); } else if (enemy.Equals("RPG.Greater")) { RightEnemies.Add(new Greater()); } else if (enemy.Equals("RPG.Sniper")) { RightEnemies.Add(new Sniper()); } else if (enemy.Equals("RPG.Ninja")) { RightEnemies.Add(new Ninja()); } else if (enemy.Equals("RPG.Crowman")) { RightEnemies.Add(new Crowman()); } } } else { RightEnemies = null; } danger = reader.ReadLine(); if (danger.Equals("Color [Green]")) { dungeon.Right.BackColor = Color.Green; } else if (danger.Equals("Color [Gold]")) { dungeon.Right.BackColor = Color.Gold; } else if (danger.Equals("Color [Orange]")) { dungeon.Right.BackColor = Color.Orange; } else { dungeon.Right.BackColor = Control.DefaultBackColor; } dungeon.leftEnemies = LeftEnemies; dungeon.forwardEnemies = ForwardEnemies; dungeon.rightEnemies = RightEnemies; danger = reader.ReadLine(); if (danger.Equals("Color [Green]")) { dungeon.Back.BackColor = Color.Green; } else if (danger.Equals("Color [Gold]")) { dungeon.Back.BackColor = Color.Gold; } else if (danger.Equals("Color [Orange]")) { dungeon.Back.BackColor = Color.Orange; } else { dungeon.Back.BackColor = Control.DefaultBackColor; } #endregion dungeon.setPosition(int.Parse(reader.ReadLine())); dungeon.amount = int.Parse(reader.ReadLine()); dungeon.requiredRooms = int.Parse(reader.ReadLine()); dungeon.setCurrentArea(int.Parse(reader.ReadLine())); dungeon.newMax(int.Parse(reader.ReadLine())); #endregion new Popup("Game Loaded!").Show(); } catch (Exception) { new Popup("Something went wrong, the file is missing info or is incorrect\r\neither start a new game or try a different file").Show(); } reader.Close(); } } }
static void Main(string[] args) { Map map = new Map(); Console.CancelKeyPress += (sender, eArgs) => { _quitEvent.Set(); eArgs.Cancel = true; }; string TempName; int TempAge; string TempClass; string TempObj; //string TempObjHPs; bool exit = false; while (!exit) { Console.Write("Here's the game board state"); Console.Write("Characters and objects in play :\n"); map.listAll(); Console.Write("\nWhat do you want to do ? \nEnter help for help\n1)CreateChar\n2)CreateObj\n3)MoveChar\n4)CharAtk\n5)Help\n6)Exit\n"); string command = Console.ReadLine(); switch (command) { case "5": //Help Console.Clear(); Console.WriteLine("CreateChar to create a char \nCreateObj to create an object \nMoveChar ro move a char \nAtkChar to attack with a char\n"); break; case "1": //CreateChar Console.WriteLine("Enter your char name :"); TempName = Console.ReadLine(); Console.WriteLine("Enter your char Age :"); TempAge = int.Parse(Console.ReadLine()); Console.WriteLine("Enter your char Class :"); TempClass = Console.ReadLine(); if (string.Equals(TempClass, "Archer")) { Characters tempArcher = new Archer(TempName, TempAge, TempClass); map.addChar(tempArcher); } else { Characters tempMage = new Mage(TempName, TempAge, TempClass); map.addChar(tempMage); } Console.Clear(); break; case "2": //CreateObj Console.WriteLine("What kind of object do you want to create ?\n1)Rock\n2)Other"); TempObj = Console.ReadLine(); bool rockCreated = false; while (!rockCreated) { switch (TempObj) { case "1": Console.WriteLine("Name your rock :"); string tempRockName = Console.ReadLine(); Obstacles tempRock = new Rock(tempRockName); map.addObstacle(tempRock); rockCreated = true; break; case "2": break; default: break; } } Console.Clear(); break; case "3": //MoveChar Console.Write("What Character would you like to move ?\n"); string[] chars = map.listCharacters(); for (int i = 0; i < chars.Length; i++) { Console.Write(i + ")" + chars[i] + "\n"); } string userInput = Console.ReadLine(); foreach (string charToMove in chars) { if (string.Equals(userInput, charToMove)) { Console.Write("Where would you like to move it ?\n"); Console.Write("Enter X coordinate :\n"); bool xNotGiven = true; while (xNotGiven) { int moveX = 0; string tempX = Console.ReadLine(); if (Int32.TryParse(tempX, out moveX)) { xNotGiven = false; } } Console.Write("Enter Y coordinate :\n"); bool yNotGiven = true; while (yNotGiven) { int moveY = 0; string tempY = Console.ReadLine(); if (Int32.TryParse(tempY, out moveY)) { yNotGiven = false; } } } } break; case "4": //CharAtk Console.Clear(); break; case "6": //Exit Console.Clear(); exit = true; break; } } //Initialization of chars //Characters archer = new Mage("Edge", 150, "Archer", 9, 2); //Initialization of obstacles //Obstacles rock1 = new Rock("rock1", 2); //Initialization of the map //Map map = new Map(); //map.addChar(archer); //map.addObstacle(rock1); //map.listAll(); _quitEvent.WaitOne(); //System.Threading.Thread.Sleep(10000); }
static void Main(string[] args) { //sons Char som = new Char(); string dramatic, knight, wizard, rosh, sad, victory; dramatic = som.FilesPath("Dramatic Event Sound Effect.wav"); knight = som.FilesPath("KNİGHT 1.wav"); wizard = som.FilesPath("İCE WİZARD 4.wav"); rosh = som.FilesPath("Roshan_Slam.wav"); sad = som.FilesPath("sad violin-[AudioTrimmer.com].wav"); victory = som.FilesPath("Duel_victory (online-audio-converter.com).wav"); SoundPlayer simpleSound = new SoundPlayer(dramatic); SoundPlayer heroAttack = new SoundPlayer(knight); SoundPlayer mageAttack = new SoundPlayer(wizard); SoundPlayer dragonAttack = new SoundPlayer(rosh); SoundPlayer loserSound = new SoundPlayer(sad); SoundPlayer winnerSound = new SoundPlayer(victory); //fim dos sons Boss ead = new Boss(); Hero hero = new Hero(); Mage mage = new Mage(); hero.Classe = "Herói"; hero.Forca = 30; hero.Pontuacao = 120; hero.Vivo = true; mage.Classe = "Mago"; mage.Forca = 15; mage.Pontuacao = 70; mage.Vivo = true; ead.Nome = "Earthy Abysmal Dragon"; ead.Vivo = true; ead.Pontuacao = 600; ead.Forca = 60; ead.Classe = "Monstro"; Console.WriteLine("Informe os nome do Herói: "); hero.Nome = Console.ReadLine(); Console.WriteLine("\nInforme os nome do Mago"); mage.Nome = Console.ReadLine(); Console.WriteLine("\nTeste se seu herói está em forma"); int i = 0, choice = 0; while (i != 2) { OptionsHero: Console.WriteLine("Digite 1 para andar, 2 para pular e 3 para correr!"); choice = Int32.Parse(Console.ReadLine()); switch (choice) { case 1: i = hero.Andar(); break; case 2: i = hero.Pular(); break; case 3: i = hero.Correr(); break; default: Console.WriteLine("Ação inválida"); goto OptionsHero; } } Console.WriteLine("\nO Herói correu e você o perdeu de vista!"); i = 0; choice = 0; Console.WriteLine("\nTeste se seu mago está em forma"); while (i != 2) { OptionsMage: Console.WriteLine("Digite 1 para andar, 2 para pular e 3 para correr!"); choice = Convert.ToInt32(Console.ReadLine()); switch (choice) { case 1: i = mage.Andar(); break; case 2: i = mage.Pular(); break; case 3: i = mage.Correr(); break; default: Console.WriteLine("Ação inválida"); goto OptionsMage; } //i = 2; } Console.WriteLine("\n--------------O Mago correu e encontrou o herói parado, assustado e encarando algo, o que seria?!-------------"); simpleSound.Play(); Console.ReadKey(); Console.Clear(); Console.WriteLine("O que é isso????? Você gastou tempo demais e não percebeu onde chegou!!!"); Console.WriteLine("-----------------------------------A wild Earthy Abysmal Dragon, EAD, appears!------------------------------------------"); Console.WriteLine("\nLute com ele e tente sair vitorioso para salvar seu semestre!!!"); //Início da combate Combat: while (ead.Vivo && (hero.Vivo || mage.Vivo)) { Console.WriteLine("---------------------------INICIO DE TURNO, PRESSIONE QUALQUER TECLA PARA CONTINUAR--------------------------"); Console.ReadKey(); int dano = 0; if (hero.Vivo) { Console.WriteLine("O herói tem {0} pts de vida!", hero.Pontuacao); } else { Console.WriteLine("O herói está morto!"); } if (mage.Vivo) { Console.WriteLine("O mago tem {0} pts de vida!", mage.Pontuacao); } else { Console.WriteLine("O mago está morto!"); } Console.WriteLine("O monstro tem {0} de pts de vida", ead.Pontuacao); Console.WriteLine("---------------------------FASE DE BATALHA, PRESSIONE QUALQUER TECLA PARA CONTINUAR--------------------------"); Console.ReadKey(); //ação do heroi if (hero.Vivo) { HeroFight: Console.WriteLine("\nEscolha a ação do herói {0}", hero.Nome); Console.WriteLine("1 para ataque físico \n2 para Super Força\n3 para Lâmina de dois gumes!", hero.Nome); choice = 0; choice = int.Parse(Console.ReadLine()); switch (choice) { case 1: dano = hero.Attack(); ead.Pontuacao = ead.Pontuacao - dano; heroAttack.Play(); Console.WriteLine("herói {0} atacou, causando {1} de dano!", hero.Nome, dano); break; case 2: hero.Ult(); break; case 3: dano = hero.LaminaDeDoisGumes(); ead.Pontuacao = ead.Pontuacao - dano; break; default: Console.WriteLine("Escolha uma ação válida!"); goto HeroFight; } } else { Console.WriteLine("O herói {0} está morto!", hero.Nome); } //ação do mago if (mage.Vivo) { MageTurn: Console.WriteLine("\n\nEscolha a ação do mago {0}", mage.Nome); Console.WriteLine("1 para ataque físico\n2 para Tesouro Escondido(só pode ser usado 1 vez)\n3 para poder de ataque(só pode ser usado 1 vez)\n4 para poder de cura", hero.Nome); choice = 0; choice = int.Parse(Console.ReadLine()); switch (choice) { case 1: dano = mage.Attack(); ead.Pontuacao = ead.Pontuacao - dano; mageAttack.Play(); Console.WriteLine("O mago {0} atacou, causando {1} de dano!", mage.Nome, dano); break; case 2: mage.HiddenTreasure(); break; case 3: dano = mage.MagePower(); ead.Pontuacao = ead.Pontuacao - dano; break; case 4: mage.Ult(); break; default: Console.WriteLine("Ação escolhida inválida!"); goto MageTurn; } } else { Console.WriteLine("O mago {0} está morto!! não pode fazer ações!", mage.Nome); } //ação do monstro Console.WriteLine("\nO monstro {0} prepara seu ataque!---pressione uma tecla para continuar!", ead.Nome); Console.ReadKey(); if (ead.Vivo) { Console.WriteLine("\n\nO monstro {0} está cego de raiva e escolhe aleatóriamente um dos dois para lançar seu ataque!", ead.Nome); Random random = new Random(); int rdm = 0; MonsterTurn: rdm = random.Next(0, 3); switch (rdm) { case 0: if (mage.Vivo) { dano = ead.Attack(); mage.Pontuacao = mage.Pontuacao - dano; dragonAttack.Play(); Console.WriteLine("O monstro ataca o mago {0}, causando {1} de dano!", mage.Nome, dano); } else { Console.WriteLine("O monstro errou o ataque!"); } break; case 1: if (hero.Vivo) { dano = ead.Attack(); hero.Pontuacao = hero.Pontuacao - dano; dragonAttack.Play(); Console.WriteLine("O monstro ataca o herói {0}, causando {1} de dano!", hero.Nome, dano); } else { Console.WriteLine("O monstro errou o ataque!"); } break; case 2: Console.WriteLine("EAD lançou Confusion, os aliados não conseguem entender nada tiram os próprios pontos de vida!!."); ead.Nani(); if (hero.Vivo) { dano = hero.Attack(); hero.Pontuacao = hero.Pontuacao - dano; } if (mage.Vivo) { dano = mage.Attack(); mage.Pontuacao = mage.Pontuacao - dano; } break; default: goto MonsterTurn; } } hero.IsAlive(); if (!hero.Vivo) { hero.Ult();//se o herói estiver morto mas ainda possuir o poder especial, ele ativará e voltará ao jogo. } mage.IsAlive(); ead.IsAlive(); } Console.WriteLine("--------------------------------------Chega o fim da batalha-------------------------------------------"); Console.ReadKey(); Console.Clear(); /*hero.IsAlive(); * mage.IsAlive(); * ead.IsAlive();*/ if (ead.Vivo) { loserSound.Play(); Console.WriteLine("O monstro {0}, EAD, fez mais duas vítimas!!!", ead.Nome); } else { if (hero.Vivo && mage.Vivo) { winnerSound.Play(); Console.WriteLine("Um milagre aconteceu! Os dois saíram vivos da carnificina e derrotaram {0}, o destruidor de semestres!", ead.Nome); } else if (!hero.Vivo) { winnerSound.Play(); Console.WriteLine("Apenas o mago {0}, bruxo que é, saiu vivo!", mage.Nome); } else if (!mage.Vivo) { winnerSound.Play(); Console.WriteLine("Apenas o herói {0} saiu vivo no combate!", hero.Nome); } else { loserSound.Play(); Console.WriteLine("O monstro {0}, em seu último suspiro, lançou um golpe contundente e matou o último dos aventureiros!! Todos morreram!", ead.Nome); } } Console.ReadKey(); Console.WriteLine("Deseja batalhar novamente?\n1 para sim\n2 para não"); int question = 0; question = int.Parse(Console.ReadLine()); switch (question) { case 1: ead.Vivo = true; ead.Pontuacao = 400; mage.Vivo = true; mage.Pontuacao = 70; hero.Vivo = true; hero.Pontuacao = 120; goto Combat; default: break; } }