private void Awake() { gameController.EnterEndGame += ActivateEndGameMenu; gameController.EnterNoneState += ActivateInGameMenu; settingsHandler = GetComponent <StartGameSettings>(); randomBoard = GetComponent <RandomBoard>(); }
public static void BenchmarkSolvability() { var solved = 0; var failed = 0; while (true) { var board = new RandomBoard(); var solver = new Solver(board); var solution = solver.Solve(); if (solution == null) { Console.WriteLine($"\nFailed to solve game with seed {board.Seed}"); Console.WriteLine(new RandomBoard(board.Seed)); failed++; } else { Console.WriteLine($"\nSolved. Solution contains {solution.MoveHistory.Count} steps total."); solved++; } Console.WriteLine($"Solve rate: {(double)solved/(solved+failed):P}, solved: {solved}, failed: {failed}"); } }