Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (Started)
        {
            ClickedState Result = CheckCubes();
            if (Result == ClickedState.Win)
            {
                //Debug.Log("Correct");

                ++LevelHandler.GetComponent <LevelHandler>().Level;

                DeleteCubes();
                GenerateCubes();
            }
            else if (Result == ClickedState.Fail)
            {
                //Debug.Log("Incorrect");

                if (LevelHandler.GetComponent <LevelHandler>().Level > 0)
                {
                    --LevelHandler.GetComponent <LevelHandler>().Level;
                }

                DeleteCubes();
                GenerateCubes();
            }
        }
    }
Ejemplo n.º 2
0
 /// <summary>
 /// Handles click event on the tile
 /// </summary>
 /// <param name="e">MouseEventArgs contining the mouse button pressed, location, press count and </param>
 public void Click(MouseEventArgs e)
 {
     if (state == ClickedState.unClicked && e.Button == MouseButtons.Left) // if state of mouse click is left mouse click
     {
         state = ClickedState.clicked;                                     // state of the clicked state is click
         if (bombsNear == 0)                                               // if bombs near is 0
         {
             neighbours.ForEach(
                 (Tile t) => {
                 t.Click(new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0));
             }
                 );
         }
     }
     else if (state == ClickedState.unClicked && e.Button == MouseButtons.Right) // if state of mouse click is right mouse click
     {
         state = ClickedState.flagged;                                           // state is clicked and is flagged
     }
     else if (state == ClickedState.flagged && e.Button == MouseButtons.Right)   // if state of mouse click is right mouse click on a flagged tile
     {
         state = ClickedState.unClicked;                                         // state is unclicked and flag is removed
     }
     else if (state == ClickedState.clicked && e.Button == MouseButtons.Right)   // if state of mouse click is right mouse click on a tile
     {
         // open up minefields
         int flagsNear = 0;                 // flags nearby is 0
         neighbours.ForEach((Tile t) => { if (t.state == ClickedState.flagged)
                                          {
                                              flagsNear++;
                                          }
                            });                                                                          // count how many flags are on the tiles surrounding this one
         if (flagsNear == bombsNear)                                                                     // if number of flags is equailvalent to bombs
         {
             neighbours.ForEach((Tile t) => t.Click(new MouseEventArgs(MouseButtons.Left, 0, 0, 0, 0))); // open up more tiles
         }
     }
 }