예제 #1
0
    public List <Tuple <int, int> > CompareWithFullSudoku()
    {
        sudokuMaker = new SudokuMaker();

        List <Tuple <int, int> > points = new List <Tuple <int, int> >();

        for (int y = 0; y < 9; y++)
        {
            for (int x = 0; x < 9; x++)
            {
                if (sudoku[y, x] != 0 &&
                    sudoku[y, x] != fullSudoku[y, x])
                {
                    points.Add(new Tuple <int, int>(y, x));
                }
            }
        }
        return(points);
    }
예제 #2
0
    public List <Tuple <int, int> > CompareMemoWithFullSudoku()
    {
        sudokuMaker = new SudokuMaker();

        List <Tuple <int, int> > points = new List <Tuple <int, int> >();

        for (int y = 0; y < 9; y++)
        {
            for (int x = 0; x < 9; x++)
            {
                if (sudoku[y, x] == 0) // 스도쿠 값이 없을 때
                {
                    int rightNumber = fullSudoku[y, x];

                    if (memoSudoku[rightNumber - 1, y, x] == 0)
                    {
                        points.Add(new Tuple <int, int>(y, x));
                    }
                }
            }
        }
        return(points);
    }
예제 #3
0
    private void Awake()
    {
        memoSudoku  = new int[9, 9, 9];
        sudokuMaker = new SudokuMaker();

        if (Settings.PlayMode == 0)
        {
            (sudoku, fullSudoku) = sudokuMaker.MakeNewSudoku();
            originalSudoku       = (int[, ])sudoku.Clone();
        }
        else if (Settings.PlayMode == 1 || Settings.PlayMode == 2)
        {
            fileManager.StartOpening();
        }
        else if (Settings.PlayMode == 3)
        {
            if (DifficultySetter.Difficulty == 0)
            {
                int rand = UnityEngine.Random.Range(0, Settings.Easy_Cnt);
                fileManager.StartOpening($"easy{rand}");
                sudoku = sudokuMaker.MakeConvertedSudoku(sudoku);
            }
            else if (DifficultySetter.Difficulty == 1)
            {
                int rand = UnityEngine.Random.Range(0, Settings.Medium_Cnt);
                fileManager.StartOpening($"medium{rand}");
                sudoku = sudokuMaker.MakeConvertedSudoku(sudoku);
            }
            else if (DifficultySetter.Difficulty == 2)
            {
                int rand = UnityEngine.Random.Range(0, Settings.Hard_Cnt);
                fileManager.StartOpening($"hard{/*rand*/Settings.Hard_Cnt - 1}");
                sudoku = sudokuMaker.MakeConvertedSudoku(sudoku);
            }
        }
    }