private void wennKarteUmgedrehtWurde(Karte umgedrehteKarte)
    {
        Debug.Log("Spielprinzip weiß: Karte " + umgedrehteKarte + " wurde umgedreht.");

        if (!umgedrehteKarte.KarteSchonUmgedreht())
        {
            return;
        }
        if (letzteKarte != null)                            //dies ist die zweite Karte
        {
            if (letzteKarte.hatSelbenWert(umgedrehteKarte)) //paar gefunden
            {
                Debug.Log("Die beiden Karten sind gleich. " + letzteKarte + " " + umgedrehteKarte);
                Destroy(letzteKarte.gameObject);
                Destroy(umgedrehteKarte.gameObject);
            }
            else
            {
                Debug.Log("Die beiden Karten sind unterschiedlich: " + letzteKarte + " " + umgedrehteKarte);
                umgedrehteKarte.Umdrehen();
                letzteKarte.Umdrehen();
            }
            letzteKarte = null;
        }
        else //dies ist die erste Karte
        {
            letzteKarte = umgedrehteKarte;
        }
    }
示例#2
0
 /// <summary>
 /// Funktion des Weiter-Buttons im Ungleiches-Paar-Dialog.
 /// </summary>
 public void ButtonKlickPaarVerwerfen()
 {
     ersteKarte.Umdrehen();
     zweiteKarte.Umdrehen();
     dialogUngleichesPaar.SetActive(false);
     ersteKarte  = null;
     zweiteKarte = null;
 }
示例#3
0
 private void GibKarten(int anzahl, GameObject handstapel)
 {
     for (int i = 0; i < anzahl; i++)
     {
         Kartenbeschreibung karteAusStapel = stapel.hebeObersteKarteAb();
         stapel.kartenContainer = handstapel;
         Karte karteInSzene = stapel.erzeugeKarteInSzene();
         karteInSzene.setzeBeschreibung(karteAusStapel, true);
         karteInSzene.Umdrehen();
         karteInSzene.GetComponent <Button>().onClick.AddListener(KlickAufHandStapelKarte);
     }
 }
    public void EntferneObersteKarte()
    {
        if (transform.childCount == 0)
        {
            return;
        }

        Destroy(transform.GetChild(transform.childCount - 1).gameObject);

        if (transform.childCount >= 2) //wir brauchen mindestens 2 = die gelöschte + die darunterliegende
        {
            Karte k = transform.GetChild(transform.childCount - 2).GetComponent <Karte>();
            //Debug.Log("Nächste Karte auf Container/Spalte = " + k);
            if (!k.KarteSchonUmgedreht())
            {
                k.Umdrehen();
            }
        }
    }
    public void EntferneZiehendeKarten()
    {
        if (ziehendeKarten[0].transform.GetSiblingIndex() >= 1) //es liegt noch mind. 1 karte unter der untersten des gezogenen teilstapels
        {
            Karte k = transform.GetChild(ziehendeKarten[0].transform.GetSiblingIndex() - 1).GetComponent <Karte>();
            //Debug.Log("Nächste Karte auf Container/Spalte = " + k);
            if (!k.KarteSchonUmgedreht())
            {
                k.Umdrehen();
            }
        }


        foreach (Karte k in ziehendeKarten)
        {
            Destroy(k.gameObject);
        }

        ziehendeKarten.Clear();
    }
    public void GibKarten(int anzahl, MauMauPartei spielpartei)
    {
        bool istSpieler = spielpartei is MauMauParteiSpieler;

        for (int i = 0; i < anzahl; i++)
        {
            Kartenbeschreibung karteAusStapel = stapel.hebeObersteKarteAb();
            stapel.kartenContainer = spielpartei.gameObject;
            Karte karteInSzene = stapel.erzeugeKarteInSzene();
            karteInSzene.setzeBeschreibung(karteAusStapel, istSpieler);
            if (istSpieler)
            {
                karteInSzene.Umdrehen();
            }
            else
            {
                karteInSzene.TauscheKartenbild();
            }
            spielpartei.WennKarteHinzugefuegtWurde(karteInSzene);
        }
    }