Inheritance: ScriptableObject
Ejemplo n.º 1
0
    public void ShuffleCoupleList(MemoryGameCouple[] list)
    {
        System.Random rng = new System.Random();

        int n = list.Length;

        while (n > 1)
        {
            int k = rng.Next(n--);
            MemoryGameCouple temp = list[n];
            list[n] = list[k];
            list[k] = temp;
        }
    }
Ejemplo n.º 2
0
    void initGame()
    {
        int i;

        int[] Places = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };

        Sprite topSprite = null;


        int rnd = Random.Range(0, CardTopSprites.Length);

        topSprite = CardTopSprites[rnd];

        UpdateLettersFroGroup();

        ShuffleIntList(Places);
        ShuffleCoupleList(Couples);
        Queue placesQueue = new Queue();

        foreach (int place in Places)
        {
            placesQueue.Enqueue(place);
        }
        i = 0;

        while (placesQueue.Count > 0 && i < 30)
        {
            int place;
            if (Couples.Length > i)
            {
                MemoryGameCouple couple = Couples [i];

                place = (int)placesQueue.Dequeue();
                MemoryGameCard card1 = cards [place];
//			card1.gameObject.SetActive (true);
                card1.init(couple, 1, firstShowing + (place * 0.2f), topSprite);

                place = (int)placesQueue.Dequeue();
                MemoryGameCard card2 = cards [place];
//			card2.gameObject.SetActive (true);
                card2.init(couple, 2, firstShowing + (place * 0.2f), topSprite);
            }
            i++;
        }
        selectedCard   = null;
        isPause        = true;
        readyCards     = 0;
        completedCards = 0;
        numOpen        = 0;
    }
Ejemplo n.º 3
0
    public void init(MemoryGameCouple couple, int place, float showDelay, Sprite topSprite)
    {
        Couple  = couple;
        _place  = place;
        isReady = false;


        Image img = Back.GetComponent <Image> ();

        if (_place == 1)
        {
            img.sprite = Couple.image1;
        }
        else
        {
            img.sprite = Couple.image2;
        }

        status = CardStatus.Open;


        setTopActive(false, true);
        setBackActive(true, true);
        setShadowActive(true, true);

        Vector3 v = transform.rotation.eulerAngles;

        v.y = 180;
        transform.rotation = Quaternion.Euler(v);

        if (topSprite != null)
        {
            img        = Top.GetComponent <Image> ();
            img.sprite = topSprite;
        }

        Invoke("onReady", showDelay);
    }
    static void CreateMemorycardCouple()
    {
        MemoryGameCouple c = new MemoryGameCouple();

        AssetDatabase.CreateAsset(c, "Assets/Prefabs/MiniGames/MemoryGame/CardCouple.asset");
    }