static void Main(string[] args) { // create a list for the 'new' characters List<Character> characters = new List<Character>(); // create an instance of the CharacterFactory and link it // to the instance of the CharacterStore CharacterFactory factory = new CharacterFactory(); CharacterStore myStore = new CharacterStore(factory); // create some characters and add them to the list of characters Character war1 = myStore.GetCharacter(CharacterFactory.charactertype.warrior); characters.Add(war1); Character orc1 = myStore.GetCharacter(CharacterFactory.charactertype.orc); characters.Add(orc1); Character tow1 = myStore.GetCharacter(CharacterFactory.charactertype.townperson); characters.Add(tow1); Character sor1 = myStore.GetCharacter(CharacterFactory.charactertype.sorcerer); characters.Add(sor1); Character war2 = myStore.GetCharacter(CharacterFactory.charactertype.warrior); characters.Add(war2); // print to screen the character list and their current attributes Console.WriteLine("<<<< START OF LIST >>>>\n"); foreach (Character character in characters) { Console.WriteLine("Character List : {0} is a {1}\t Strength = {2}\t Health = {3}.\n\t\t\t{1} {4}\n", characters.IndexOf(character), character.Name, character.Strength, character.Health, character.DoFighting()); } Console.WriteLine("<<<< END OF INITIAL LIST >>>>\n"); Console.WriteLine("<<<< ADJUST HEALTH AND STRENGTH >>>>\n"); // test setting health and strength on the fly ChangeStrength(characters, orc1, -1); ChangeHealth(characters, orc1, 2); ChangeStrength(characters, war2, -3); foreach (Character character in characters) { Console.WriteLine("Character List : {0} is a {1}\t Strength = {2}\t Health = {3}.\n\t\t\t{1} {4}\n", characters.IndexOf(character), character.Name, character.Strength, character.Health, character.DoFighting()); } Console.WriteLine("<<<< END OF CHANGES TEST >>>>\n"); // test setting fight behaviour on the fly Console.WriteLine("<<<< FIGHT BEHAVIOUR CHANGES >>>>\n"); characters.First(c => c.Equals(orc1)).FightBehaviour = new SwordBehaviour(); PrintFightBehaviour(characters, orc1); characters.First(c => c.Equals(tow1)).FightBehaviour = new SwordBehaviour(); PrintFightBehaviour(characters, tow1); characters.First(c => c.Equals(sor1)).FightBehaviour = new ClubBehaviour(); PrintFightBehaviour(characters, sor1); characters.First(c => c.Equals(war1)).FightBehaviour = new ClubBehaviour(); PrintFightBehaviour(characters, war1); characters.First(c => c.Equals(war2)).FightBehaviour = new ClubBehaviour(); PrintFightBehaviour(characters, war2); Console.WriteLine("<<<< END OF FIGHT CHANGES >>>>\n"); /* THIS NEEDS SOME WORK YET - CREATE THE SINGLETON CLASS // check link to external database stub in the list Console.WriteLine("<<<< START OF LIST DATABASE CONNECTION >>>>\n"); foreach (Character char1 in characters) { Console.WriteLine("Character List : {0} is a {1}\n", characters.IndexOf(char1), char1.GetInformation()); } Console.WriteLine("<<<< END OF LIST DATABASE CONNECTION >>>>\n"); */ // test the character rendering classes Character char1 = characters.First(c => c.Equals(tow1)); char1 = new TextRender(char1); char1 = new AudioRender(char1); char1 = new TextRender(char1); Console.WriteLine("Character {0} index {1}\n", characters[3].GetType(), characters[3].DisplayRender()); foreach (Character chr in characters) { PrintCharacterRender(characters, chr); } Console.ReadKey(); }
static void Main(string[] args) { // create a list for the 'new' characters List <Character> characters = new List <Character>(); // create an instance of the CharacterFactory and link it // to the instance of the CharacterStore CharacterFactory factory = new CharacterFactory(); CharacterStore myStore = new CharacterStore(factory); // create some characters and add them to the list of characters Character war1 = myStore.GetCharacter(CharacterFactory.charactertype.warrior); characters.Add(war1); Character orc1 = myStore.GetCharacter(CharacterFactory.charactertype.orc); characters.Add(orc1); Character tow1 = myStore.GetCharacter(CharacterFactory.charactertype.townperson); characters.Add(tow1); Character sor1 = myStore.GetCharacter(CharacterFactory.charactertype.sorcerer); characters.Add(sor1); Character war2 = myStore.GetCharacter(CharacterFactory.charactertype.warrior); characters.Add(war2); // print to screen the character list and their current attributes Console.WriteLine("<<<< START OF LIST >>>>\n"); foreach (Character character in characters) { Console.WriteLine("Character List : {0} is a {1}\t Strength = {2}\t Health = {3}.\n\t\t\t{1} {4}\n", characters.IndexOf(character), character.Name, character.Strength, character.Health, character.DoFighting()); } Console.WriteLine("<<<< END OF INITIAL LIST >>>>\n"); Console.WriteLine("<<<< ADJUST HEALTH AND STRENGTH >>>>\n"); // test setting health and strength on the fly ChangeStrength(characters, orc1, -1); ChangeHealth(characters, orc1, 2); ChangeStrength(characters, war2, -3); foreach (Character character in characters) { Console.WriteLine("Character List : {0} is a {1}\t Strength = {2}\t Health = {3}.\n\t\t\t{1} {4}\n", characters.IndexOf(character), character.Name, character.Strength, character.Health, character.DoFighting()); } Console.WriteLine("<<<< END OF CHANGES TEST >>>>\n"); // test setting fight behaviour on the fly Console.WriteLine("<<<< FIGHT BEHAVIOUR CHANGES >>>>\n"); characters.First(c => c.Equals(orc1)).FightBehaviour = new SwordBehaviour(); PrintFightBehaviour(characters, orc1); characters.First(c => c.Equals(tow1)).FightBehaviour = new SwordBehaviour(); PrintFightBehaviour(characters, tow1); characters.First(c => c.Equals(sor1)).FightBehaviour = new ClubBehaviour(); PrintFightBehaviour(characters, sor1); characters.First(c => c.Equals(war1)).FightBehaviour = new ClubBehaviour(); PrintFightBehaviour(characters, war1); characters.First(c => c.Equals(war2)).FightBehaviour = new ClubBehaviour(); PrintFightBehaviour(characters, war2); Console.WriteLine("<<<< END OF FIGHT CHANGES >>>>\n"); /* THIS NEEDS SOME WORK YET - CREATE THE SINGLETON CLASS * // check link to external database stub in the list * Console.WriteLine("<<<< START OF LIST DATABASE CONNECTION >>>>\n"); * foreach (Character char1 in characters) * { * Console.WriteLine("Character List : {0} is a {1}\n", * characters.IndexOf(char1), char1.GetInformation()); * } * Console.WriteLine("<<<< END OF LIST DATABASE CONNECTION >>>>\n"); */ // test the character rendering classes Character char1 = characters.First(c => c.Equals(tow1)); char1 = new TextRender(char1); char1 = new AudioRender(char1); char1 = new TextRender(char1); Console.WriteLine("Character {0} index {1}\n", characters[3].GetType(), characters[3].DisplayRender()); foreach (Character chr in characters) { PrintCharacterRender(characters, chr); } Console.ReadKey(); } // END OF MAIN METHOD