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;
        }
    }
Exemplo n.º 2
0
    private void wennKarteUmgedrehtWurde(Karte umgedrehteKarte)
    {
        Debug.Log("Spielprinzip weiß: Karte " + umgedrehteKarte + " wurde umgedreht.");

        if (!umgedrehteKarte.KarteSchonUmgedreht())
        {
            return;             //verhindern, dass das umdrehen sofort wieder das zurück Umdrehen auslöst
        }
        if (ersteKarte != null) //dies ist die zweite Karte
        {
            zweiteKarte = umgedrehteKarte;
            if (ersteKarte.hatSelbenWert(umgedrehteKarte)) //paar gefunden
            {
                Debug.Log("Die beiden Karten sind gleich. " + ersteKarte + " " + umgedrehteKarte);

                verbleibendeZuege = 5;
                hilfetext.text    = "Finde alle Paare! Noch " + verbleibendeZuege + " Versuche.";

                Kartenstapel stapel = GetComponent <Kartenstapel>();
                if (stapel.kartenContainer.transform.childCount <= 2) //das waren die letzten beiden Karten -> gewonnen
                {
                    dialogGewonnen.SetActive(true);
                }
                else //es sind noch mehrere Karten auf dem Brett -> nur diese beiden wegräumen, dann weiter spielen
                {
                    dialogGleichesPaar.SetActive(true);
                    StartCoroutine(dialogAutomatischAusblenden());
                }
            }
            else //unterschiedliche karten
            {
                Debug.Log("Die beiden Karten sind unterschiedlich: " + ersteKarte + " " + umgedrehteKarte);

                verbleibendeZuege = verbleibendeZuege - 1;
                hilfetext.text    = "Finde alle Paare! Noch " + verbleibendeZuege + " Versuche.";
                if (verbleibendeZuege == 0)
                {
                    dialogGameOver.SetActive(true);
                }
                else
                {
                    dialogUngleichesPaar.SetActive(true);
                    StartCoroutine(dialogAutomatischAusblenden());
                }
            }
        }
        else //dies ist die erste Karte
        {
            ersteKarte = umgedrehteKarte;
        }
    }
Exemplo n.º 3
0
    private void wennKarteUmgedrehtWurde(Karte umgedrehteKarte)
    {
        Debug.Log("Spielprinzip weiß: Karte " + umgedrehteKarte + " wurde umgedreht.");

        if (!umgedrehteKarte.KarteSchonUmgedreht())
        {
            return;
        }
        if (ersteKarte != null) //dies ist die zweite Karte
        {
            zweiteKarte = umgedrehteKarte;
            if (ersteKarte.hatSelbenWert(umgedrehteKarte)) //paar gefunden
            {
                Debug.Log("Die beiden Karten sind gleich. " + ersteKarte + " " + umgedrehteKarte);
                Kartenstapel stapel = GetComponent <Kartenstapel>();
                if (stapel.kartenContainer.transform.childCount <= 2)
                {
                    dialogGewonnen.SetActive(true);
                }
                else
                {
                    dialogGleichesPaar.SetActive(true);
                    StartCoroutine(dialogAutomatischAusblenden());
                }
            }
            else //unterschiedliche karten
            {
                Debug.Log("Die beiden Karten sind unterschiedlich: " + ersteKarte + " " + umgedrehteKarte);
                dialogUngleichesPaar.SetActive(true);
                StartCoroutine(dialogAutomatischAusblenden());
            }
        }
        else //dies ist die erste Karte
        {
            ersteKarte = umgedrehteKarte;
        }
    }