private Client_Response angriff(SpielEreigniss Ereigniss) {


            
        //***********wechsel der Phase????********************
        if (Ereigniss.phasenwechsel)
            return angriff_verlassen();

        //***********Darf der Angriff durchgefuehrt werden???********************
        
        if (!(DieSpielwelt.pruefe_Attacke(Ereigniss.erstesLand, Ereigniss.zweitesLand, aktueller_Spieler))) {
            aktueller_Response = new Client_Response(DieSpielwelt, Zustand, aktueller_Spieler, true);
            throw new IllegalArgumentException("can not attack!");
        }
        if ((Ereigniss.erstesLand.gib_anzahl_armeen()-Ereigniss.anz_Armeen)<=0) throw new IllegalArgumentException("To many armis are selected!");
        
        //***********Angriff an sich********************
  
        Land angreifer_Land = Ereigniss.erstesLand;
        Land verteidiger_Land = Ereigniss.zweitesLand;
        int angreifer = Ereigniss.anz_Armeen;
        
        int angreifer_wuerfel=0;
        int verteidiger_wuerfel=0;
        
        if (angreifer>3) angreifer_wuerfel=3; else angreifer_wuerfel=angreifer;
        if (verteidiger_Land.gib_anzahl_armeen()>2) verteidiger_wuerfel=2; else verteidiger_wuerfel=verteidiger_Land.gib_anzahl_armeen();
        //if (verteidiger_wuerfel>angreifer_wuerfel) verteidiger_wuerfel=angreifer_wuerfel;
        
        //wuerfeln...
        int[] angreifer_wuerfel_array = new int[angreifer_wuerfel];
        int[]verteidiger_wuerfel_array = new int[verteidiger_wuerfel];        
        wuerfele(angreifer_wuerfel_array, verteidiger_wuerfel_array);    
        
        //vergleichen
        int tote_angreifer=0;
        int tote_verteidiger=0;
        
        for (int i=0; i<verteidiger_wuerfel_array.length;i++){
                if (angreifer_wuerfel_array[i]<=verteidiger_wuerfel_array[i]){
                    tote_angreifer++;
                }else{
                    tote_verteidiger++;
                }     
        }
        
        //Angriff durchfuehren
        DieSpielwelt.fuehre_Angriff_durch(tote_angreifer, angreifer, tote_verteidiger, angreifer_Land, verteidiger_Land);
        
        //Spiel zu ende?
        
        if (pruefe_Spiel_ende()) {
            Zustand = Spielzustaende.Beenden;
        }  
        
        //Baue Response
        
        aktueller_Response = new Client_Response(DieSpielwelt, Zustand, aktueller_Spieler, false);
        aktueller_Response.angreifer_wuerfel = angreifer_wuerfel_array;
        aktueller_Response.verteidiger_wuerfel = verteidiger_wuerfel_array;
        
        return aktueller_Response;
    }