Beispiel #1
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);
                }
            }
        }
Beispiel #2
0
 public void Ausspielen(int index)
 {
     if (index == -1)
     {
         return;
     }
     if (handKarten.Count != 0)
     {
         Diener d = handKarten[index] as Diener;
         tischDiener.Add(d);
         d.MeinOrt = Karte.Ort.Tisch;
         ZeichnenTisch(this);
         if (!(d.Ansturm))
         {
             d.Warten = 1;
         }
         handKarten.RemoveAt(index);
         ZeichnenHand(this);
     }
 }