Exemple #1
0
        private void MineTile_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
        {
            var TileClickedIDObject = ((Button)sender).Tag;
            int TileClickedID       = Convert.ToInt32(TileClickedIDObject);

            if (Board.TheBoard[TileClickedID].HasBeenClicked == false)
            {
                if (Board.TheBoard[TileClickedID].Flagged == false)
                {
                    Board.TheBoard[TileClickedID].Flagged = true;
                    Board.FlaggedMines += 1;
                    if (Board.TheBoard[TileClickedID].HasMine == true)
                    {
                        Board.CorrectFlaggedMines += 1;
                    }
                }
                else
                {
                    Board.TheBoard[TileClickedID].Flagged = false;
                    Board.FlaggedMines -= 1;
                    if (Board.TheBoard[TileClickedID].HasMine == true)
                    {
                        Board.CorrectFlaggedMines -= 1;
                    }
                }

                if (Board.GameWon() == true)
                {
                    DebugBlock.Text = "Win";
                }
            }
        }
Exemple #2
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var TileClickedIDObject = ((Button)sender).Tag;
            int TileClickedID       = Convert.ToInt32(TileClickedIDObject);

            if (Board.TheBoard[TileClickedID].Flagged == false)
            {
                if (Board.TheBoard[TileClickedID].HasMine == true)
                {
                    Board.TheBoard[TileClickedID].HasBeenClicked = true;
                    Board.RevealAll(); // end game by blowing up
                    DebugBlock.Text = "You died";
                }
                else
                {
                    if (Board.TheBoard[TileClickedID].MinesSurrounding != 0)
                    {
                        // reveal the number of this tile
                        Board.TheBoard[TileClickedID].HasBeenClicked = true;
                        //DebugBlock.Text = Board.TheBoard[TileClickedID].HasBeenClicked.ToString();
                    }
                    if (Board.TheBoard[TileClickedID].MinesSurrounding == 0)
                    {
                        // discover the tiles
                        Board.TheBoard[TileClickedID].HasBeenClicked = true;
                        Board.TheBoard[TileClickedID].RevealTiles(TileClickedID); // parameter not needed if function is done properly
                    }
                }
            }
            if (Board.GameWon() == true)
            {
                DebugBlock.Text = "Win";
            }
        }