static void Main(string[] args) { var blobFactory = new BlobFactory(); var data = new Data(); var putridFart = new PutridFart(); var blobplode = new Blobplode(); var aggressive = new Aggressive(); var inflated = new Inflated(); var reader = new ConsoleReader(); var writer = new ConsoleWriter(); var engine = new Engine(blobFactory,data,putridFart,blobplode,aggressive,inflated,reader,writer); engine.Run(); }
public static void Main() { var file = new StreamReader(@"input.txt"); string line; int counter = 1; while ((line = file.ReadLine()) != null) { string[] tokens = line.Split(new [] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string command = tokens[0]; IBlob player1; IBlob player2; IBehavior behavior; IAttack attack; if (tokens[4] == "Inflated") { behavior = new Inflated(); } else { behavior = new Aggressive(); } if (tokens[5] == "Blobplode") { attack = new Blobplode(); } else { attack = new PutridFart(); } switch (command) { case "create": if (counter == 1) { player1 = new Blob(tokens[1], int.Parse(tokens[2]), int.Parse(tokens[3]), behavior, attack); } else { player2 = new Blob(tokens[1], int.Parse(tokens[2]), int.Parse(tokens[3]), behavior, attack); } break; case "status": } } }
public IAttack CreateAttack(string attackType) { IAttack attack; switch (attackType) { case "PutridFart": attack = new PutridFart(); return(attack); case "Blobplode": attack = new Blobplode(); return(attack); default: throw new AttackNotImplementedException(Messages.Messages.AttackNotImplemented); } }
public Engine( IBlobFactory blobFactory, Data data, PutridFart putridFart, Blobplode blobplode, Aggressive aggressive, Inflated inflated, ConsoleReader reader, ConsoleWriter writer) { this.blobFactory = blobFactory; this.data = data; this.putridFart = putridFart; this.blobplode = blobplode; this.aggressive = aggressive; this.inflated = inflated; this.reader = reader; this.writer = writer; }