/// <summary> /// Initializes a new instance of the <see cref="GameEngine" /> class. /// </summary> /// <param name="dependencies">An object which holds the dependencies for the game engine.</param> public GameEngine(GameEngineDependencies dependencies) { this.userInterface = dependencies.UserInterface; this.drawer = this.userInterface.Drawer; this.reader = this.userInterface.Reader; this.commandFactory = dependencies.CommandFactory; this.ctx = new CommandContext(dependencies.Logger, new Board(dependencies.Board.Rows, dependencies.Board.Cols, new RandomGenerator()), 0, 0, dependencies.BoardMemory, Highscore.GetInstance(), new HighscoreProcessor()); }
/// <summary> /// Entry point for the Balloons Pop-2 game. /// </summary> private static void Main() { const int BoardSize = 10; var engineDependencies = new GameEngineDependencies( new ConsoleUserInterface(), new Logger(), new Board(BoardSize, BoardSize, new RandomGenerator()), new BoardMemory(), new CommandFactory()); var engine = new GameEngine(engineDependencies); engine.Run(); }