Annotation of researchv10no/games/mille/roll.c, revision 1.1.1.1

1.1       root        1: #ifndef lint
                      2: static char sccsid[] = "@(#)roll.c     4.1 12/24/82";
                      3: #endif
                      4: 
                      5: /*
                      6:  *     This routine rolls ndie nside-sided dice.
                      7:  */
                      8: 
                      9: # define       reg     register
                     10: 
                     11: # ifndef vax
                     12: # define       MAXRAND 32767L
                     13: 
                     14: roll(ndie, nsides)
                     15: int    ndie, nsides; {
                     16: 
                     17:        reg long        tot;
                     18:        reg unsigned    n, r;
                     19: 
                     20:        tot = 0;
                     21:        n = ndie;
                     22:        while (n--)
                     23:                tot += rand();
                     24:        return (int) ((tot * (long) nsides) / ((long) MAXRAND + 1)) + ndie;
                     25: }
                     26: 
                     27: # else
                     28: 
                     29: roll(ndie, nsides)
                     30: reg int        ndie, nsides; {
                     31: 
                     32:        reg int         tot, r;
                     33:        reg double      num_sides;
                     34: 
                     35:        num_sides = nsides;
                     36:        tot = 0;
                     37:        while (ndie--)
                     38:                tot += (r = rand()) * (num_sides / 0x7fff) + 1;
                     39:        return tot;
                     40: }
                     41: # endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.