X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/2cf6c0757b6b0b6a5d897b1f4d34417a919a2e5d..087b6e7b7c1861c118eb976452acc50a866f916f:/monop/roll.c diff --git a/monop/roll.c b/monop/roll.c index 5d01fe9c..373fc733 100644 --- a/monop/roll.c +++ b/monop/roll.c @@ -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 @@ -10,11 +12,7 @@ * 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. * @@ -31,47 +29,30 @@ * SUCH DAMAGE. */ +#include #ifndef lint -/*static char sccsid[] = "from: @(#)roll.c 5.6 (Berkeley) 9/29/92";*/ -static char rcsid[] = "$Id: roll.c,v 1.4 1993/08/07 08:28:06 mycroft Exp $"; +#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 */ #include +#include "monop.h" + /* * This routine rolls ndie nside-sided dice. */ -# define reg register - -# if defined(pdp11) -# define MAXRAND 32767L - -roll(ndie, nsides) -int ndie, nsides; { - - reg long tot; - reg unsigned n, r; - - tot = 0; - n = ndie; - while (n--) - tot += rand(); - return (int) ((tot * (long) nsides) / ((long) MAXRAND + 1)) + ndie; -} - -# else - -roll(ndie, nsides) -reg int ndie, nsides; { - - 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; } -# endif