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