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)*/; }
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)); }
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)); }
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"); } }