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; } }
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; } }
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; } }