Esempio n. 1
0
        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;
 }