예제 #1
0
        public void NewGameTest()
        {
            int[,] testBoard = new int[9, 9];
            int[] testBoard1 = new int[9];
            bool  flag       = true;

            SudokuEngine.NewGame(testBoard, testBoard1);
            foreach (var i in testBoard)
            {
                if (i != 0)
                {
                    flag = false;
                    break;
                }
                else
                {
                    flag = true;
                }
            }
            Assert.IsFalse(flag);
        }
예제 #2
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            //Ukrywa label z informacja końca gry
            EndGameLabel.Visibility = Visibility.Hidden;
            //Zeruje zegar
            tick = 0;
            //Startuje zegar
            timer.Start();

            isGenerated = false;
            //Kopiuje wszystkie dzieci glownego Grida
            SudokuGrid.Children.CopyTo(UIs, 0);
            //Uruchamia losowanie
            SudokuEngine.NewGame(SudokuBoard, Array);
            //Przypisuje wszystkie bordery do tablicy borderów
            for (int i = 0; i < borders.Length; i++)
            {
                borders[i] = UIs[i] as Border;
            }

            int z = 0;

            //szuka z wszystkich borderów textboxy
            for (int i = 0; i < 9; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    if (z > 81)
                    {
                        break;
                    }
                    if (borders[z] != null)
                    {
                        texts[i, j] = borders[z].Child as TextBox;
                    }
                    z++;
                }
            }

            for (int i = 0; i < 9; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    if (texts[i, j] != null)
                    {
                        texts[i, j].Text = SudokuBoard[i, j].ToString();
                    }
                    if (texts[i, j].Text == "0")
                    {
                        texts[i, j].Text = "";
                    }
                }
            }


            //Zdarzenie ktore ma sie wykonac po zmianie w TextBox
            foreach (var i in texts)
            {
                if (i != null)
                {
                    i.TextChanged += CheckAfter;
                }
            }
            for (int i = 0; i < 9; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    texts[i, j].Name = String.Format("_{0}_{1}", i, j);
                }
            }

            isGenerated = true;
        }