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