1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#include "config.h"
#include "copyright.h"
#include <stdio.h>
#include "Wlib.h"
#include "defs.h"
#include "struct.h"
#include "data.h"
static char *teamname[9] =
{
"IND",
"FED",
"ROM",
"",
"KLI",
"",
"",
"",
"ORI"
};
/* * Open a window which contains all the planets and their current *
* statistics. Players will not know about planets that their team * has not
* orbited. */
void planetlist(void)
{
register int i;
register int k = 0;
char buf[BUFSIZ];
register struct planet *j;
/* W_ClearWindow(planetw); */
(void) sprintf(buf, "Planet Name own armies REPAIR FUEL AGRI CORE info");
W_WriteText(planetw, 2, 1, textColor, buf, strlen(buf), W_RegularFont);
k = 2;
for (i = 0, j = &planets[i]; i < MAXPLANETS; i++, j++)
{
if (j->pl_info & me->p_team)
{
(void) sprintf(buf, "%-16s %3s %3d %6s %4s %4s %4s %c%c%c%c",
j->pl_name,
teamname[j->pl_owner],
j->pl_armies,
(j->pl_flags & PLREPAIR ? "REPAIR" : " "),
(j->pl_flags & PLFUEL ? "FUEL" : " "),
(j->pl_flags & PLAGRI ? "AGRI" : " "),
(j->pl_flags & PLCORE ? "CORE" : " "),
(j->pl_info & FED ? 'F' : ' '),
(j->pl_info & ROM ? 'R' : ' '),
(j->pl_info & KLI ? 'K' : ' '),
(j->pl_info & ORI ? 'O' : ' '));
W_WriteText(planetw, 2, k++, planetColor(j), buf, strlen(buf),
planetFont(j));
}
else
{
(void) sprintf(buf, "%-16s",
j->pl_name);
W_WriteText(planetw, 2, k++, unColor, buf, strlen(buf),
W_RegularFont);
}
}
}
|