private static void play(SudokuGame.Difficulty difficulty) { SudokuGame game = new SudokuGame(difficulty); game.Play(); selectMenuOption(); }
private int getValuesToHide(SudokuGame.Difficulty difficulty) { int valuesToHide = 0; switch (difficulty) { case SudokuGame.Difficulty.Easy: valuesToHide = (int)(81 * 0.4); break; case SudokuGame.Difficulty.Medium: valuesToHide = (int)(81 * 0.6); break; case SudokuGame.Difficulty.Hard: valuesToHide = (int)(81 * 0.75); break; } return(valuesToHide); }
private SudokuPuzzle decorateSudokuPuzzle(SudokuGame.Difficulty difficulty, SudokuPuzzle puzzle) { int x, y, counter = 0; int valuesToHide = getValuesToHide(difficulty); Random rand = new Random(); do { x = rand.Next(0, 9); y = rand.Next(0, 9); if (puzzle.Grid[x, y].IsEditable) { continue; } puzzle.Grid[x, y].IsEditable = true; puzzle.DecValues(); counter++; }while(counter < valuesToHide); return(puzzle); }
private static void play() { string selection; SudokuGame.Difficulty difficulty = SudokuGame.Difficulty.Unknown; bool validSelection = false; do { Console.WriteLine(SudokuPrint.DifficultyScreen); Console.WriteLine(SudokuPrint.SelectionMsg); selection = Console.ReadLine(); Console.WriteLine(); switch (selection.ToUpper()) { case "E": difficulty = SudokuGame.Difficulty.Easy; validSelection = true; break; case "M": difficulty = SudokuGame.Difficulty.Medium; validSelection = true; break; case "H": difficulty = SudokuGame.Difficulty.Hard; validSelection = true; break; case "X": difficulty = SudokuGame.Difficulty.Unknown; validSelection = true; break; default: Console.WriteLine(SudokuPrint.SelectionErrorMsg); break; } }while(validSelection == false); if (difficulty == SudokuGame.Difficulty.Unknown) { selectMenuOption(); } else { play(difficulty); } }
// METHODS public SudokuPuzzle CreateSudokuPuzzle(SudokuGame.Difficulty difficulty) { SudokuPuzzle puzzle = initSudokuGrid(); return(decorateSudokuPuzzle(difficulty, puzzle)); }