Encapsulate direct use of random(), srandom() in chance.c

Wrap roll0() around random(), and seed_prng() around srandom().  In
preparation of replacing the PRNG.
This commit is contained in:
Markus Armbruster 2012-08-14 19:23:12 +02:00
parent 8eb78a5a80
commit 866859e912
17 changed files with 87 additions and 49 deletions

View file

@ -34,7 +34,9 @@
#define CHANCE_H
extern int chance(double);
extern int roll0(int);
extern int roll(int);
extern int roundavg(double);
extern void seed_prng(unsigned);
#endif

View file

@ -29,6 +29,7 @@
* Known contributors to this file:
* Ken Stevens, 1995
* Steve McClure, 1998
* Markus Armbruster, 2006-2012
*/
#ifndef DAMAGE_H
@ -38,11 +39,11 @@
#define DPERCENT_DAMAGE(x) (100.0 * (x) / ((x) + 100.0))
#define DMINE_HITCHANCE(x) ((x) / ((x) + 20.0))
#define DMINE_LHITCHANCE(x) ((x) / ((x) + 35.0))
#define MINE_DAMAGE() (22 + random()%21)
#define MINE_LDAMAGE() (11 + random()%20)
#define MINE_DAMAGE() (22 + roll0(21))
#define MINE_LDAMAGE() (11 + roll0(20))
#define DTORP_HITCHANCE(range, vis) \
(0.9 / ((range)+1) + (((vis) < 6) ? (5-(vis)) * 0.03 : 0.0))
#define TORP_DAMAGE() (torpedo_damage + (random() % torpedo_damage) + \
(random() % torpedo_damage))
#define TORP_DAMAGE() (torpedo_damage + roll0(torpedo_damage) + \
roll0(torpedo_damage))
#endif