]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - mille/mille.c
tetris: Use arc4random_uniform instead of modulo for better randomness
[bsdgames-darwin.git] / mille / mille.c
index 036368a4b8dfd30d7f306405c0df0b35f3125424..10857a8da804f2d2dfa05fa6bba085b58d616d59 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: mille.c,v 1.12 2001/12/06 12:12:34 blymn Exp $ */
+/*     $NetBSD: mille.c,v 1.20 2011/08/31 16:24:56 plunky Exp $        */
 
 /*
  * Copyright (c) 1982, 1993
  * 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.
  *
 
 #include <sys/cdefs.h>
 #ifndef lint
-__COPYRIGHT("@(#) Copyright (c) 1982, 1993\n\
      The Regents of the University of California.  All rights reserved.\n");
+__COPYRIGHT("@(#) Copyright (c) 1982, 1993\
The Regents of the University of California.  All rights reserved.");
 #endif /* not lint */
 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)mille.c    8.1 (Berkeley) 5/31/93";
 #else
-__RCSID("$NetBSD: mille.c,v 1.12 2001/12/06 12:12:34 blymn Exp $");
+__RCSID("$NetBSD: mille.c,v 1.20 2011/08/31 16:24:56 plunky Exp $");
 #endif
 #endif /* not lint */
 
-# include      "mille.h"
-# include      <signal.h>
+#include <time.h>
+#include "mille.h"
+#include <signal.h>
 
 /*
  * @(#)mille.c 1.3 (Berkeley) 5/10/83
  */
 
 int
-main(ac, av)
-       int     ac;
-       char    *av[];
+main(int ac, char *av[])
 {
        bool    restore;
 
@@ -66,7 +61,7 @@ main(ac, av)
 
        if (strcmp(av[0], "a.out") == 0) {
                outf = fopen("q", "w");
-               setbuf(outf, (char *)NULL);
+               setbuf(outf, NULL);
                Debug = TRUE;
        }
        restore = FALSE;
@@ -82,7 +77,8 @@ main(ac, av)
                /* NOTREACHED */
        }
        Play = PLAYER;
-       initscr();
+       if (!initscr())
+               errx(0, "couldn't initialize screen");
        delwin(stdscr);
        stdscr = Board = newwin(BOARD_Y, BOARD_X, 0, 0);
        Score = newwin(SCORE_Y, SCORE_X, 0, 40);
@@ -95,11 +91,11 @@ main(ac, av)
        leaveok(Score, TRUE);
        leaveok(Miles, TRUE);
        clearok(curscr, TRUE);
-# ifndef PROF
-       srandom(getpid());
-# else
+#ifndef PROF
+       srandom((long) time(NULL));
+#else
        srandom(0);
-# endif
+#endif
        cbreak();
        noecho();
        signal(SIGINT, rub);
@@ -142,8 +138,7 @@ main(ac, av)
  * quit.
  */
 void
-rub(dummy)
-       int dummy __attribute__((__unused__));
+rub(int dummy __unused)
 {
        (void)signal(SIGINT, SIG_IGN);
        if (getyn(REALLYPROMPT))
@@ -155,8 +150,7 @@ rub(dummy)
  *     Time to go beddy-by
  */
 void
-die(code)
-       int code;
+die(int code)
 {
 
        (void)signal(SIGINT, SIG_IGN);