Example #1
0
 public ActionReader(string newGameSymbol, string endGameSymbol, MovementDisplayNamesResolver movementDisplayNamesResolver,
                     LegalMovesCalculator legalMovesCalculator, IO.IO io)
 {
     this.newGameSymbol = newGameSymbol;
     this.endGameSymbol = endGameSymbol;
     this.movementDisplayNamesResolver = movementDisplayNamesResolver;
     this.legalMovesCalculator         = legalMovesCalculator;
     this.io = io;
 }
        private bool TryResolve(string action, out Movement movement)
        {
            Dictionary <Movement, string> movementDisplayNames = new Dictionary <Movement, string>()
            {
                { Movement.DOWN, "D" }
            };
            MovementDisplayNamesResolver movementDisplayNamesResolver = new MovementDisplayNamesResolver(movementDisplayNames);

            return(movementDisplayNamesResolver.TryResolve(action, out movement));
        }
Example #3
0
 public ActionApplier(string newGameSymbol, string endGameSymbol,
                      TileMover tileMover, MovementDisplayNamesResolver movementDisplayNamesResolver,
                      IO.IO io)
 {
     this.newGameSymbol = newGameSymbol;
     this.endGameSymbol = endGameSymbol;
     this.tileMover     = tileMover;
     this.movementDisplayNamesResolver = movementDisplayNamesResolver;
     this.io = io;
 }
        public override void Load()
        {
            Bind <IO.IO>().To <ConsoleIO>().InSingletonScope();
            Bind <BoardRenderer>().ToSelf().InSingletonScope();
            Bind <MagicSquare>().ToSelf().InSingletonScope();
            Bind <BoardSizeReadingBoardFactory>().ToSelf().InSingletonScope();
            Bind <ActionReader>().ToMethod(ctx =>
            {
                MovementDisplayNamesResolver movementDisplayNamesResolver = ctx.Kernel.Get <MovementDisplayNamesResolver>();
                LegalMovesCalculator legalMovesCalculator = ctx.Kernel.Get <LegalMovesCalculator>();
                IO.IO io = ctx.Kernel.Get <IO.IO>();

                return(new ActionReader(newGameSymbol, endGameSymbol, movementDisplayNamesResolver, legalMovesCalculator, io));
            }).InSingletonScope();
            Bind <ActionApplier>().ToMethod(ctx =>
            {
                TileMover tileMover = ctx.Kernel.Get <TileMover>();
                MovementDisplayNamesResolver movementDisplayNamesResolver = ctx.Kernel.Get <MovementDisplayNamesResolver>();
                IO.IO io = ctx.Kernel.Get <IO.IO>();

                return(new ActionApplier(newGameSymbol, endGameSymbol, tileMover, movementDisplayNamesResolver, io));
            }).InSingletonScope();
        }