import java.util.*; /** * @author Nicklas Hjalmarsson * @version 1.0 * * Class for edit things every turn */ public class ClientProcessing{ ClientThread c; int researchcosts = 0; // Sätts utav research spell public ClientProcessing(ClientThread ct){ c = ct; } /** * Called after info from the server gets back */ public void postprocess(){ //Baptize hatchlings StringTokenizer tok = new StringTokenizer(c.dragonNames,"|"); for(int i=0;i 1){ System.out.println("Several Areas"+dragon.name); //Ta bort draken ur alla rutor den finns i Enumeration ca = collectedAreas.elements(); while(ca.hasMoreElements()){ ((Area)ca.nextElement()).removeDragon(dragon.name); } //Lägg till draken på den senaste rutan dragon.getArea(c.map).addDragon(dragon.name); } else if (collectedAreas.size() == 1) { System.out.println("One Areas"+dragon.name); } else System.out.println("Strange number of Areas"); } //Ta bort de spell som kastats under rundan c.spellBook.spellCasts.removeAllElements(); } /** * Called b4 sending info to the server */ public void preprocess(){ City ci = (City)c.cities.get(c.homeCityName); Area homeArea = ci.getArea(c.map); int income = 0; int costs = 0; //Uppdatera drakarna Enumeration dragons = c.dragons.elements(); int dragoncosts= 0; while(dragons.hasMoreElements()){ Dragon dragon = (Dragon)dragons.nextElement(); if(dragon.Owner == c.playerNr && !dragon.fake){ //Öka draken egeneskaper dragon.Age++; dragon.incStr(1); dragon.incSpd(1); dragon.incPcp(1); dragon.incWis(1); //Hela upp draken if((dragon.getArea(c.map) == homeArea) && ((c.money - dragon.cost()) >= 0)){ //Det kostar att föda drakar dragoncosts += dragon.cost(); c.money -= dragon.cost(); dragon.Health += (100-dragon.Health)/5 + 5; dragon.Weariness -= dragon.Weariness/2 + 10; } //Om drakarna ar ute eller man ej har råd att betala går det långsammare else{ dragon.Health += (100-dragon.Health)/10; dragon.Weariness -= dragon.Weariness/3; } dragon.tuneValues(); } } //Uppdatera städerna Enumeration cities = c.cities.elements(); int buildcosts= 0; while(cities.hasMoreElements()){ City city = (City)cities.nextElement(); if(city.Owner == c.playerNr){ //Utför defencebyggen //om man ej kan betala if(c.money-city.defenceInvestment<0){ city.defenceInvestment = c.money; c.money = 0; }else c.money -= city.defenceInvestment; buildcosts+= city.defenceInvestment; int defgrtmp = city.defenceInvestment/50; if(city.Defence_growth>defgrtmp) city.Time_to_Defence += city.defenceInvestment/16; else{ city.Time_to_Defence += city.defenceInvestment/8; city.Defence_growth = (short)defgrtmp; } city.incDef(city.Defence_growth); city.Time_to_Defence--; //Sparar vad som ej kunde användas vid bygget city.defenceInvestment = city.defenceInvestment % 50; //Utför developmentbyggen //om man ej kan betala if(c.money-city.developmentInvestment < 0){ city.developmentInvestment = c.money; c.money = 0; } else c.money -= city.developmentInvestment; buildcosts+= city.developmentInvestment; int devgrtmp = city.developmentInvestment/50; if(city.Development_growth>devgrtmp) city.Time_to_Development += city.developmentInvestment/16; else{ city.Time_to_Development += city.developmentInvestment/8; city.Development_growth = (short)devgrtmp; } city.incDev(city.Development_growth); city.Time_to_Development--; //Sparar vad som ej kunde användas vid bygget city.developmentInvestment = city.developmentInvestment % 50; //Kolla uppror // city.Uprising += (city.Taxrate-25)+(city.Population/5-10); //DEPENDS ON POPULATION TOO!!!!!???? System.out.println("Upris."+city.Uprising); //Samla in skatter income += city.tax(); c.money += city.tax(); //Slutligen kolla så att alla värden är rätt city.tuneValues(); //Öka Befolkning city.increasePopulation(); } } //Äggförändringar int eggcosts= 0; for(int i = 0;i100) c.mana.setValue(100); else c.mana.setValue(mana); //inkomster utgifter String B = "\t Income Cost\n"; B +="Cities\t\t"+income+"\t\n"; B +="Dragons\t\t\t"+dragoncosts+"\n"; B +="Eggs\t\t\t"+eggcosts+"\n"; B +="Research\t\t"+researchcosts+"\n"; B +="Improvements\t\t"+buildcosts+"\n"; B +="Total\t\t"+income+"\t"+(dragoncosts+buildcosts+eggcosts+researchcosts)+"\n"; System.out.println(B); c.Finances.setText(ExpandTab.expand(B)); } /** * Only for testing purposes */ public static void main(String[] args){ try{ ClientThread ct = new ClientThread(new Client()); ClientProcessing cp = new ClientProcessing(ct); // ct.createMap(); Dragon d = new Dragon(ct.map[0][0]); ct.dragons.put(d.name,d); Dragon d2 = new Dragon(); ct.dragons.put(d2.name,d2); Dragon d3 = new Dragon(ct.map[0][0]); ct.dragons.put(d3.name,d3); ct.map[1][1].addDragon(d.name); cp.postprocess(); } catch(Exception e){} } }