예제 #1
0
 private void pictureBox1_MouseClick(object sender, EventArgs e)
 {
     if (ReadOnly)
     {
         return;
     }
     CardClick?.Invoke(sender, e);
 }
예제 #2
0
    // Update is called once per frame
    override protected void Update()
    {
        if (targetAngle != angle)
        {
            /*
             * if (Mathf.Abs (targetAngle % 360) < -90) {
             *
             *      if (Mathf.Abs (targetAngle - angle) > angleSpeed) {
             *              angle += (targetAngle - angle) * Time.deltaTime * angleSpeed;
             *      } else {
             *              angle = targetAngle;
             *      }
             * } else {
             */
            if (Mathf.Abs(targetAngle - angle) > angleSpeed)
            {
                angle += (targetAngle - angle) * Time.deltaTime * angleSpeed;
            }
            else
            {
                angle = targetAngle;

                //MoveCmp ();
            }
            //}
            Set();
        }

        if (IsRunToEnd())
        {
            angle       = -53f + angleStep * .5f;
            targetAngle = -53f;

            int   i = 6;
            float z = 9 + .001f * i;
            basePoint = new Vector3(basePoint.x, basePoint.y, z);

            //basePoint = new Vector3 (basePoint.x,basePoint.y,z );

            CardClick curCardClick = this.prev;

            while (curCardClick != this)
            {
                i--;
                z = 9 + .001f * i;
                curCardClick.basePoint = new Vector3(curCardClick.basePoint.x, curCardClick.basePoint.y, z);

                curCardClick = curCardClick.prev;
            }
        }
        else
        {
        }
    }
예제 #3
0
 public void CardRevealed(CardClick card)
 {
     if (card1Open == null)
     {
         card1Open = card;
     }
     else
     {
         card2Open = card;
         StartCoroutine(CheckMatch());
     }
 }
예제 #4
0
    private IEnumerator CheckMatch()
    {
        if (card1Open.Id == card2Open.Id)
        {
            score++;
            scoreLabel.text = "SCORE : " + score;
        }
        else
        {
            yield return(new WaitForSeconds(1f));

            card1Open.Unreveal();
            card2Open.Unreveal();
        }
        card1Open = null;
        card2Open = null;
    }
예제 #5
0
    public void OnCardClick(CardClick cardClick)
    {
        cardClick.targetIndex = 0;
        int targetIndex    = 0;
        int cardClickIndex = 0;

        for (int i = 0; i < angleCrtlArr.Length; i++)
        {
            if (angleCrtlArr [i] == cardClick)
            {
                cardClickIndex = i;
            }
        }

        for (int i = cardClickIndex; i < angleCrtlArr.Length; i++)
        {
            angleCrtlArr [i].targetIndex = targetIndex++;
        }

        for (int i = 0; i < cardClickIndex; i++)
        {
            angleCrtlArr [i].targetIndex = targetIndex++;
        }

        /*
         * cardClick.index = 0;
         * int curTargetIndex = 0;
         * CardClick curCardClick = cardClick.prev;
         *
         * while(curCardClick != cardClick){
         *      //i--;
         *      //z = 9 +.001f*i ;
         *      curCardClick.targetIndex = ++curTargetIndex;
         *
         *      curCardClick = curCardClick.prev;
         * }
         */

        //cardClick.tagetAngle = -90f;
        CardClick curCardClick = cardClick;
        //curCardClick = cardClick;

        float tagetAngleDis = Mathf.Abs(-90f) - Mathf.Abs(cardClick.angle);

        int index = 0;

        if (curCardClick.angle <= -90f)
        {
            tagetAngleDis            = curCardClick.angleStep;
            curCardClick.targetAngle = curCardClick.angle - tagetAngleDis;
        }
        else
        {
            curCardClick.targetAngle = -90f;
        }

        for (int i = 0; i < angleCrtlArr.Length; i++)
        {
            curCardClick = angleCrtlArr [i];

            if (curCardClick == cardClick)
            {
                index = i;
            }
            else
            {
                curCardClick.targetAngle = curCardClick.angle - tagetAngleDis;
            }
        }

        if (curCardClick.angle <= -90f)
        {
            index++;
        }

        if (index == angleCrtlArr.Length)
        {
            index = 0;
        }

        float z = 9f;

        int curIndex = 0;

        /*
         * for (int i = index; i < angleCrtlArr.Length; i++) {
         *
         *      curCardClick = angleCrtlArr [i];
         *      curCardClick.basePoint = new Vector3 (curCardClick.basePoint.x,curCardClick.basePoint.y,z+=.001f );
         *
         *      curIndex++;
         * }
         * for (int i = 0 ; i < index; i++) {
         *
         *      curCardClick = angleCrtlArr [i];
         *      curCardClick.basePoint = new Vector3 (curCardClick.basePoint.x,curCardClick.basePoint.y,z+=.001f );
         *
         *      curIndex++;
         * }
         */
    }