static void Main(string[] args) { //Konsolenfenster einrichten Console.SetWindowSize(Console.LargestWindowWidth, Console.LargestWindowHeight); if (!ConsoleDisplayMode(CONSOLE_MODE.CONSOLE_FULLSCREEN_MODE)) { Console.WriteLine("Error: " + GetLastError()); } Console.OutputEncoding = System.Text.Encoding.Unicode; Console.BackgroundColor = ConsoleColor.Blue; Console.Clear(); Console.CursorVisible = false; //Spiel startet Spieler s1 = new Spieler(); //List<Karte> k1 = s1.stapel; Spieler s2 = new Spieler(); //List<Karte> k2 = s2.stapel; Zeichnen.Held(s1); Zeichnen.Held(s2); s1.stapel.Add(new Katze(s1)); s1.stapel.Add(new Tiger(s1)); s1.stapel.Add(new Papagei(s1)); s1.stapel.Add(new Bär(s1)); s1.stapel.Add(new Löwe(s1)); s1.stapel.Add(new Papagei(s1)); s1.stapel.Add(new Marder(s1)); s1.stapel.Add(new Nashorn(s1)); s1.stapel.Add(new Schwarzbär(s1)); s1.stapel.Add(new Katze(s1)); s1.Mischen(); s2.stapel.Add(new Katze(s2)); s2.stapel.Add(new Bär(s2)); s2.stapel.Add(new Katze(s2)); s2.stapel.Add(new Papagei(s2)); s2.stapel.Add(new Marder(s2)); s2.stapel.Add(new Nashorn(s2)); s2.stapel.Add(new Schwarzbär(s2)); s2.stapel.Add(new Tiger(s2)); s2.stapel.Add(new Löwe(s2)); s2.stapel.Add(new Papagei(s2)); s2.Mischen(); while (s1.KannSpielen && s2.KannSpielen && Spieler.sieger == 0) { s1.ZugBeginnt(); s1.Nachziehen(); s1.AusspielenWählen(); s1.AngreifenWählen(); s2.ZugBeginnt(); s2.Nachziehen(); s2.AusspielenWählen(); s2.AngreifenWählen(); } Console.SetCursorPosition(0, 0); }
public void Angreifen(int dienerIndex, int gegnerIndex) { Diener diener = tischDiener[dienerIndex]; diener.Warten = 1; if (gegnerIndex < 0) { Gegenspieler.held.Leben -= diener.Angriff; Zeichnen.Held(Gegenspieler); if (Gegenspieler.held.Leben < 1) { SpielBeenden(); } } else { Diener gegner = Gegenspieler.tischDiener[gegnerIndex]; Diener gegnerR = gegnerIndex != Gegenspieler.tischDiener.Count - 1? Gegenspieler.tischDiener[gegnerIndex + 1]:null; Diener gegnerL = gegnerIndex != 0? Gegenspieler.tischDiener[gegnerIndex - 1]:null; gegner.Leben -= diener.Angriff; if (diener.Prankenhiebe) { if (gegnerL != null) { gegnerL.Leben--; } if (gegnerR != null) { gegnerR.Leben--; } } if (gegner.Leben < 1 || (gegnerL != null && gegnerL.Leben < 1) || (gegnerR != null && gegnerR.Leben < 1)) { Gegenspieler.tischDiener.RemoveAt(gegnerIndex); ZeichnenTisch(Gegenspieler); } diener.Leben -= gegner.Angriff; if (diener.Leben < 1) { tischDiener.RemoveAt(dienerIndex); ZeichnenTisch(this); } } }