/// <summary>
        /// Simple suspense text.
        /// </summary>
        /// <param name="hero">Character</param>
        /// <param name="enemy">Character</param>
        public static void DisplayStartOfBattle(Character hero, Character enemy)
        {
            // Size up the battle statistics.
            Console.WriteLine("= Starting Battle =");
            Console.WriteLine(hero.ToString());
            Console.WriteLine();
            Console.WriteLine("vs.");
            Console.WriteLine();
            Console.WriteLine(enemy.ToString());
            Console.WriteLine();

            // Add suspense.
            Console.Write("An enemy approaches> ");
            Console.ReadKey();
            Console.WriteLine();
            Console.WriteLine();
        }
 public ICharacterBuilderAge As(Character.ClassType classType)
 {
     _character.Class = classType;
     return this;
 }
 public ICharacterBuilderClassType Create(string name)
 {
     _character = new Character(name);
     return this;
 }
        /// <summary>
        /// Attacks a Character and returns status message.
        /// </summary>
        /// <param name="attacker">Character initiating attack</param>
        /// <param name="defender">Character to attack</param>
        /// <returns>Status message</returns>
        private static string Attack(Character attacker, Character defender)
        {
            string result = "";

            Random ran = new Random((int)DateTime.Now.Ticks);

            // Calculate damage.
            int damage = ran.Next(10);

            // Deduct damage from defender's HP.
            defender.HP -= damage;

            // Select an attack verb.
            string verb = _attackVerbs[ran.Next(_attackVerbs.Length)];

            // Create status message.
            result = attacker.Name + " " + verb + " " + defender.Name + " for " + damage + " damage!";

            return result;
        }
        /// <summary>
        /// Simple battle system.
        /// </summary>
        /// <param name="hero">Character</param>
        /// <param name="enemy">Character</param>
        public static void Battle(Character hero, Character enemy)
        {
            // Battle the enemy.
            while (hero.IsAlive && enemy.IsAlive)
            {
                // Print quick stats.
                Console.WriteLine(hero.QuickStats() + " / " + enemy.QuickStats());

                Thread.Sleep(1000);

                // Hero attacks!
                Console.WriteLine(Attack(hero, enemy));

                Thread.Sleep(1000);

                // Enemy attacks!
                Console.WriteLine(Attack(enemy, hero));

                // Prompt for next round of combat.
                if (hero.IsAlive)
                {
                    Console.Write(">");
                    Console.ReadKey();
                }

                Console.WriteLine();
            }

            // Analyze battle results.
            if (hero.IsAlive)
            {
                // Hero won!
                hero.Gold += enemy.Gold;

                Console.WriteLine("Our hero survies to fight another battle! Won " + enemy.Gold + " gold!");

                Console.Write(">");
                Console.ReadKey();
                Console.Clear();
            }
            else
            {
                // Enemy won!
                Console.WriteLine("Our hero has fallen with " + hero.Gold + " gold! The world is covered in darkness once again.");
            }
        }