static void Main() { IInputReader consoleReader = new ConsoleReader(); var consoleWriter = new ConsoleWriter { AutoFlush = true }; IUnitContainer unitMatrix = new MatrixContainer(MatrixRows, MatrixCols); //ICommandDispatcher commandDispatcher = new CommandDispatcher(); ICommandDispatcher commandDispatcher = new NewCommandDispatcher(); //IUnitEffector unitEffector = new EmptyUnitEffector(); IUnitEffector unitEffector = new ExtendUnitEffect(); var engine = new Engine(unitMatrix, consoleReader, consoleWriter, commandDispatcher, unitEffector); engine.Start(); }