예제 #1
0
        public void Haendler_Ziehen()
        {
            Spieler s = ActivePlayer;

            if (KomponentenNachziehDeck.Count() <= 1)
            {
                GameManager.RefreshDrawDeck(KomponentenNachziehDeck, KomponentenAblageDeck);
                KomponentenNachziehDeck = GameManager.ShuffleDeck(KomponentenNachziehDeck);
            }

            GameManager.Deal(s.HandKarten, KomponentenNachziehDeck, 2);
            s.HandKarten = GameManager.SortCards(s.HandKarten);
            s.AnzahlAktionen--;
        }
예제 #2
0
        public void Haendler_Kaufen(Karte k)
        {
            Spieler s = ActivePlayer;

            if (KomponentenNachziehDeck.Count() == 0)
            {
                GameManager.RefreshDrawDeck(KomponentenNachziehDeck, KomponentenAblageDeck);
                KomponentenNachziehDeck = GameManager.ShuffleDeck(KomponentenNachziehDeck);
            }

            GameManager.DealSpecific(s.HandKarten, KomponentenNachziehDeck, k);
            s.HandKarten = GameManager.SortCards(s.HandKarten);
            s.AnzahlAktionen--;
            s.Gold -= 2;
        }
예제 #3
0
        public void Haendler_Tauschen()
        {
            Spieler s = ActivePlayer;

            //falls nicht mehr genug Nachziehkarten, dann aus Ablagestapel neu bilden und mischen
            if (s.AktuelleAuswahl.Count() > KomponentenNachziehDeck.Count())
            {
                GameManager.RefreshDrawDeck(KomponentenNachziehDeck, KomponentenAblageDeck);
                KomponentenNachziehDeck = GameManager.ShuffleDeck(KomponentenNachziehDeck);
            }

            GameManager.Change(s.HandKarten, s.AktuelleAuswahl, KomponentenNachziehDeck, KomponentenAblageDeck);
            s.HandKarten = GameManager.SortCards(s.HandKarten);
            s.AktuelleAuswahl.Clear();
            s.AnzahlAktionen--;
        }
예제 #4
0
        public void InitializeGame(
            List <Karte> komponentenVorrat,
            List <Karte> ideenVorrat,
            List <Karte> dienerVorrat)
        {
            //Nachziehstapel bilden
            foreach (Karte k in komponentenVorrat)
            {
                KomponentenNachziehDeck.Add(k);
            }

            foreach (Karte k in ideenVorrat)
            {
                IdeenNachziehDeck.Add(k);
            }

            foreach (Karte k in dienerVorrat)
            {
                DienerNachziehDeck.Add(k);
            }

            //Die Stapel mischen
            KomponentenNachziehDeck = GameManager.ShuffleDeck(KomponentenNachziehDeck);
            IdeenNachziehDeck       = GameManager.ShuffleDeck(IdeenNachziehDeck);
            DienerNachziehDeck      = GameManager.ShuffleDeck(DienerNachziehDeck);

            //Spieler mit Starthand versehen & diese sortieren
            foreach (Spieler s in Players)
            {
                GameManager.Deal(s.HandKarten, KomponentenNachziehDeck, 2);
                s.StartIdeeZiehen(s.HandKarten, IdeenNachziehDeck);
                s.HandKarten = GameManager.SortCards(s.HandKarten);
            }

            //Startspieler zufällig festlegen
            ActivePlayer = Players[Rand.Next(0, Players.Count())];
        }