1: # include   "mille.h"
   2: 
   3: /*
   4:  * @(#)print.c	1.1 (Berkeley) 4/1/82
   5:  */
   6: 
   7: # define    COMP_STRT   20
   8: # define    CARD_STRT   2
   9: 
  10: prboard() {
  11: 
  12:     reg PLAY    *pp;
  13:     reg int     i, j, k, temp;
  14: 
  15:     for (k = 0; k < 2; k++) {
  16:         pp = &Player[k];
  17:         temp = k * COMP_STRT + CARD_STRT;
  18:         for (i = 0; i < NUM_SAFE; i++)
  19:             if (pp->safety[i] == S_PLAYED && !pp->sh_safety[i]) {
  20:                 mvaddstr(i, temp, C_name[i + S_CONV]);
  21:                 if (pp->coups[i])
  22:                     mvaddch(i, temp - CARD_STRT, '*');
  23:                 pp->sh_safety[i] = TRUE;
  24:             }
  25:         show_card(14, temp, pp->battle, &pp->sh_battle);
  26:         show_card(16, temp, pp->speed, &pp->sh_speed);
  27:         for (i = C_25; i <= C_200; i++) {
  28:             reg char    *name;
  29:             reg int     end;
  30: 
  31:             if (pp->nummiles[i] == pp->sh_nummiles[i])
  32:                 continue;
  33: 
  34:             name = C_name[i];
  35:             temp = k * 40;
  36:             end = pp->nummiles[i];
  37:             for (j = pp->sh_nummiles[i]; j < end; j++)
  38:                 mvwaddstr(Miles, i + 1, (j << 2) + temp, name);
  39:             pp->sh_nummiles[i] = end;
  40:         }
  41:     }
  42:     prscore(TRUE);
  43:     temp = CARD_STRT;
  44:     pp = &Player[PLAYER];
  45:     for (i = 0; i < HAND_SZ; i++)
  46:         show_card(i + 6, temp, pp->hand[i], &pp->sh_hand[i]);
  47:     mvprintw(6, COMP_STRT + CARD_STRT, "%2d", Topcard - Deck);
  48:     show_card(8, COMP_STRT + CARD_STRT, Discard, &Sh_discard);
  49:     if (End == 1000) {
  50:         move(EXT_Y, EXT_X);
  51:         standout();
  52:         addstr("Extension");
  53:         standend();
  54:     }
  55:     wrefresh(Board);
  56:     wrefresh(Miles);
  57:     wrefresh(Score);
  58: }
  59: 
  60: /*
  61:  * show_card:
  62:  *	Show the given card if it is different from the last one shown
  63:  */
  64: show_card(y, x, c, lc)
  65: int     y, x;
  66: register CARD   c, *lc;
  67: {
  68:     if (c == *lc)
  69:         return;
  70: 
  71:     mvprintw(y, x, C_fmt, C_name[c]);
  72:     *lc = c;
  73: }
  74: 
  75: static char Score_fmt[] = "%4d";
  76: 
  77: prscore(for_real)
  78: reg bool    for_real; {
  79: 
  80:     reg PLAY    *pp;
  81:     reg int     x;
  82: 
  83:     stdscr = Score;
  84:     for (pp = Player; pp < &Player[2]; pp++) {
  85:         x = (pp - Player) * 6 + 21;
  86:         show_score(1, x, pp->mileage, &pp->sh_mileage);
  87:         if (pp->safescore != pp->sh_safescore) {
  88:             mvprintw(2, x, Score_fmt, pp->safescore);
  89:             if (pp->safescore == 400)
  90:                 mvaddstr(3, x + 1, "300");
  91:             else
  92:                 mvaddstr(3, x + 1, "  0");
  93:             mvprintw(4, x, Score_fmt, pp->coupscore);
  94:             pp->sh_safescore = pp->safescore;
  95:         }
  96:         if (Window == W_FULL || Finished) {
  97: #ifdef EXTRAP
  98:             if (for_real)
  99:                 finalscore(pp);
 100:             else
 101:                 extrapolate(pp);
 102: #else
 103:             finalscore(pp);
 104: #endif
 105:             show_score(11, x, pp->hand_tot, &pp->sh_hand_tot);
 106:             show_score(13, x, pp->total, &pp->sh_total);
 107:             show_score(14, x, pp->games, &pp->sh_games);
 108:         }
 109:         else {
 110:             show_score(6, x, pp->hand_tot, &pp->sh_hand_tot);
 111:             show_score(8, x, pp->total, &pp->sh_total);
 112:             show_score(9, x, pp->games, &pp->sh_games);
 113:         }
 114:     }
 115:     stdscr = Board;
 116: }
 117: 
 118: /*
 119:  * show_score:
 120:  *	Show a score value if it is different from the last time we
 121:  *	showed it.
 122:  */
 123: show_score(y, x, s, ls)
 124: int     y, x;
 125: register int    s, *ls;
 126: {
 127:     if (s == *ls)
 128:         return;
 129: 
 130:     mvprintw(y, x, Score_fmt, s);
 131:     *ls = s;
 132: }

Defined functions

prboard defined in line 10; used 3 times
prscore defined in line 77; used 3 times
show_card defined in line 64; used 4 times
show_score defined in line 123; used 7 times

Defined variables

Score_fmt defined in line 75; used 3 times

Defined macros

CARD_STRT defined in line 8; used 5 times
COMP_STRT defined in line 7; used 3 times
Last modified: 1985-06-19
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 2734
Valid CSS Valid XHTML 1.0 Strict