Changeset 53 for libcaca/trunk/src/tunnel.c
- Timestamp:
- Dec 23, 2002, 1:03:31 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/src/tunnel.c
r51 r53 4 4 * All Rights Reserved 5 5 * 6 * $Id: tunnel.c,v 1. 6 2002/12/23 10:06:27sam Exp $6 * $Id: tunnel.c,v 1.7 2002/12/23 12:03:31 sam Exp $ 7 7 * 8 8 * This program is free software; you can redistribute it and/or modify … … 70 70 { 71 71 /* Print tunnel */ 72 draw_wall( g, t->left, -2);72 draw_wall( g, t->left, 1 ); 73 73 draw_wall( g, t->right, -1 ); 74 74 } … … 152 152 static void draw_wall( game *g, int *wall, int delta ) 153 153 { 154 int i ;154 int i, j; 155 155 156 156 gfx_color( RED ); 157 157 158 if( delta == -1 ) 159 { 160 for( i = 0; i < g->h ; i++ ) 161 { 162 for( j = wall[i] ; j < g->w ; j++ ) 163 { 164 gfx_goto( j, i ); 165 gfx_putchar( '#' ); 166 } 167 } 168 } 169 else 170 { 171 for( i = 0; i < g->h ; i++ ) 172 { 173 for( j = 0 ; j <= wall[i]; j++ ) 174 { 175 gfx_goto( j, i ); 176 gfx_putchar( '#' ); 177 } 178 } 179 } 180 181 gfx_color( GREEN ); 182 158 183 for( i = 0; i < g->h ; i++ ) 159 184 { 160 char *str;161 162 if( wall[i] < -10 || wall[i] >= g->w + 10 )185 char c; 186 187 if( wall[i] <= -10 || wall[i] >= g->w + 10 ) 163 188 { 164 189 continue; 165 190 } 166 191 167 if( wall[i] > wall[i+1] )168 { 169 str = wall[i] > wall[i-1] ? ">##>" : "/##/";192 if( i + 1 == g->h || wall[i] > wall[i+1] ) 193 { 194 c = ( i == 0 || wall[i] > wall[i-1] ) ? '>' : '/'; 170 195 } 171 196 else 172 197 { 173 str = wall[i] > wall[i-1] ? "\\##\\" : "<##<"; 174 } 175 176 if( wall[i] == wall[i+1] + 2 ) 177 { 178 gfx_goto( wall[i] - 1 + delta, i ); 179 gfx_putchar( '_' ); 198 c = ( i == 0 || wall[i] > wall[i-1] ) ? '\\' : '<'; 199 } 200 201 if( delta == -1 && i + 1 < g->h ) 202 { 203 for( j = 1; j < wall[i] - wall[i+1]; j++ ) 204 { 205 gfx_goto( wall[i+1] + j - 1, i ); 206 gfx_putchar( '_' ); 207 } 180 208 } 181 209 182 210 gfx_goto( wall[i] + delta, i ); 183 gfx_putstr( str ); 184 if( wall[i] == wall[i+1] - 2 ) gfx_putchar( '_' ); 185 } 186 } 187 211 gfx_putchar( c ); 212 213 if( delta == +1 && i + 1 < g->h ) 214 { 215 for( j = 1; j < wall[i+1] - wall[i]; j++ ) 216 { 217 gfx_goto( wall[i] + j + 1, i ); 218 gfx_putchar( '_' ); 219 } 220 } 221 } 222 } 223
Note: See TracChangeset
for help on using the changeset viewer.