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