Exemple #1
0
        private void ZimmerKartenAnzeigen()
        {
            panelZimmerKarten.Visible = true;
            List <Karte> zimmer       = s.ArbeitszimmerKarten;
            int          cardCount    = 0;
            int          controlCount = 0;
            int          nextX        = 0;
            int          x            = 5;
            int          y            = 0;
            int          width;
            int          height;

            for (cardCount = startIndex; cardCount < endIndex; cardCount++)
            {
                if (cardCount < s.ArbeitszimmerKarten.Count())
                {
                    Karte      k = s.ArbeitszimmerKarten[cardCount];
                    PictureBox p = (PictureBox)panelZimmerKarten.Controls[controlCount];
                    k.ObjectControl = p;
                    Image i = k.RefElement.Front;

                    if (k.RefElement.GetType() == typeof(Idee))
                    {
                        y      = 0;
                        height = 345;
                        width  = 225;
                        nextX  = 235;
                    }
                    else
                    {
                        y      = 45;
                        height = 300;
                        width  = 180;
                        nextX  = 190;
                    }

                    p.Image = k.RefElement.Front;
                    p.SetBounds(x, y, width, height);
                    p.Visible = true;
                    p.Show();

                    x += nextX;
                    controlCount++;
                }
            }

            if ((s.ArbeitszimmerKarten.Count() > 5) && (startIndex + 6 <= s.ArbeitszimmerKarten.Count()))
            {
                buttonWeiter.Enabled = true;
            }
            else
            {
                buttonWeiter.Enabled = false;
            }

            if (startIndex == 0)
            {
                buttonZurueck.Enabled = false;
            }
        }
Exemple #2
0
        public void RefreshFoyerTable(TableLayoutPanel t, Spieler sp)
        {
            int cellIndex = 0;

            for (int z = 0; z < 2; z++)
            {
                for (int s = 0; s < 2; s++)
                {
                    PictureBox p = (PictureBox)t.Controls[cellIndex];
                    p.Image   = null;
                    p.Visible = false;

                    if (cellIndex < sp.DienerPlaettchen.Count())
                    {
                        Karte k = sp.DienerPlaettchen[cellIndex];

                        if (t == tableLayoutPanelFoyer)
                        {
                            p.Image = k.RefElement.Front;
                        }
                        else
                        {
                            p.Image = Diener.Back;
                        }

                        p.SizeMode = PictureBoxSizeMode.StretchImage;
                        p.Visible  = true;
                        p.Dock     = DockStyle.Fill;
                        t.Controls.Add(p, z, s);
                        t.Controls.SetChildIndex(p, cellIndex);
                    }
                    cellIndex++;
                }
            }
        }
Exemple #3
0
        public void BuildServantBank()
        {
            //hier die eigentlichen DienerPlättchen erstellen
            //und dem Vorrat hinzufügen

            foreach (Diener d in DienerElemente)
            {
                for (int j = 0; j < d.Quantity; j++)
                {
                    Karte neu = new Karte(d);
                    DienerVorrat.Add(neu);
                }
            }
        }
Exemple #4
0
        public void BuildIdeaBank()
        {
            //hier die eigentlichen IdeeKarten erstellen
            //und dem Vorrat hinzufügen

            foreach (Idee i in IdeenElemente)
            {
                for (int j = 0; j < i.Quantity; j++)
                {
                    Karte neu = new Karte(i);
                    IdeenVorrat.Add(neu);
                }
            }
        }
Exemple #5
0
        public void BuildComponentBank()
        {
            //hier die eigentlichen KompKarten erstellen
            //und dem Vorrat hinzufügen

            foreach (Komponente k in KomponentenElemente)
            {
                for (int j = 0; j < k.Quantity; j++)
                {
                    Karte neu = new Karte(k);
                    KomponentenVorrat.Add(neu);
                }
            }
        }
        private void buttonPatentieren_Click(object sender, EventArgs e)
        {
            myForm.AuswahlHinzufuegen <Idee>();

            if (s.AktuelleAuswahl.Count() != 1)
            {
                MessageBox.Show("Entscheide dich für EINE Idee.");
                s.AktuelleAuswahl.Clear();
            }

            else
            {
                Karte k = s.AktuelleAuswahl.Last();
                Idee  i = (Idee)k.RefElement;

                party.Patentamt_GoldBerechnen(i);

                if (i.Erfunden)
                {
                    MessageBox.Show("Diese Idee wurde bereits patentiert.");
                }
                else if (!party.Patentamt_ErfindungPruefen(i))
                {
                    MessageBox.Show("Es wurden noch nicht alle notwendigen Ideen erfunden, um diese Idee zu patentieren.");
                }
                else if (!party.Patentamt_GoldPruefen())
                {
                    MessageBox.Show("Du hast nicht genuegend Gold, um diese Idee zu patentieren.");
                }
                else if (!party.Patentamt_KomponentenPruefen(i))
                {
                    MessageBox.Show("Du hast nicht alle nötigen Komponenten, um diese Idee zu patentieren.");
                }
                else
                {
                    party.Patentamt_IdeePatentieren(i);

                    myForm.KartenEntfernen();
                    myForm.buttonKartenAnzeigen_Click(this, e);
                    myForm.RefreshAllPlayerInfo();
                    myForm.RefreshDeckInfo();
                    myForm.RefreshBoard();
                    myForm.BlockActions();

                    Close();
                }
            }
            s.AktuelleAuswahl.Clear();
        }
        public void Foyer_Anheuern(Karte k)
        {
            Spieler s = ActivePlayer;

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

            GameManager.DealSpecific(s.DienerPlaettchen, DienerNachziehDeck, k);
            s.DienerPlaettchen = GameManager.SortCards(s.DienerPlaettchen);
            s.AnzahlAktionen--;
            s.Gold -= 2;
        }
        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;
        }
        public void DealSpecific(List<Karte> hand, List<Karte> drawDeck, Karte k)
        {
            Karte toRemove = null;

            foreach (Karte ka in drawDeck)
            {
                if (ka.RefElement.GlobalIndex == k.RefElement.GlobalIndex)
                {
                    hand.Add(ka);
                    toRemove = ka;
                    break;
                }
            }

            drawDeck.Remove(toRemove);
            SortCards(hand);
        }
 public void Discard(List<Karte> hand, List<Karte> discardDeck, Karte toDiscard, int index)
 {
     discardDeck.Add(toDiscard);
     hand.Remove(toDiscard);
 }