Rare Collector
Atropos is offline
Join Date: Dec 2011
Location: World of Pain
Posts: 896
|
/*********************************************/
/* Programm: Calculator.c */
/* Version :1.0 Beta */
/* by Atropos */
/*********************************************/
#include <stdio.h>
int main(void)
{
int ExpLevels[100] = {1500,3000,5600,8100,12100,15600,21000,25500,32300 ,75600,
46000,55000,64800,75400,86800,99000,112000,125800, 140400,311600,
176300,193500,216200,235200,260100,280900,308000,3 30600,359500,768600,
415800,442000,475700,503700,539600,569400,607500,6 39100,679400,1425600,
755300,799000,843900,890000,937300,985800,1035500, 1086400,1150000,2430800,
1293200,1362500,1444800,1518000,1604800,1681900,17 73200,1854200,1950000,4069800,
2135200,2237900,2343000,2450500,2560400,2672700,27 87400,2904500,3024000,6291800,
3286800,3413800,3560400,3692500,3844800,3982000,41 40000,4282300,4446000,9186800,
4762800,4935200,5110600,5289000,5470400,5654800,58 42200,6032600,6226000,12844800,
6644400,6847100,7076000,7285000,7520800,7736100,79 78800,8200400,8450000,17355800};
int level_toon, level_skill, level_up, level_missing = 0,
exp_gain, exp_total = 0, exp_missing = 0,
gold_cost,
i;
double troph = 0, gold_total = 0, TC;
int exp_penalty0 = 0, exp_penalty10 = 0, exp_penalty20 = 0, exp_penalty30 = 0, exp_penalty40 = 0,
exp_penalty50 = 0, exp_penalty60 = 0, exp_penalty70 = 0, exp_penalty80 = 0, exp_penalty90 = 0,
exp_penalty95 = 0;
int level_penalty0 = 0, level_penalty10 = 0, level_penalty20 = 0, level_penalty30 = 0, level_penalty40 = 0,
level_penalty50 = 0, level_penalty60 = 0, level_penalty70 = 0, level_penalty80 = 0, level_penalty90 = 0,
level_penalty95 = 0;
puts("---------- NODIATIS Expirience Calculator ----------\n");
//Input area
printf("Character Level:"); scanf("%d", &level_toon);
printf("Skill Level:"); scanf("%d", &level_skill);
printf("Level up to:"); scanf("%d", &level_up);
putchar('\n');
printf("Exp gain per Trophy:"); scanf("%d", &exp_gain);
printf("Gold per 1k Exp:"); scanf("%d", &gold_cost);
//Calculations
level_missing = level_up - level_skill;
//Missing Exp
for(i=level_skill;i<level_up;i++)
exp_missing += ExpLevels[i];
//////Level penalty differentiation
for(i=0;i<level_missing;i++){
if(level_skill + i < level_toon) level_penalty0++;
if(level_skill + i == level_toon) level_penalty10++;
if(level_skill + i == level_toon + 1) level_penalty20++;
if(level_skill + i == level_toon + 2) level_penalty30++;
if(level_skill + i == level_toon + 3) level_penalty40++;
if(level_skill + i == level_toon + 4) level_penalty50++;
if(level_skill + i == level_toon + 5) level_penalty60++;
if(level_skill + i == level_toon + 6) level_penalty70++;
if(level_skill + i == level_toon + 7) level_penalty80++;
if(level_skill + i == level_toon + 8) level_penalty90++;
if(level_skill + i >= level_toon + 9) level_penalty95++;
}
//////Exp counting for each penalty level
//0% Exp penalty
if (level_penalty0 > 0)
for(i=0;i<level_penalty0;i++)
exp_penalty0 += ExpLevels[level_skill+i];
//10% Exp penalty
if (level_penalty10 > 0)
exp_penalty10 += ExpLevels[level_toon] * 1.1;
//20% Exp penalty
if (level_penalty20 > 0)
exp_penalty20 += ExpLevels[level_toon+1] * 1.2;
//30% Exp penalty
if (level_penalty30 > 0)
exp_penalty30 += ExpLevels[level_toon+2] * 1.3;
//40% Exp penalty
if (level_penalty40 > 0)
exp_penalty40 += ExpLevels[level_toon+3] * 1.4;
//50% Exp penalty
if (level_penalty50 > 0)
exp_penalty50 += ExpLevels[level_toon+4] * 1.5;
//60% Exp penalty
if (level_penalty60 > 0)
exp_penalty60 += ExpLevels[level_toon+5] * 1.6;
//70% Exp penalty
if (level_penalty70 > 0)
exp_penalty70 += ExpLevels[level_toon+6] * 1.7;
//80% Exp penalty
if (level_penalty80 > 0)
exp_penalty80 += ExpLevels[level_toon+7] * 1.8;
//90% Exp penalty
if (level_penalty90 > 0)
exp_penalty90 += ExpLevels[level_toon+8] * 1.9;
//95% Exp penalty
if (level_penalty95 > 0)
for(i=0;i<level_penalty95;i++)
exp_penalty95 += (ExpLevels[level_toon+i+9] * 1.95);
exp_total = exp_penalty0 + exp_penalty10 + exp_penalty20 + exp_penalty30 + exp_penalty40 + exp_penalty50 + exp_penalty60 + exp_penalty70 + exp_penalty80 + exp_penalty90 + exp_penalty95;
troph = (double)exp_total / (double)exp_gain;
gold_total = troph * (((double)exp_gain / 1000) * (double)gold_cost);
TC = gold_total/250000;
//Data output
puts("\n\n----------------- Calculation result ----------------");
/////Penalty Level numbers Output
printf("\n%d Level(s) without penalties (%d Exp)\n", level_penalty0, exp_penalty0);
printf("%d Level with 10%% penalty (%d Exp)\n", level_penalty10, exp_penalty10);
printf("%d Level with 20%% penalty (%d Exp)\n", level_penalty20, exp_penalty20);
printf("%d Level with 30%% penalty (%d Exp)\n", level_penalty30, exp_penalty30);
printf("%d Level with 40%% penalty (%d Exp)\n", level_penalty40, exp_penalty40);
printf("%d Level with 50%% penalty (%d Exp)\n", level_penalty50, exp_penalty50);
printf("%d Level with 60%% penalty (%d Exp)\n", level_penalty60, exp_penalty60);
printf("%d Level with 70%% penalty (%d Exp)\n", level_penalty70, exp_penalty70);
printf("%d Level with 80%% penalty (%d Exp)\n", level_penalty80, exp_penalty80);
printf("%d Level with 90%% penalty (%d Exp)\n", level_penalty90, exp_penalty90);
printf("%d Level(s) with 95%% penalty (%d Exp)\n\n", level_penalty95, exp_penalty95);
printf("Expirience total:%d (with penalties)\n\n", exp_total);
printf("Expirience nescessary:%d\n", exp_missing);
printf("Trophies amount nescessary:%.1lf\n", troph);
printf("Totalgold cost:%.0lf / %.1lf Time Cards\n\n", gold_total,TC);
return (0);
}
And here's a script for it xD
Last edited by Atropos; 07-26-2012 at 12:05 AM..
|