コード例 #1
0
    void ShuffleWithMatches(int cardTypes)
    {
        CardHandler.s.SetUpGrid();

        List <int> myCards = new List <int> ();

        int totalCards = GS.a.gridSettings.gridSizeX * GS.a.gridSettings.gridSizeY;

        for (int i = 0; i < totalCards; i += 2)
        {
            int rand = Random.Range(0, cardTypes);
            rand++;
            myCards.Add(rand);
            myCards.Add(rand);
        }

        int[] finalList = myCards.ToArray();
        RandFuncs.Shuffle(finalList);

        int n = 0;

        for (int x = 0; x < GS.a.gridSettings.gridSizeX; x++)
        {
            for (int y = 0; y < GS.a.gridSettings.gridSizeY; y++)
            {
                CardHandler.s.allCards[x, y].cardType = finalList[n];
                n++;
            }
        }
    }
コード例 #2
0
    public List <IndividualCard> GetRandomizedOccupiedOrSelectabeCardList()
    {
        List <IndividualCard> selectableCards = GetOccupiedOrSelectableCards();

        RandFuncs.Shuffle(selectableCards);
        return(selectableCards);
    }
コード例 #3
0
    public override IEnumerator MainLoop()
    {
        yield return(new WaitForSeconds(0.5f));

        IndividualCard curTarget = null;

        while (true)
        {
            List <IndividualCard> allCards = GetAllCards();
            RandFuncs.Shuffle(allCards);
            foreach (IndividualCard card in allCards)
            {
                if (card.currentSelectingPlayer != -1)
                {
                    curTarget = card;
                    break;
                }
            }

            if (curTarget == null)
            {
                yield return(new WaitForSeconds(reactionTime));

                continue;
            }

            yield return(MoveToPosition(curTarget));

            while (curTarget.currentSelectingPlayer != -1)
            {
                Activate(curTarget);
                ScoreBoardManager.s.AddScore(curTarget.currentSelectingPlayer, 0, -1, true);

                yield return(new WaitForSeconds(periodicAttackTime));
            }

            yield return(new WaitForSeconds(reactionTime));
        }
    }