|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1980 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: */ ! 6: ! 7: #ifndef lint ! 8: static char sccsid[] = "@(#)board.c 5.1 (Berkeley) 5/29/85"; ! 9: #endif not lint ! 10: ! 11: #include "back.h" ! 12: ! 13: static int i, j, k; ! 14: static char ln[60]; ! 15: ! 16: wrboard () { ! 17: register int l; ! 18: static char bl[] = ! 19: "| | | |\n"; ! 20: static char sv[] = ! 21: "| | | | \n"; ! 22: ! 23: fixtty (noech); ! 24: clear(); ! 25: ! 26: if (tflag) { ! 27: fboard(); ! 28: goto lastline; ! 29: } ! 30: ! 31: writel ("_____________________________________________________\n"); ! 32: writel (bl); ! 33: strcpy (ln,bl); ! 34: for (j = 1; j < 50; j += 4) { ! 35: k = j/4+(j > 24? 12: 13); ! 36: ln[j+1] = k%10+'0'; ! 37: ln[j] = k/10+'0'; ! 38: if (j == 21) ! 39: j += 4; ! 40: } ! 41: writel (ln); ! 42: for (i = 0; i < 5; i++) { ! 43: strcpy (ln,sv); ! 44: for (j = 1; j < 50; j += 4) { ! 45: k = j/4+(j > 24? 12: 13); ! 46: wrbsub (); ! 47: if (j == 21) ! 48: j += 4; ! 49: } ! 50: if (-board[25] > i) ! 51: ln[26] = 'w'; ! 52: if (-board[25] > i+5) ! 53: ln[25] = 'w'; ! 54: if (-board[25] > i+10) ! 55: ln[27] = 'w'; ! 56: l = 53; ! 57: if (off[1] > i || (off[1] < 0 && off[1]+15 > i)) { ! 58: ln[54] = 'r'; ! 59: l = 55; ! 60: } ! 61: if (off[1] > i+5 || (off[1] < 0 && off[1]+15 > i+5)) { ! 62: ln[55] = 'r'; ! 63: l = 56; ! 64: } ! 65: if (off[1] > i+10 || (off[1] < 0 && off[1]+15 > i+10)) { ! 66: ln[56] = 'r'; ! 67: l = 57; ! 68: } ! 69: ln[l++] = '\n'; ! 70: ln[l] = '\0'; ! 71: writel (ln); ! 72: } ! 73: strcpy (ln,bl); ! 74: ln[25] = 'B'; ! 75: ln[26] = 'A'; ! 76: ln[27] = 'R'; ! 77: writel (ln); ! 78: strcpy (ln,sv); ! 79: for (i = 4; i > -1; i--) { ! 80: for (j = 1; j < 50; j += 4) { ! 81: k = ((j > 24? 53: 49)-j)/4; ! 82: wrbsub(); ! 83: if (j == 21) ! 84: j += 4; ! 85: } ! 86: if (board[0] > i) ! 87: ln[26] = 'r'; ! 88: if (board[0] > i+5) ! 89: ln[25] = 'r'; ! 90: if (board[0] > i+10) ! 91: ln[27] = 'r'; ! 92: l = 53; ! 93: if (off[0] > i || (off[0] < 0 && off[0]+15 > i)) { ! 94: ln[54] = 'w'; ! 95: l = 55; ! 96: } ! 97: if (off[0] > i+5 || (off[0] < 0 && off[0]+15 > i+5)) { ! 98: ln[55] = 'w'; ! 99: l = 56; ! 100: } ! 101: if (off[0] > i+10 || (off[0] < 0 && off[0]+15 > i+10)) { ! 102: ln[56] = 'w'; ! 103: l = 57; ! 104: } ! 105: ln[l++] = '\n'; ! 106: ln[l] = '\0'; ! 107: writel (ln); ! 108: } ! 109: strcpy (ln,bl); ! 110: for (j = 1; j < 50; j += 4) { ! 111: k = ((j > 24? 53: 49)-j)/4; ! 112: ln[j+1] = k%10+'0'; ! 113: if (k > 9) ! 114: ln[j] = k/10+'0'; ! 115: if (j == 21) ! 116: j += 4; ! 117: } ! 118: writel (ln); ! 119: writel ("|_______________________|___|_______________________|\n"); ! 120: ! 121: lastline: ! 122: gwrite (); ! 123: if (tflag) ! 124: curmove (18,0); ! 125: else { ! 126: writec ('\n'); ! 127: writec ('\n'); ! 128: } ! 129: fixtty(raw); ! 130: } ! 131: ! 132: wrbsub () { ! 133: register int m; ! 134: register char d; ! 135: ! 136: if (board[k] > 0) { ! 137: m = board[k]; ! 138: d = 'r'; ! 139: } else { ! 140: m = -board[k]; ! 141: d = 'w'; ! 142: } ! 143: if (m>i) ! 144: ln[j+1] = d; ! 145: if (m>i+5) ! 146: ln[j] = d; ! 147: if (m>i+10) ! 148: ln[j+2] = d; ! 149: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.