Changeset 54 for ttyvaders


Ignore:
Timestamp:
Dec 23, 2002, 1:03:31 PM (17 years ago)
Author:
Sam Hocevar
Message:
  • lasers are now twice as fast.
  • walls are now filled, and displayed on top of aliens.
Location:
ttyvaders/trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ttyvaders/trunk/src/main.c

    r52 r54  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: main.c,v 1.10 2002/12/23 10:06:27 sam Exp $
     6 *   $Id: main.c,v 1.11 2002/12/23 12:03:31 sam Exp $
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    7676
    7777    /* Temporary stuff */
    78     for( i = 0; i < 5; i++ )
    79     {
    80         add_alien( g, g->al, rand() % g->w, rand() % g->h / 2, ALIEN_POOLP );
    81     }
    82 
    8378    g->t->w = 25;
    8479
     
    147142                    {
    148143                        g->p->weapon = 4;
    149                         add_weapon( g, g->wp, g->p->x << 4, g->p->y << 4, 0, -16, WEAPON_LASER );
    150                         add_weapon( g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 0, -16, WEAPON_LASER );
     144                        add_weapon( g, g->wp, g->p->x << 4, g->p->y << 4, 0, -32, WEAPON_LASER );
     145                        add_weapon( g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 0, -32, WEAPON_LASER );
    151146                        /* Extra shtuph */
    152147                        add_weapon( g, g->wp, g->p->x << 4, g->p->y << 4, -24, -16, WEAPON_SEEKER );
    153148                        add_weapon( g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 24, -16, WEAPON_SEEKER );
    154149                        /* More shtuph */
    155                         add_weapon( g, g->wp, (g->p->x + 1) << 4, (g->p->y - 1) << 4, 0, -16, WEAPON_LASER );
    156                         add_weapon( g, g->wp, (g->p->x + 4) << 4, (g->p->y - 1) << 4, 0, -16, WEAPON_LASER );
     150                        add_weapon( g, g->wp, (g->p->x + 1) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER );
     151                        add_weapon( g, g->wp, (g->p->x + 4) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER );
    157152                        /* Even more shtuph */
    158                         add_weapon( g, g->wp, (g->p->x + 2) << 4, (g->p->y - 1) << 4, 0, -16, WEAPON_LASER );
    159                         add_weapon( g, g->wp, (g->p->x + 3) << 4, (g->p->y - 1) << 4, 0, -16, WEAPON_LASER );
     153                        add_weapon( g, g->wp, (g->p->x + 2) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER );
     154                        add_weapon( g, g->wp, (g->p->x + 3) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER );
    160155                        /* Extra shtuph */
    161156                        add_weapon( g, g->wp, g->p->x << 4, g->p->y << 4, -32, 0, WEAPON_SEEKER );
     
    210205        /* Print starfield, tunnel, aliens, player and explosions */
    211206        draw_starfield( g, g->sf );
     207        draw_aliens( g, g->al );
    212208        draw_tunnel( g, g->t );
    213209        draw_bonus( g, g->bo );
    214         draw_aliens( g, g->al );
    215210        draw_explosions( g, g->ex );
    216211        draw_weapons( g, g->wp );
     
    225220    free_starfield( g, g->sf );
    226221    free_tunnel( g->t );
    227 //    free_player( g->p );
     222    free_player( g->p );
    228223}
    229224
  • ttyvaders/trunk/src/tunnel.c

    r52 r54  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: tunnel.c,v 1.6 2002/12/23 10:06:27 sam Exp $
     6 *   $Id: tunnel.c,v 1.7 2002/12/23 12:03:31 sam Exp $
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    7070{
    7171    /* Print tunnel */
    72     draw_wall( g, t->left, -2 );
     72    draw_wall( g, t->left, 1 );
    7373    draw_wall( g, t->right, -1 );
    7474}
     
    152152static void draw_wall( game *g, int *wall, int delta )
    153153{
    154     int i;
     154    int i, j;
    155155
    156156    gfx_color( RED );
    157157
     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
    158183    for( i = 0; i < g->h ; i++ )
    159184    {
    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 )
    163188        {
    164189            continue;
    165190        }
    166191
    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] ) ? '>' : '/';
    170195        }
    171196        else
    172197        {
    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            }
    180208        }
    181209
    182210        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.