Changeset 941

Show
Ignore:
Timestamp:
05/18/08 15:49:04 (4 months ago)
Author:
takkaria
Message:

Fix the statistics package for the new gold distribution.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/wiz-stats.c

    r939 r941  
    105105 */ 
    106106 
    107 #define TRIES   10000 
     107#define TRIES   5000 
    108108size_t o_count[TRIES]; 
    109109size_t gold_count[TRIES]; 
     
    126126 
    127127 
    128 float avg_drop_by_level[] = 
    129 { 
    130         /* 0   1      2      3      4      5      6      7      8      9   */ 
    131         10.7,  11.11, 11.53, 11.94, 12.35, 12.76, 13.18, 13.59, 14,    14.41, 
    132         14.83, 15.24, 15.65, 16.06, 16.48, 16.89, 17.3,  17.71, 18.13, 18.54, 
    133         18.95, 19.36, 19.78, 20.38, 21.2,  22.03, 22.85, 23.68, 24.5,  25.33, 
    134         26.15, 26.98, 27.8,  28.63, 29.45, 30.28, 31.1,  31.93, 32.75, 33.58, 
    135         34.4,  35.45, 37.1,  38.75, 40.4,  42.05, 43.7,  45.35, 47,    48.65, 
    136         50.3,  51.95, 54.2,  57.5,  60.8,  64.1,  77,    93.5,  110,   125 
    137 }; 
    138  
    139  
    140128double mon_drop; 
    141129double mon_gold; 
     
    143131inline static void stats_print_m(void) 
    144132{ 
    145         float gold_per_drop; 
    146  
    147         if ((unsigned)p_ptr->depth >= N_ELEMENTS(avg_drop_by_level)) 
    148                 gold_per_drop = avg_drop_by_level[N_ELEMENTS(avg_drop_by_level)-1]; 
    149         else 
    150                 gold_per_drop = avg_drop_by_level[p_ptr->depth]; 
     133        float level_avg = 2*p_ptr->depth + 20; 
    151134 
    152135        result_add("mon-drops", format("%f", mon_drop / TRIES)); 
    153         result_add("mon-gold", format("%f", (mon_gold * gold_per_drop) / TRIES)); 
     136        result_add("mon-gold", format("%f", mon_gold * level_avg / TRIES)); 
    154137} 
    155138 
     
    166149 
    167150        if (f0 & RF0_DROP_4) prob += /*6.0*/ 4.0; 
    168         else if (f0 & RF0_DROP_3) prob += /*4.5*/ 3.0; 
    169         else if (f0 & RF0_DROP_2) prob += /*3.0*/ 2.0; 
    170         else if (f0 & RF0_DROP_1) prob += /*1.5*/ 1.0; 
     151        if (f0 & RF0_DROP_3) prob += /*4.5*/ 3.0; 
     152        if (f0 & RF0_DROP_2) prob += /*3.0*/ 2.0; 
     153        if (f0 & RF0_DROP_1) prob += /*1.5*/ 1.0; 
    171154 
    172155        if (gold_ok && item_ok)