|
|
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.