]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - monop/roll.c
fish: use arc4random_uniform for drawing random numbers
[bsdgames-darwin.git] / monop / roll.c
index 002cf7888e661cd6581b7c97f40e2503695259a1..373fc73311293511ee69d16eb90e384fe768f5e9 100644 (file)
@@ -1,6 +1,8 @@
+/*     $NetBSD: roll.c,v 1.14 2012/06/19 05:35:32 dholland Exp $       */
+
 /*
- * Copyright (c) 1980 Regents of the University of California.
- * All rights reserved.
+ * Copyright (c) 1980, 1993
+ *     The Regents of the University of California.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
  *
  * SUCH DAMAGE.
  */
 
+#include <sys/cdefs.h>
 #ifndef lint
-static char sccsid[] = "@(#)roll.c     5.5 (Berkeley) 6/1/90";
+#if 0
+static char sccsid[] = "@(#)roll.c     8.1 (Berkeley) 5/31/93";
+#else
+__RCSID("$NetBSD: roll.c,v 1.14 2012/06/19 05:35:32 dholland Exp $");
+#endif
 #endif /* not lint */
 
-/*
- *     This routine rolls ndie nside-sided dice.
- */
-
 #include <stdlib.h>
 
-#define        reg     register
+#include "monop.h"
 
-roll(ndie, nsides)
-reg int        ndie, nsides; {
+/*
+ *     This routine rolls ndie nside-sided dice.
+ */
 
-       reg int         tot, r;
-       reg double      num_sides;
+int
+roll(int ndie, int nsides)
+{
+       long tot;
 
-       num_sides = nsides;
        tot = 0;
        while (ndie--)
-               tot += (r = rand()) * (num_sides / RAND_MAX) + 1;
-       return tot;
+               tot += (random() % nsides) + 1;
+       return (int)tot;
 }