Пример #1
0
    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;
    }
Пример #2
0
 // 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]);
     }
 }
Пример #3
0
 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]);
     }
 }
Пример #4
0
 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];
     }
 }
Пример #5
0
 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]);
     }
 }
Пример #6
0
    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);
    }
Пример #7
0
    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();
    }
Пример #8
0
    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);
    }