-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconqsubs.c
123 lines (118 loc) · 4.26 KB
/
conqsubs.c
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <stdio.h>
#include <curses.h>
#include "defs.h"
#include "structs.h"
#include "vars.h"
ressum()
{
char key;
int value, ind;
char iline[81];
printw("esearch field(s):");
get_line(iline,&ind,true);
get_token(iline,&ind,&value,&key);
cle3r_left();
if ( key==' ') {
pr2nt_res('R');
pr2nt_res('V');
pr2nt_res('W');
}
else {
do {
pr2nt_res(key);
get_token(iline,&ind,&value,&key);
}
while (key != ' ');
};
}
pr2nt_res(field)
char field;
{
switch ( field ) {
case 'V':
point(53,18);
printw("V:%2d",vel[player]);
if ( vel[player] < max_vel )
printw(" res: %3d need:%4d",vel_working[player],
vel_req[vel[player]+1]);
else printw(" ");
break;
case 'R':
point( 53,19);
printw("R:%2d",range[player]);
if ( range[player] < bdsize )
printw(" res: %3d need:%4d",ran_working[player],
ran_req[range[player]+1]);
else printw(" ");
break;
case 'W':
point(53,20);
printw("W:%2d",weapons[player]);
if ( weapons[player] < 10 )
printw(" res: %3d need:%4d",weap_working[player],
weap_req[weapons[player]+1]);
else printw(" ");
break;
}; /*switch (*/
}
research(team, field, amt)
int team;
char field;
int amt;
{
switch ( field ) {
case 'W':
if ( weapons[team]<10 ) {
weap_working[team]=weap_working[team]+amt;
amt=0;
if ( weap_working[team]>= weap_req[weapons[team]+1] ) {
amt=weap_working[team]
- weap_req[weapons[team]+1];
weapons[team]=weapons[team]+1;
if ( team==ENEMY ) {
new_research();
field = en_research;
};
weap_working[team]=0;
research(team,field,amt);
};
};
break;
case 'R':
if ( range[team] < bdsize ) {
ran_working[team]=ran_working[team]+amt;
amt=0;
if ( ran_working[team] >= ran_req[range[team]+1] )
{
amt= ran_working[team]
- ran_req[range[team]+1];
range[team]=range[team]+1;
if ( team==ENEMY ) {
new_research();
field = en_research;
};
ran_working[team]=0;
research(team,field,amt);
};
};
break;
case 'V':
if ( vel[team] <max_vel ) {
vel_working[team]= vel_working[team]+amt;
amt=0;
if ( vel_working[team] >= vel_req[vel[team]+1] ) {
amt= vel_working[team]-vel_req[vel[team]+1];
vel[team]=vel[team]+1;
if ( team==ENEMY ) {
new_research();
field = en_research;
};
vel_working[team]=0;
research(team,field,amt);
};
};
break;
default:
printw("error!!!! in research field %c\n", field);
}; /*switch (*/
}