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