using System;
using System.Collections.Generic;
using System.Text;

namespace CSharpProjekt {
    public abstract class MilitärEinheit {
        int angriff; //Kampfstärke beim Angriff auf offenem Feld
        int stadtAngriff; // Kampfstärke beim Angriff auf die gegnerische Stadt
        int verteidigung; // Kampfstärke bei der Verteidigung auf offenem Feld
        int stadtVerteidigung; // Kampfstärke bei der Verteidigung der Stadt
        int lebensPunkteMax;
        int lebensPunkte;
        int regeneration = 1; // bestimmt wie viele Lebenspunkte zu Beginn der Runde regeneriert werden
        int verfolgen = 0; // bestimmt den Bonusschaden nach einem gewonnen Kampf auf offenem Feld

        Truppen einheitenTyp = Truppen.schwert;

        public int Verteidigung {
            get { return verteidigung; }
            set { verteidigung = value; }
        }
        public int StadtAngriff {
            get { return stadtAngriff; }
            set { stadtAngriff = value; }
        }
        public int Angriff {
            get { return angriff; }
            set { angriff = value; }
        }
        public int StadtVerteidigung {
            get { return stadtVerteidigung; }
            set { stadtVerteidigung = value; }
        }
        public Truppen EinheitenTyp {
            get { return einheitenTyp; }
            set { einheitenTyp = value; }
        }
        public int LebensPunkteMax {
            get { return lebensPunkteMax; }
            set { lebensPunkteMax = value; }
        }
        public int LebensPunkte {
            get { return lebensPunkte; }
            set { lebensPunkte = value; }
        }
        public int Regeneration {
            get { return regeneration; }
            set { regeneration = value; }
        }

        public void Regenerieren() {
            lebensPunkte += regeneration;
            if (lebensPunkte > lebensPunkteMax)
                lebensPunkte = lebensPunkteMax;
        }
        public int Verfolgen {
            get { return verfolgen; }
            set { verfolgen = value; }
        }
    }
}
