Example #1
0
        public PlayViewModel(SudokuCreator.DifficultOptions difficult, PageService pageService, MasterOfSudokuViewModel sudoku)
        {
            _sudoku              = sudoku;
            Score                = _sudoku.Score;
            _pageService         = pageService;
            IsGameActive         = true;
            _difficult           = DifficultList.ListOfDifficult.Where(d => d.Name == sudoku.Sudoku.Difficult).Single().Value;
            _masterOfSudokuStore = new SQLiteMasterOfSudokuStore(DependencyService.Get <ISQLiteDb>());
            ListSolution         = new ObservableCollection <string>();
            List              = new ObservableCollection <string>();
            EndedGameCommand  = new Command(async() => await EndedGame());
            BackToManuCommand = new Command(async() => await BackToManu());
            var a  = sudoku.Board;
            var aS = sudoku.BoardSolved;

            for (int i = 0; i < 9; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    if (a[i, j] == 0)
                    {
                        List.Add("");
                    }
                    if (a[i, j] != 0)
                    {
                        List.Add(a[i, j].ToString());
                    }
                    ListSolution.Add(aS[i, j].ToString());
                }
            }
            toString = "" /*SudokuCreator.ToString(aS);*/ /*SudokuCreator.ToStringCells(sudoku.Cells)*/;
        }
Example #2
0
        private async Task ResumeNewGame(int id)
        {
            var sudoku = await _masterOfSudokuStore.GetMasterOfSudoku(id);

            var game = new MasterOfSudokuViewModel(sudoku);

            if (game.IsGameFinished)
            {
                await _pageService.DisplayAlert("Sorry", "You alweady won this game!", "Ok");

                return;
            }
            await _pageService.PushAsync(new PlayView(game));
        }
Example #3
0
        private async Task ResumeNewGame(int id)
        {
            IsGameCreating = true;
            var sudoku = await _masterOfSudokuStore.GetMasterOfSudoku(id);

            var game = new MasterOfSudokuViewModel(sudoku);

            if (game.IsGameFinished)
            {
                await _pageService.DisplayAlert("Sorry", "You alweady won this game!", "Ok");

                IsGameCreating = false;
                return;
            }
            IsGameCreating = false;
            await _pageService.PushAsync(new PlayView(game));

            //await _pageService.SaveAppProperties("GameRunning", Convert.ToString(id));
        }
Example #4
0
        private async Task StartNewGame()
        {
            if (PlayerName == "" || PlayerName == null)
            {
                await _pageService.DisplayAlert("Error", "Please enter your name!", "OK");

                return;
            }
            try
            {
                using (var sudoku = new SudokuGameApiCore.SudokuCreator(Difficult))
                {
                    var game = new MasterOfSudokuViewModel
                    {
                        PlayerName = PlayerName,
                        Difficult  = ListOfDifficult
                                     .Single(p => p.Value == Difficult)
                                     .Name,
                        Board          = sudoku.Board,
                        BoardSolved    = sudoku.BoardSolution,
                        IsGameFinished = false,
                        IsUnique       = sudoku.IsUnique,
                        MaximumPoints  = sudoku.MaximumPoints,
                        PointsBlock    = sudoku.PointsBlocks,
                        PointsColumn   = sudoku.PointsColumns,
                        PointsGame     = sudoku.PointsGame,
                        PointsRow      = sudoku.PointsRow,
                        Score          = 0,
                        Time           = TimeSpan.FromSeconds(0),
                        Lives          = 3
                    };

                    await _pageService.PushAsync(new PlayView(new MasterOfSudokuViewModel(await _masterOfSudokuStore.AddMasterOfSudoku(game.Sudoku))));
                }
            }
            catch (Exception ex)
            {
                await _pageService.DisplayAlert("Error", "Error: " + ex.Message, "ok");
            }
        }