]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - mille/comp.c
Sort sections.
[bsdgames-darwin.git] / mille / comp.c
index 58538e3b3c83e0f0c34f2b2b192023ff2e7982d1..ef42f102bc62fee27feb88a0c97892210afa1bfe 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: comp.c,v 1.4 1995/03/24 05:01:11 cgd Exp $     */
+/*     $NetBSD: comp.c,v 1.10 2006/03/19 00:29:27 christos 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.
  *
  * SUCH DAMAGE.
  */
 
+#include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)comp.c     8.1 (Berkeley) 5/31/93";
 #else
-static char rcsid[] = "$NetBSD: comp.c,v 1.4 1995/03/24 05:01:11 cgd Exp $";
+__RCSID("$NetBSD: comp.c,v 1.10 2006/03/19 00:29:27 christos Exp $");
 #endif
 #endif /* not lint */
 
@@ -49,17 +46,18 @@ static char rcsid[] = "$NetBSD: comp.c,v 1.4 1995/03/24 05:01:11 cgd Exp $";
 
 # define       V_VALUABLE      40
 
+void
 calcmove()
 {
-       register CARD           card;
-       register int            *value;
-       register PLAY           *pp, *op;
-       register bool           foundend, cango, canstop, foundlow;
-       register unsgn int      i, count200, badcount, nummin, nummax, diff;
-       register int            curmin, curmax;
-       register CARD           safe, oppos;
-       int                     valbuf[HAND_SZ], count[NUM_CARDS];
-       bool                    playit[HAND_SZ];
+       CARD            card;
+       int             *value;
+       PLAY            *pp, *op;
+       bool            foundend, cango, canstop, foundlow;
+       unsgn int       i, count200, badcount, nummin, nummax, diff;
+       int             curmin, curmax;
+       CARD            safe, oppos;
+       int             valbuf[HAND_SZ], count[NUM_CARDS];
+       bool            playit[HAND_SZ];
 
        wmove(Score, ERR_Y, ERR_X);     /* get rid of error messages    */
        wclrtoeol(Score);
@@ -78,7 +76,7 @@ calcmove()
                switch (card) {
                  case C_STOP:  case C_CRASH:
                  case C_FLAT:  case C_EMPTY:
-                       if (playit[i] = canplay(pp, op, card))
+                       if ((playit[i] = canplay(pp, op, card)) != 0)
                                canstop = TRUE;
                        goto norm;
                  case C_LIMIT:
@@ -129,7 +127,7 @@ norm:
        if (foundend)
                foundend = !check_ext(TRUE);
        for (i = 0; safe && i < HAND_SZ; i++) {
-               if (issafety(pp->hand[i])) {
+               if (is_safety(pp->hand[i])) {
                        if (onecard(op) || (foundend && cango && !canstop)) {
 #ifdef DEBUG
                                if (Debug)
@@ -165,7 +163,7 @@ playsafe:
                        playit[i] = cango;
                }
        }
-       if (!pp->can_go && !isrepair(pp->battle))
+       if (!pp->can_go && !is_repair(pp->battle))
                Numneed[opposite(pp->battle)]++;
 redoit:
        foundlow = (cango || count[C_END_LIMIT] != 0
@@ -181,7 +179,7 @@ redoit:
        value = valbuf;
        for (i = 0; i < HAND_SZ; i++) {
                card = pp->hand[i];
-               if (issafety(card) || playit[i] == (cango != 0)) {
+               if (is_safety(card) || playit[i] == (cango != 0)) {
 #ifdef DEBUG
                        if (Debug)
                                fprintf(outf, "CALCMOVE: switch(\"%s\")\n",
@@ -192,7 +190,7 @@ redoit:
                                diff = End - pp->mileage;
                                /* avoid getting too close */
                                if (Topcard > Deck && cango && diff <= 100
-                                   && diff / Value[card] > count[card]
+                                   && (int)diff / Value[card] > count[card]
                                    && (card == C_25 || diff % 50 == 0)) {
                                        if (card == C_50 && diff - 50 == 25
                                            && count[C_25] > 0)
@@ -344,9 +342,7 @@ normbad:
                                                *value /= ++badcount;
                                        if (op->mileage == 0)
                                                *value += 5;
-                                       if ((card == C_LIMIT &&
-                                            op->speed == C_LIMIT) ||
-                                           !op->can_go)
+                                       if (op->speed == C_LIMIT || !op->can_go)
                                                *value -= 5;
                                        if (cango && pp->safety[S_RIGHT_WAY] !=
                                                     S_UNKNOWN)
@@ -381,7 +377,7 @@ normbad:
 #endif
                value++;
        }
-       if (!pp->can_go && !isrepair(pp->battle))
+       if (!pp->can_go && !is_repair(pp->battle))
                Numneed[opposite(pp->battle)]++;
        if (cango) {
 play_it:
@@ -390,7 +386,7 @@ play_it:
                Card_no = nummax;
        }
        else {
-               if (issafety(pp->hand[nummin])) { /* NEVER discard a safety */
+               if (is_safety(pp->hand[nummin])) { /* NEVER discard a safety */
                        nummax = nummin;
                        goto play_it;
                }
@@ -404,17 +400,18 @@ play_it:
 /*
  * Return true if the given player could conceivably win with his next card.
  */
+int
 onecard(pp)
-register PLAY  *pp;
+       const PLAY      *pp;
 {
-       register CARD   bat, spd, card;
+       CARD    bat, spd, card;
 
        bat = pp->battle;
        spd = pp->speed;
        card = -1;
-       if (pp->can_go || ((isrepair(bat) || bat == C_STOP || spd == C_LIMIT) &&
+       if (pp->can_go || ((is_repair(bat) || bat == C_STOP || spd == C_LIMIT) &&
                           Numseen[S_RIGHT_WAY] != 0) ||
-           bat >= 0 && Numseen[safety(bat)] != 0)
+           (bat >= 0 && Numseen[safety(bat)] != 0))
                switch (End - pp->mileage) {
                  case 200:
                        if (pp->nummiles[C_200] == 2)
@@ -436,9 +433,10 @@ register PLAY      *pp;
        return FALSE;
 }
 
+int
 canplay(pp, op, card)
-register PLAY  *pp, *op;
-register CARD  card;
+       const PLAY      *pp, *op;
+       CARD    card;
 {
        switch (card) {
          case C_200:
@@ -474,7 +472,7 @@ register CARD       card;
                break;
          case C_GO:
                if (!pp->can_go &&
-                   (isrepair(pp->battle) || pp->battle == C_STOP))
+                   (is_repair(pp->battle) || pp->battle == C_STOP))
                        return TRUE;
                break;
          case C_END_LIMIT: