public static List <KeyValuePair <int, int> > UpdateGame(Square obj) { if (InternalHelper.NumberOfClicks % 2 != 0 && IsOkClick(obj)) { PreviousCell = obj; if (IsRedPiece(obj.X, obj.Y)) { possibleMoves = PossiblesMovesForRedPiece(obj); CheckersGameViewModel.ShowPossibleMovesForRedPiece(possibleMoves); } else if (IsWhitePiece(obj.X, obj.Y)) { possibleMoves = PossiblesMovesForWhitePiece(obj); CheckersGameViewModel.ShowPossibleMovesForWhitePiece(possibleMoves); } else if (IsRedKingCell(obj.X, obj.Y)) { possibleMoves = PossiblesMovesForRedKingPiece(obj); CheckersGameViewModel.ShowPossibleMovesForRedPiece(possibleMoves); } else if (IsWhiteKingCell(obj.X, obj.Y)) { possibleMoves = PossiblesMovesForWhiteKingPiece(obj); CheckersGameViewModel.ShowPossibleMovesForWhitePiece(possibleMoves); } } else if (InternalHelper.NumberOfClicks % 2 == 0 && possibleMoves.Contains(new KeyValuePair <int, int>(obj.X, obj.Y))) { foreach (KeyValuePair <int, int> cell in possibleMoves) { CheckersGameViewModel.Squares[cell.Key][cell.Value].Image = InternalHelper.simpleSquare; } if (IsRedPiece(PreviousCell.X, PreviousCell.Y) && obj.X == 7) { CheckersGameViewModel.Squares[obj.X][obj.Y].Image = InternalHelper.redKing; } else if (IsWhitePiece(PreviousCell.X, PreviousCell.Y) && obj.X == 0) { CheckersGameViewModel.Squares[obj.X][obj.Y].Image = InternalHelper.whiteKing; } else { CheckersGameViewModel.Squares[obj.X][obj.Y].Image = PreviousCell.Image; } if (Math.Abs(PreviousCell.X - obj.X) == 2 && Math.Abs(PreviousCell.Y - obj.Y) == 2) { VerifyJumpOverOpponent(obj); } CheckersGameViewModel.Squares[PreviousCell.X][PreviousCell.Y].Image = InternalHelper.simpleSquare; } return(possibleMoves); }
private void OpenButton_Click(object sender, RoutedEventArgs e) { DataContext = new CheckersGameViewModel(); CheckersGameViewModel.loadFromFile = true; }