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();
        }
Esempio n. 2
0
        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":
                }
            }
        }
Esempio n. 3
0
        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;
 }