public void KlickAufStapel()
    {
        Debug.Log("Klick auf Stapel");
        Kartenstapel stapel = GetComponent <Kartenstapel>(); //Verweis auf Kartenstapelscript

        if (vorschauKarte.aktuelleBeschreibung() != null)
        {
            stapel.legeKarteZurueck(vorschauKarte.aktuelleBeschreibung());
        }

        if (stapel.istLeer())
        {
            stapel.gameObject.SetActive(false);
        }
        else
        {
            Kartenbeschreibung gezogeneKarte = stapel.hebeObersteKarteAb(); //Karte vom Stapel abheben (nur Wert)
            vorschauKarte.setzeBeschreibung(gezogeneKarte, false);

            if (stapel.istLeer())
            {
                stapel.gameObject.SetActive(false);
            }
        }
    }
    /*private void Update()
     * {
     *  if (Input.GetKeyUp(KeyCode.N)) WerIstDran().RundeBeenden();
     * }*/

    void Start()
    {
        stapel.mischeStapel();

        foreach (MauMauPartei partei in spielparteien)
        {
            GibKarten(5, partei);
        }

        offeneKarte.setzeBeschreibung(stapel.hebeZufaelligeKarteAb(), false);
        NaechsterSpieler();
    }
Exemple #3
0
 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 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);
        }
    }
Exemple #5
0
 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();
 }
Exemple #6
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);
     }
 }
Exemple #7
0
    // 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 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);
        }
    }
Exemple #11
0
 void Start()
 {
     stapel.mischeStapel();
     GibKarten(5, spielerHandstapel);
     offeneKarte.setzeBeschreibung(stapel.hebeZufaelligeKarteAb(), false);
 }