public class TabelleFuerW123 {
/*
* @author: Necessarykey
*/
int unitBuildCost[] = {90,130,130,475,950,700,820};
int baseUpgradeCost[][] = {{256,224,296},{360,320,312},{280,336,328},{440,496,416},{600,496,416},{560,800,192},{640,960,560}};
int[][] calculatedUnits = new int[7][9];
public TabelleFuerW123() {
calculateUnits();
//Das "@" bei den table-tags muss weg. Irgendwie spinnt das Forum trotz code-tag...
System.out.println("[@table=\"width: 700, class: grid\"]");
System.out.println("[tr]\n\t[td][/td]\n\t[td]Speer[/td]\n\t[td]Schwert[/td]\n\t[td]Axt[/td]\n\t[td]LKav[/td]\n\t[td]SKav[/td]\n\t[td]Ramme[/td]\n\t[td]Katas[/td]\n[/tr]");
printUnitTable();
System.out.println("[/@table]");
}
private void calculateUnits() {
for (int unit = 0; unit < 7; unit++) {
double oldResearchFactor = 1;
for (int researchLevel = 0; researchLevel < 9; researchLevel++) {
calculatedUnits[unit][researchLevel] = (int) ((getUnitsWorthUpgrade(unit,researchLevel)*oldResearchFactor)/0.05);
oldResearchFactor += 0.05;
}
}
}
private int getUnitsWorthUpgrade(int unit, int level) {
int upgradeCost = 0;
double blubb;
for (int i = 0; i < 3; i++) {
blubb = baseUpgradeCost[unit][i] * Math.pow(1.6,level+1);
upgradeCost += (int) Math.round(blubb);
}
return (upgradeCost/unitBuildCost[unit]) + 1;
}
private void printUnitTable() {
for (int i = 0; i < 9; i++) {
System.out.println("[tr]\n\t[td]Forschungsstufe "+(i+2)+"[/td]");
for (int j = 0; j < 7; j++) {
System.out.println("\t[td]"+calculatedUnits[j][i]+"[/td]");
}
System.out.println("[/tr]");
}
}
public static void main(String[] args) {
new TabelleFuerW123();
}
}