public void AusspielenWählen() { if (handKarten.Count == 0 || tischDiener.Count == 9) { return; } Menü.Ausspielen(this); int eingabe; while (true) { Menü.Fehler(); eingabe = Console.ReadKey(true).KeyChar - '0'; if (eingabe == 0) { break; } if (eingabe > 0 && eingabe <= handKarten.Count) { if (handKarten[eingabe - 1] is Diener diener) { if (diener.Angriff <= Runde) { break; } else { Menü.Fehler($"{diener.GetType().Name} kann noch nicht ausgespielt werden!"); } } else { break; } } } Ausspielen(eingabe - 1); Menü.Ausspielen(); }
public void AngreifenWählen() { while (KannAngreifen && sieger == 0) { int eingabe, dienerIndex, gegnerIndex; Menü.AngreifenDiener(this); while (true) { Menü.Fehler(); eingabe = Console.ReadKey(true).KeyChar - '0'; if (eingabe == 0) { break; } if (eingabe >= 1 && eingabe <= tischDiener.Count) { if (tischDiener[eingabe - 1].Warten == 0) { break; } else { Menü.Fehler($"{tischDiener[eingabe - 1].GetType().Name} kann nicht angreifen!"); } } } Menü.AngreifenDiener(); if (eingabe == 0) { return; } dienerIndex = eingabe - 1; Zeichnen.Markieren(this, dienerIndex); if (Gegenspieler.tischDiener.Count == 0) { Zeichnen.Markieren(Gegenspieler, -1); Zeichnen.Markieren(this, dienerIndex, false); Zeichnen.Markieren(Gegenspieler, -1, false); Angreifen(dienerIndex, -1); } else { List <int> spots = new List <int>(); for (int index = 0; index < Gegenspieler.tischDiener.Count; index++) { if (Gegenspieler.tischDiener[index].Spott) { spots.Add(index); } } while (true) { Menü.AngreifenGegner(Gegenspieler); Menü.Fehler(); eingabe = Console.ReadKey(true).KeyChar - '0'; if (spots.Count != 0) { if (eingabe == 0) { Menü.Fehler($"Held kann nicht angegriffen werden. Spott"); } if (eingabe >= 1 && eingabe <= Gegenspieler.tischDiener.Count) { if (Gegenspieler.tischDiener[eingabe - 1].Spott) { break; } else { Menü.Fehler($"Dieser Diener kann nicht angegriffen werden. Spott"); } } } else if (eingabe >= 0 && eingabe <= Gegenspieler.tischDiener.Count) { break; } } Menü.AngreifenGegner(); gegnerIndex = eingabe - 1; Zeichnen.Markieren(Gegenspieler, gegnerIndex); Zeichnen.Markieren(this, dienerIndex, false); Zeichnen.Markieren(Gegenspieler, gegnerIndex, false); Angreifen(dienerIndex, gegnerIndex); } } }