private void OnDisable() { GameEvents.OnSquareSelected -= OnSquareSelected; GameEvents.OnCheckBoardCompleted -= CheckBoardCompleted; var solvedData = SudokuData.Instance.sudokuGame[GameSettings.Instance.GetGameMode()][selectedGridData].solvedData; int[] unsolvedData = new int[81]; Dictionary <string, List <string> > gridNotes = new Dictionary <string, List <string> >(); for (int i = 0; i < gridSquareList.Count; i++) { var comp = gridSquareList[i].GetComponent <GridSquare>(); unsolvedData[i] = comp.EnteredNumber; string key = "squareNote:" + i.ToString(); gridNotes.Add(key, comp.GetSquareNotes()); } SudokuData.SudokuBoardData currentGameData = new SudokuData.SudokuBoardData(unsolvedData, solvedData); if (!GameSettings.Instance.ExitAfterWon) { Config.SaveBoardData(currentGameData, GameSettings.Instance.GetGameMode(), selectedGridData, Lives.Instance.ErrorNumber, gridNotes); } else { Config.DeleteDataFile(); } AdManager.Instance.HideBanner(); GameSettings.Instance.ExitAfterWon = false; }
// sets board numbers using input board data private void setGridSquareData(SudokuData.SudokuBoardData data) { unsolvedBoard = data; for (int i = 0; i < gridSquares.Count; i++) { gridSquares[i].GetComponent <GridSquare>().SetNumber(data.unsolvedData[i]); } }
private void setGridSquareData(SudokuData.SudokuBoardData data) { for (int index = 0; index < grid_squares_.Count; index++) { grid_squares_[index].GetComponent <GridSquare>().SetNumber(data.unsolved_data[index]); grid_squares_[index].GetComponent <GridSquare>().SetCorrectNumber(data.solved_data[index]); } }
private void SetGridSquareData(SudokuData.SudokuBoardData data) { for (int cellIndex = 0; cellIndex < gridSquareList.Count; cellIndex++) { gridSquareList[cellIndex].GetComponent <GridSquare>().EnteredNumber = data.unsolvedData[cellIndex]; gridSquareList[cellIndex].GetComponent <GridSquare>().CorrectNumber = data.solvedData[cellIndex]; gridSquareList[cellIndex].GetComponent <GridSquare>().HasDefaultValue = data.unsolvedData[cellIndex] != 0 && data.unsolvedData[cellIndex] == data.solvedData[cellIndex]; } }
private void setGridSqaure(SudokuData.SudokuBoardData data) { for (int index = 0; index < grid_sqaures_.Count; index++) { grid_sqaures_[index].GetComponent <GridSqaure>().SetNumber(data.unsolved_data[index]); grid_sqaures_[index].GetComponent <GridSqaure>().SetCorrectNumber(data.solved_data[index]); grid_sqaures_[index].GetComponent <GridSqaure>().SetHasDefaultValue(data.unsolved_data[index] != 0 && data.unsolved_data[index] == data.solved_data[index]); } }
public static SudokuData.SudokuBoardData getData() { SudokuData.SudokuBoardData data; var rand = new System.Random(); int randNum = rand.Next(10, 30); data = new SudokuData.SudokuBoardData(SudokuData.GenerateSudoku(randNum)); return(data); }
public static void SaveBoardData(SudokuData.SudokuBoardData boardData, string level, int boardIndex, int errorNumber, Dictionary <string, List <string> > gridNotes) { File.WriteAllText(path, string.Empty); StreamWriter writer = new StreamWriter(path, false); string currentTime = "#time:" + PlayTime.Instance.TimerTime; //? 9:40 string levelString = "#level:" + level; string errorNumberString = "#errors:" + errorNumber; string boardIndexString = "#boardIndex:" + boardIndex.ToString(); string unsolvedString = "#unsolved:"; string solvedString = "#solved:"; foreach (var unsolvedData in boardData.unsolvedData) { unsolvedString += unsolvedData.ToString() + ","; } foreach (var solvedData in boardData.solvedData) { solvedString += solvedData.ToString() + ","; } writer.WriteLine(currentTime); writer.WriteLine(levelString); writer.WriteLine(errorNumberString); writer.WriteLine(boardIndexString); writer.WriteLine(unsolvedString); writer.WriteLine(solvedString); foreach (var square in gridNotes) { string squareString = "#" + square.Key + ":"; bool save = false; foreach (var note in square.Value) { if (note != " ") { squareString += note + ","; save = true; } } if (save) { writer.WriteLine(squareString); } } writer.Close(); }
private void OnDisable() { GameEvents.OnSquareSelected -= OnSquareSelected; GameEvents.OnUpdateSquareNumber -= CheckBoardCompleted; //************************************ var solved_data = SudokuData.Instance.sudoku_game[GameSettings.Instance.GetGameMode()][selected_grid_data].solved_data; int[] unsolved_data = new int[81]; Dictionary <string, List <string> > grid_notes = new Dictionary <string, List <string> >(); for (int i = 0; i < grid_sqaures_.Count; i++) { var comp = grid_sqaures_[i].GetComponent <GridSqaure>(); unsolved_data[i] = comp.GetSquareNumber(); string key = "square_note:" + i.ToString(); grid_notes.Add(key, comp.GetSquareNotes()); } SudokuData.SudokuBoardData current_game_data = new SudokuData.SudokuBoardData(unsolved_data, solved_data); if (GameSettings.Instance.GetExitAfterWon() == false)//dont save data when exit after completed board { Config.SaveBoardData(current_game_data, GameSettings.Instance.GetGameMode(), selected_grid_data, Lives.instance.GetErrorNumbers(), grid_notes); } else { Config.DeleteDataFile(); } GameSettings.Instance.SetExitAfterWon(false); }