Пример #1
0
    void Update()
    {
        Cell c = default;

        if (Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1))
        {
            var v3 = Input.mousePosition;
            v3 = Camera.main.ScreenToWorldPoint(v3);
            int x, y;
            x = (int)Math.Truncate(v3.x);
            y = (int)Math.Truncate(v3.y);


            if (isInBound(x, y))
            {
                c = cells[x, y].GetComponent <Cell>();

                if (Input.GetButtonDown("Fire1"))
                {
                    if (!gameLost)
                    {
                        if (isFirstClick)
                        {
                            firstClick(c);
                            isFirstClick = false;
                        }
                        c.Reveal();
                        if (Grid.gameLost) // La cellule rélévé nous à fait perdre
                        {
                            GameManager.instance.notifyLoose(GameEndReason.MINED);
                        }
                    }
                    if (debug)
                    {
                        c.infoDebug();
                    }
                }
                if (Input.GetButtonDown("Fire2"))
                {
                    if (!gameLost)
                    {
                        Trulean isNowFlagged = c.FlagCell();
                        updateFlagCount(isNowFlagged, c);
                    }
                }
                if ((Input.GetKey(KeyCode.LeftControl)) && Input.GetButtonDown("Fire1"))
                {
                    chordClick(c);
                }
            }
        }
    }
Пример #2
0
    /* Deflag si flag il y a, flag si neni flag n'y est
     * Renvoie vrai si il y a désormais un flag
     * Renvoie faux si il n'y en a plus */
    public Trulean FlagCell()
    {
        Trulean res = Trulean.NA;

        // Test si on peut isFlag. On peut que si c'est pas encore revelé
        if (!isRevealed)
        {
            if (isFlag)
            {
                GetComponent <SpriteRenderer>().sprite = sprites[11]; // J'ai honte mais Martin à dit ok
                res = Trulean.False;
            }

            else
            {
                GetComponent <SpriteRenderer>().sprite = sprites[9];
                res = Trulean.True;
            }

            isFlag = !isFlag;
        }
        return(res);
    }
Пример #3
0
    /*
     * c.isMine + isNowFlagged ? correct flag++
     * c.isMine + !isNowFlagged ? correct flag--
     * !c.isMine + isNowFlagged ? wrong flag++
     * !c.isMine + !isNowFlagged ? correct flag--
     */

    private void updateFlagCount(Trulean isNowFlagged, Cell c)
    {
        if (isNowFlagged == Trulean.NA)
        {
            Debug.Log("Rien à faire ici");
        }
        if (c.isMine && isNowFlagged == Trulean.True)
        {
            correctFlags++;
        }
        if (c.isMine && isNowFlagged == Trulean.False)
        {
            correctFlags--;
        }
        if (!c.isMine && isNowFlagged == Trulean.True)
        {
            wrongFlags++;
        }
        if (!c.isMine && isNowFlagged == Trulean.False)
        {
            wrongFlags--;
        }
    }