private async void InitPuzzle()
        {
            _puzzle = new SodukoPuzzle(9, PuzzleCanvas, HintMode.Off);
            _puzzle.OnCompletedGame    += _puzzle_OnCompletedGame;
            _puzzle.ShowNumberSelector += OnObjectTapped;

            _puzzle.InitPuzzle();


            if (NumberSelectorStackPanel.Children.Count != 0)
            {
                return;
            }

            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () =>
            {
                var clearPiece = new SodukoPiece(true, false);
                clearPiece.SetUnknown();
                clearPiece.OnTappedEvent += NumberSelectorTapped;
                NumberSelectorStackPanel.Children.Add(clearPiece);

                for (int i = 1; i < 10; ++i)
                {
                    var piece            = new SodukoPiece(true, false);
                    piece.NumberValue    = i;
                    piece.OnTappedEvent += NumberSelectorTapped;
                    NumberSelectorStackPanel.Children.Add(piece);
                }
            });
        }
Beispiel #2
0
        private async void InitPuzzle()
        {
            _hasSaved = false;
            try
            {
                _puzzle = new SodukoPuzzle(9, PuzzleCanvas, HintMode.Adjacent);
                _puzzle.OnCompletedGame += OnGameCompleted;
            }
            catch (ArgumentException e)
            {
                // Do nothing...
                string failureMessage = e.Message;
            }

            _puzzle.ShowNumberSelector += OnObjectTapped;

            if (_sii.RestoreState)
            {
                if (Serilizer.IsStateSaved())
                {
                    LoadData();
                }
            }
            else
            {
                _difficulty = _sii.DesiredDifficulty;
                if (!_puzzle.InitPuzzle(_difficulty))
                {
                    MessageDialog dlg = new MessageDialog("Couldn't init the puzzle!", "Failure");
                    await dlg.ShowAsync();
                }
            }
            // The highscore is completely different and is always saved.
            _gameInfo = Serilizer.GetPersistingSodukoGameInfo();

            _expMgr.LoadData();


            DisplayHighScore();
            SetDifficulty(_difficulty);
            ShowNumberSelector();
            StartTimer(true);
            HintModeComboBox.SelectedItem = AdjacentComboBoxItem;
        }
Beispiel #3
0
        private async void InitPuzzle()
        {
            _hasSaved = false;
            try
            {
                _puzzle = new SodukoPuzzle(9, PuzzleCanvas, HintMode.Adjacent);
                _puzzle.OnCompletedGame += OnGameCompleted;
            }
            catch (ArgumentException e)
            {
                // Do nothing...
                string failureMessage = e.Message;
            }
            
            _puzzle.ShowNumberSelector += OnObjectTapped;

            if (_sii.RestoreState)
            {
                if (Serilizer.IsStateSaved())
                {
                    LoadData();
                }
            }
            else
            {
                _difficulty = _sii.DesiredDifficulty;
                if (!_puzzle.InitPuzzle(_difficulty))
                {
                    MessageDialog dlg = new MessageDialog("Couldn't init the puzzle!", "Failure");
                    await dlg.ShowAsync();
                }
            }
            // The highscore is completely different and is always saved.
            _gameInfo = Serilizer.GetPersistingSodukoGameInfo();

            _expMgr.LoadData();
            

            DisplayHighScore();
            SetDifficulty(_difficulty);
            ShowNumberSelector();
            StartTimer(true);
            HintModeComboBox.SelectedItem = AdjacentComboBoxItem;
        }
        private async void InitPuzzle()
        {
            _puzzle = new SodukoPuzzle(9, PuzzleCanvas, HintMode.Off);
            _puzzle.OnCompletedGame += _puzzle_OnCompletedGame;
            _puzzle.ShowNumberSelector += OnObjectTapped;

            _puzzle.InitPuzzle();


            if (NumberSelectorStackPanel.Children.Count != 0)
                return;

            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () =>
            {
                var clearPiece = new SodukoPiece(true, false);
                clearPiece.SetUnknown();
                clearPiece.OnTappedEvent += NumberSelectorTapped;
                NumberSelectorStackPanel.Children.Add(clearPiece);

                for (int i = 1; i < 10; ++i)
                {
                    var piece = new SodukoPiece(true, false);
                    piece.NumberValue = i;
                    piece.OnTappedEvent += NumberSelectorTapped;
                    NumberSelectorStackPanel.Children.Add(piece);
                }
            });
        }