43
43
44
44
void add_smoke (int y , int x );
45
45
void add_man (int y , int x );
46
+ void add_fdancer (int y , int x );
47
+ void add_mdancer (int y , int x );
46
48
int add_C51 (int x );
47
49
int add_D51 (int x );
48
50
int add_sl (int x );
@@ -53,6 +55,7 @@ int ACCIDENT = 0;
53
55
int LOGO = 0 ;
54
56
int FLY = 0 ;
55
57
int C51 = 0 ;
58
+ int DANCE = 0 ;
56
59
57
60
int my_mvaddstr (int y , int x , char * str )
58
61
{
@@ -73,6 +76,7 @@ void option(char *str)
73
76
case 'F' : FLY = 1 ; break ;
74
77
case 'l' : LOGO = 1 ; break ;
75
78
case 'c' : C51 = 1 ; break ;
79
+ case 'd' : DANCE = 1 ; break ;
76
80
default : break ;
77
81
}
78
82
}
@@ -150,6 +154,13 @@ int add_sl(int x)
150
154
add_man (y + 1 + py2 , x + 45 ); add_man (y + 1 + py2 , x + 53 );
151
155
add_man (y + 1 + py3 , x + 66 ); add_man (y + 1 + py3 , x + 74 );
152
156
}
157
+ if (DANCE == 1 && ACCIDENT == 0 && FLY == 0 ) {
158
+ add_mdancer (y - 2 , x + 21 );
159
+ add_fdancer (y + py2 - 2 , x + 45 );
160
+ add_fdancer (y + py2 - 2 , x + 50 ); add_fdancer (y + py2 - 2 , x + 55 );
161
+ add_mdancer (y + py3 - 2 , x + 66 );
162
+ add_mdancer (y + py3 - 2 , x + 71 ); add_mdancer (y + py3 - 2 , x + 76 );
163
+ }
153
164
add_smoke (y - 1 , x + LOGOFUNNEL );
154
165
return OK ;
155
166
}
@@ -191,6 +202,9 @@ int add_D51(int x)
191
202
add_man (y + 2 , x + 43 );
192
203
add_man (y + 2 , x + 47 );
193
204
}
205
+ if (DANCE == 1 && ACCIDENT == 0 && FLY == 0 ) {
206
+ add_mdancer (y - 2 , x + 43 ); add_fdancer (y - 2 , x + 48 );
207
+ }
194
208
add_smoke (y - 1 , x + D51FUNNEL );
195
209
return OK ;
196
210
}
@@ -231,6 +245,9 @@ int add_C51(int x)
231
245
add_man (y + 3 , x + 45 );
232
246
add_man (y + 3 , x + 49 );
233
247
}
248
+ if (DANCE == 1 && ACCIDENT == 0 && FLY == 0 ) {
249
+ add_mdancer (y - 1 , x + 45 ); add_fdancer (y - 1 , x + 50 );
250
+ }
234
251
add_smoke (y - 1 , x + C51FUNNEL );
235
252
return OK ;
236
253
}
@@ -245,6 +262,30 @@ void add_man(int y, int x)
245
262
my_mvaddstr (y + i , x , man [(LOGOLENGTH + x ) / 12 % 2 ][i ]);
246
263
}
247
264
}
265
+ void add_fdancer (int y , int x )
266
+ {
267
+ static char * fdancer [2 ][3 ] = {{"\\\\0" , "/\\" , "|\\" }, {"0//" , "/\\" , "/|" }};
268
+ static char * Efdancer [2 ][3 ] = {{" " , " " , " " }, {" " , " " , " " }};
269
+ int i ;
270
+
271
+ for (i = 0 ; i < 3 ; ++ i ) {
272
+ my_mvaddstr (y + i , x + 1 , Efdancer [(LOGOLENGTH + x ) / 12 %2 ][i ]);
273
+ my_mvaddstr (y + i , x , fdancer [(LOGOLENGTH + x ) / 12 %2 ][i ]);
274
+ }
275
+ }
276
+
277
+ void add_mdancer (int y , int x )
278
+ {
279
+ static char * mdancer [3 ][3 ] = {{"_O_" , " #" , "/\\" }, {"(0)" , " #" , "/\\" }, {"(O_" , " #" , "/\\" }};
280
+ static char * Emdancer [3 ][3 ] = {{" " , " " , " " }, {" " , " " , " " }, {" " , " " , " " }};
281
+ int i ;
282
+
283
+ for (i = 0 ; i < 3 ; ++ i ) {
284
+ my_mvaddstr (y + i , x + 1 , Emdancer [(LOGOLENGTH + x ) / 12 %3 ][i ]);
285
+ my_mvaddstr (y + i , x , mdancer [(LOGOLENGTH + x ) / 12 %3 ][i ]);
286
+
287
+ }
288
+ }
248
289
249
290
250
291
void add_smoke (int y , int x )
0 commit comments