public void ErweiterungStarten(Kartenstapel stapel) { if (testModus) { LegeAlle(1, stapel, 0); LegeAlle(2, stapel, 1); LegeAlle(13, stapel, 2); LegeAlle(14, stapel, 3); } else { //Spalten mit einer Auswahl zufälliger Karten befüllen for (int i = 0; i < spalten.Count; i++) { for (int bereitsErzeugt = 0; bereitsErzeugt <= i; bereitsErzeugt++) { Kartenbeschreibung k = stapel.hebeObersteKarteAb(); stapel.kartenContainer = spalten[i].gameObject; Karte karteInSzene = stapel.erzeugeKarteInSzene(); karteInSzene.setzeBeschreibung(k, false); if (bereitsErzeugt < i) { karteInSzene.TauscheKartenbild(); //für alle außer letzter Karte } spalten[i].KartenAnordnen(); } } } }
public void KlickAufStapel() { Kartenstapel stapel = GetComponent <Kartenstapel>(); Debug.Log("Klick auf den Stapel."); if (stapel.istLeer()) { Debug.Log("Der Stapel ist leer!"); return; } Kartenbeschreibung gezogeneKarte = stapel.hebeZufaelligeKarteAb(); stapel.kartenContainer = container[0]; container.RemoveAt(0); stapel.erzeugeKarteInSzene().setzeBeschreibung(gezogeneKarte, false); aktualisiereHilfetext(); if (stapel.karten.Count == 0 || verbleibendeZuege == 0) { gameObject.SetActive(false); } }
public void LegeKarteAuf(StapelContainer container) { if (vorschauKarte.aktuelleBeschreibung() == null) //keine Karte aufgedeckt oder übrig { return; } Kartenbeschreibung alteKarte = container.ObersteKarte(); Kartenbeschreibung neueKarte = vorschauKarte.aktuelleBeschreibung(); if (WertPasst(alteKarte, neueKarte) && FarbePasst(alteKarte, neueKarte)) { Debug.Log("Lege die Karte auf " + container); Kartenstapel stapel = GetComponent <Kartenstapel>(); //Verweis auf Kartenstapelscript stapel.kartenContainer = container.gameObject; //dem Stapel sagen, wo erzeugeKarteInSzene die Karte unterordnen soll Karte karteInSzene = stapel.erzeugeKarteInSzene(); //GameObject zum Zeichnen der Karte in der Szene anlegen karteInSzene.setzeBeschreibung(vorschauKarte.aktuelleBeschreibung(), false); //Kartenwert und Darstellung verbinden & sofort aufdecken vorschauKarte.setzeBeschreibung(null, false); KlickAufStapel(); container.KartenAnordnen(); if (stapel.istLeer() && vorschauKarte.aktuelleBeschreibung() == null) //alle karten abgelegt { dialogGewonnen.SetActive(true); } } else //passt nicht { dialogFehler.SetActive(true); } }
private void LegeAlle(int mitDerFarbe, Kartenstapel ausDemStapel, int inDieSpalteIndex) { for (int wert = 14; wert >= 2; wert--) { Kartenbeschreibung k = ausDemStapel.hebeKarteAb(wert, mitDerFarbe); ausDemStapel.kartenContainer = spalten[inDieSpalteIndex].gameObject; Karte karteInSzene = ausDemStapel.erzeugeKarteInSzene(); karteInSzene.setzeBeschreibung(k, false); } spalten[inDieSpalteIndex].KartenAnordnen(); }
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); } }
// Start is called before the first frame update void Start() { Kartenstapel stapel = GetComponent <Kartenstapel>(); verdoppleKartenIn(stapel); while (!stapel.istLeer()) { Kartenbeschreibung gezogeneKarte = stapel.hebeZufaelligeKarteAb(); Karte k = stapel.erzeugeKarteInSzene(); k.setzeBeschreibung(gezogeneKarte, true); k.nachUmdrehenBenachrichten = wennKarteUmgedrehtWurde; } GetComponent <Image>().enabled = false; //gameObject.SetActive(false); }
public void LegeKarteAuf(StapelContainer container) { if (vorschauKarte.aktuelleBeschreibung() == null) //keine Karte aufgedeckt oder übrig { return; } Debug.Log("Lege die Karte auf " + container); Kartenstapel stapel = GetComponent <Kartenstapel>(); //Verweis auf Kartenstapelscript stapel.kartenContainer = container.gameObject; //dem Stapel sagen, wo erzeugeKarteInSzene die Karte unterordnen soll Karte karteInSzene = stapel.erzeugeKarteInSzene(); //GameObject zum Zeichnen der Karte in der Szene anlegen karteInSzene.setzeBeschreibung(vorschauKarte.aktuelleBeschreibung(), false); //Kartenwert und Darstellung verbinden & sofort aufdecken vorschauKarte.setzeBeschreibung(null, false); KlickAufStapel(); container.KartenAnordnen(); }
public void KlickAufStapel() { Kartenstapel stapel = GetComponent <Kartenstapel>(); Debug.Log("Klick auf den Stapel."); if (stapel.istLeer()) { Debug.Log("Der Stapel ist leer!"); return; } Kartenbeschreibung gezogeneKarte = stapel.hebeZufaelligeKarteAb(); stapel.erzeugeKarteInSzene().setzeBeschreibung(gezogeneKarte, false); if (stapel.karten.Count == 0) { gameObject.SetActive(false); } }
public bool LegeKarteAuf(StapelContainer container, Kartenbeschreibung neueKarte) { Kartenbeschreibung alteKarte = container.ObersteKarte(); if (WertPasst(alteKarte, neueKarte) && FarbePasst(alteKarte, neueKarte)) { Debug.Log("Lege die Karte auf " + container); Kartenstapel stapel = GetComponent <Kartenstapel>(); //Verweis auf Kartenstapelscript stapel.kartenContainer = container.gameObject; //dem Stapel sagen, wo erzeugeKarteInSzene die Karte unterordnen soll Karte karteInSzene = stapel.erzeugeKarteInSzene(); //GameObject zum Zeichnen der Karte in der Szene anlegen karteInSzene.setzeBeschreibung(neueKarte, false); //Kartenwert und Darstellung verbinden & sofort aufdecken container.KartenAnordnen(); return(true); //Karte passt und wurde verschoben } else //passt nicht { dialogFehler.SetActive(true); return(false); //Karte passt nicht, nichts weiter machen } }
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); } }
public void OnDrop(PointerEventData eventData) { StapelContainer spalte = eventData.pointerDrag.GetComponent <StapelContainer>(); if (spalte != null) //es wurde eine spalte/container auf die Endablage gezogen { if (spalte.ziehendeKarten.Count == 1) //wenn mehrere karten einer anderen spalte hierher gezogen werden { Karte untersteKarte = spalte.ziehendeKarten[0]; if (passt(untersteKarte.aktuelleBeschreibung())) //Kann Karte abgelegt werden? { //Kartenstapel kartenstapel = FindObjectOfType<Kartenstapel>(); kartenstapel.kartenContainer = gameObject; kartenstapel.erzeugeKarteInSzene().setzeBeschreibung(untersteKarte.aktuelleBeschreibung(), false); spalte.EntferneObersteKarte(); SpielprinzipPatienceHarfe erweiterung = kartenstapel.GetComponent <SpielprinzipPatienceHarfe>(); erweiterung.PruefeObGewonnen(); } } } }