Module Name: src
Committed By: nia
Date: Sun Jul 26 15:38:22 UTC 2020
Modified Files:
src/games/robots: main.c rnd_pos.c
Log Message:
robots: Use arc4random_uniform for better uniform distribution
To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/games/robots/main.c
cvs rdiff -u -r1.10 -r1.11 src/games/robots/rnd_pos.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/games/robots/main.c
diff -u src/games/robots/main.c:1.32 src/games/robots/main.c:1.33
--- src/games/robots/main.c:1.32 Wed Aug 12 08:30:55 2009
+++ src/games/robots/main.c Sun Jul 26 15:38:22 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.32 2009/08/12 08:30:55 dholland Exp $ */
+/* $NetBSD: main.c,v 1.33 2020/07/26 15:38:22 nia Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
#if 0
static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: main.c,v 1.32 2009/08/12 08:30:55 dholland Exp $");
+__RCSID("$NetBSD: main.c,v 1.33 2020/07/26 15:38:22 nia Exp $");
#endif
#endif /* not lint */
@@ -167,7 +167,6 @@ main(int argc, char **argv)
stdscr = newwin(Y_SIZE, X_SIZE, 0, 0);
}
- srandom(time(NULL));
if (Real_time)
signal(SIGALRM, move_robots);
do {
Index: src/games/robots/rnd_pos.c
diff -u src/games/robots/rnd_pos.c:1.10 src/games/robots/rnd_pos.c:1.11
--- src/games/robots/rnd_pos.c:1.10 Wed Aug 12 08:30:55 2009
+++ src/games/robots/rnd_pos.c Sun Jul 26 15:38:22 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: rnd_pos.c,v 1.10 2009/08/12 08:30:55 dholland Exp $ */
+/* $NetBSD: rnd_pos.c,v 1.11 2020/07/26 15:38:22 nia Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)rnd_pos.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: rnd_pos.c,v 1.10 2009/08/12 08:30:55 dholland Exp $");
+__RCSID("$NetBSD: rnd_pos.c,v 1.11 2020/07/26 15:38:22 nia Exp $");
#endif
#endif /* not lint */
@@ -44,8 +44,6 @@ __RCSID("$NetBSD: rnd_pos.c,v 1.10 2009/
#define IS_SAME(p,y,x) ((p).y != -1 && (p).y == y && (p).x == x)
-static int rnd(int);
-
/*
* rnd_pos:
* Pick a random, unoccupied position
@@ -57,17 +55,10 @@ rnd_pos(void)
static int call = 0;
do {
- pos.y = rnd(Y_FIELDSIZE - 1) + 1;
- pos.x = rnd(X_FIELDSIZE - 1) + 1;
+ pos.y = arc4random_uniform(Y_FIELDSIZE - 1) + 1;
+ pos.x = arc4random_uniform(X_FIELDSIZE - 1) + 1;
refresh();
} while (Field[pos.y][pos.x] != 0);
call++;
return &pos;
}
-
-static int
-rnd(int range)
-{
-
- return random() % range;
-}