protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); //Composition root var gameBoardRepository = new GameBoardRepository(); var gameBoard = new GameBoard(gameBoardRepository); var playerReposytory = new PlayerRepository(); var aimimax = new AI(gameBoardRepository, playerReposytory, gameBoard); var playerController = new PlayerController(playerReposytory, gameBoard, aimimax); var gamePlay = new GamePlay(gameBoard, playerController, aimimax); var gameInfoViewModel = new GameInfoViewModel(playerController); var gameBoardViewModel = new GameBoardViewModel(gameBoard, gamePlay); var menuViewModel = new MenuViewModel(gameBoardViewModel, gameInfoViewModel, playerController); var mainWindowViewModel = new MainWindowViewModel(menuViewModel, gameBoardViewModel, gameInfoViewModel, gamePlay, playerController); MainWindow.DataContext = mainWindowViewModel; }
static void Main(string[] args) { IGameBoardRepository gameBoardRepo = new GameBoardRepository(); var gameBoard = gameBoardRepo.GetGameBoard(); var roadFinder = new FindWayService(); Console.WriteLine(roadFinder.GetMinimumNumberOfMoves(gameBoard)); Console.Read(); }