Changeset 149


Ignore:
Timestamp:
Nov 11, 2003, 9:00:36 AM (20 years ago)
Author:
Sam Hocevar
Message:
  • src/weapons.c: + Use ee_draw_ellipse() instead of ee_draw_circle() to draw the nuke.
  • src/player.c: + Use ee_draw_sprite() to draw our ship.
Location:
libcaca/trunk
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/data/Makefile.am

    r145 r149  
    99        item_gem \
    1010        item_heart \
     11        ship_green \
    1112        weapon_bomb \
    1213        weapon_fragbomb \
  • libcaca/trunk/src/collide.c

    r109 r149  
    279279    }
    280280
    281     if(p->x <= t->left[p->y])
     281    if(p->x - 2 <= t->left[p->y])
    282282    {
    283283        p->x += 3;
    284284        p->vx = 2;
    285         add_explosion(g, ex, p->x+1, p->y-1, 0, 0, EXPLOSION_SMALL);
     285        add_explosion(g, ex, p->x-1, p->y, 0, 0, EXPLOSION_SMALL);
    286286        p->life -= 180;
    287287    }
    288     else if(p->x + 5 >= t->right[p->y])
     288    else if(p->x + 3 >= t->right[p->y])
    289289    {
    290290        p->x -= 3;
    291291        p->vx = -2;
    292         add_explosion(g, ex, p->x+4, p->y-1, 0, 0, EXPLOSION_SMALL);
     292        add_explosion(g, ex, p->x+2, p->y, 0, 0, EXPLOSION_SMALL);
    293293        p->life -= 180;
    294294    }
  • libcaca/trunk/src/main.c

    r109 r149  
    125125                    break;
    126126                case 'j':
    127                     if(g->p->y < g->h - 2) g->p->y += 1;
     127                    if(g->p->y < g->h - 3) g->p->y += 1;
    128128                    break;
    129129                case 'k':
    130                     if(g->p->y > 1) g->p->y -= 1;
     130                    if(g->p->y > 2) g->p->y -= 1;
    131131                    break;
    132132                case 'l':
     
    137137                    {
    138138                        g->p->special -= COST_NUKE;
    139                         add_weapon(g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, 0, WEAPON_NUKE);
     139                        add_weapon(g, g->wp, g->p->x << 4, g->p->y << 4, 0, 0, WEAPON_NUKE);
    140140                    }
    141141                    break;
     
    144144                    {
    145145                        g->p->special -= COST_FRAGBOMB;
    146                         add_weapon(g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, -16, WEAPON_FRAGBOMB);
     146                        add_weapon(g, g->wp, g->p->x << 4, g->p->y << 4, 0, -16, WEAPON_FRAGBOMB);
    147147                    }
    148148                    break;
     
    151151                    {
    152152                        g->p->special -= COST_BEAM;
    153                         add_weapon(g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, 0, WEAPON_BEAM);
     153                        add_weapon(g, g->wp, g->p->x << 4, g->p->y << 4, 0, 0, WEAPON_BEAM);
    154154                    }
    155155                    break;
     
    158158                    {
    159159                        g->p->weapon = 4;
    160                         add_weapon(g, g->wp, g->p->x << 4, g->p->y << 4, 0, -32, WEAPON_LASER);
    161                         add_weapon(g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 0, -32, WEAPON_LASER);
     160                        add_weapon(g, g->wp, (g->p->x - 2) << 4, g->p->y << 4, 0, -32, WEAPON_LASER);
     161                        add_weapon(g, g->wp, (g->p->x + 3) << 4, g->p->y << 4, 0, -32, WEAPON_LASER);
    162162                        /* Extra schtuph */
    163                         add_weapon(g, g->wp, g->p->x << 4, g->p->y << 4, -24, -16, WEAPON_SEEKER);
    164                         add_weapon(g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 24, -16, WEAPON_SEEKER);
     163                        add_weapon(g, g->wp, (g->p->x - 2) << 4, g->p->y << 4, -24, -16, WEAPON_SEEKER);
     164                        add_weapon(g, g->wp, (g->p->x + 3) << 4, g->p->y << 4, 24, -16, WEAPON_SEEKER);
    165165                        /* More schtuph */
     166                        add_weapon(g, g->wp, (g->p->x - 1) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER);
     167                        add_weapon(g, g->wp, (g->p->x + 2) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER);
     168                        /* Even more schtuph */
     169                        add_weapon(g, g->wp, g->p->x << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER);
    166170                        add_weapon(g, g->wp, (g->p->x + 1) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER);
    167                         add_weapon(g, g->wp, (g->p->x + 4) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER);
    168                         /* Even more schtuph */
    169                         add_weapon(g, g->wp, (g->p->x + 2) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER);
    170                         add_weapon(g, g->wp, (g->p->x + 3) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER);
    171171                        /* Extra schtuph */
    172                         add_weapon(g, g->wp, g->p->x << 4, g->p->y << 4, -32, 0, WEAPON_SEEKER);
    173                         add_weapon(g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 32, 0, WEAPON_SEEKER);
     172                        add_weapon(g, g->wp, (g->p->x - 2) << 4, g->p->y << 4, -32, 0, WEAPON_SEEKER);
     173                        add_weapon(g, g->wp, (g->p->x + 3) << 4, g->p->y << 4, 32, 0, WEAPON_SEEKER);
    174174                        /* MORE SCHTUPH! */
    175                         add_weapon(g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, -16, WEAPON_BOMB);
     175                        add_weapon(g, g->wp, g->p->x << 4, g->p->y << 4, 0, -16, WEAPON_BOMB);
    176176                    }
    177177                    break;
  • libcaca/trunk/src/player.c

    r147 r149  
    2727#include "common.h"
    2828
     29struct ee_sprite *ship_sprite;
     30
    2931/* Init tunnel */
    3032player * create_player(game *g)
     
    3335
    3436    p->x = g->w / 2;
    35     p->y = g->h - 2;
     37    p->y = g->h - 3;
    3638    p->vx = 0;
    3739    p->vy = 0;
     
    4042    p->life = MAX_LIFE;
    4143    p->dead = 0;
     44
     45    ship_sprite = ee_load_sprite("data/ship_green");
    4246
    4347    return p;
     
    5256{
    5357    if(p->dead)
    54     {
    5558        return;
    56     }
    5759
    58     ee_color(EE_GREEN);
    59     ee_putstr(p->x + 2, p->y - 2, "/\\");
    60     ee_putchar(p->x + 1, p->y - 1, '(');
    61     ee_putchar(p->x + 4, p->y - 1, ')');
    62     ee_putstr(p->x, p->y, "I<__>I");
    63     ee_color(EE_YELLOW);
    64     ee_putstr(p->x + 2, p->y - 1, "()");
     60    ee_draw_sprite(p->x, p->y, ship_sprite);
    6561}
    6662
     
    6864{
    6965    if(p->dead)
    70     {
    7166        return;
    72     }
    7367
    7468    if(p->life <= 0)
     
    8175    /* Update weapon stats */
    8276    if(p->weapon)
    83     {
    8477        p->weapon--;
    85     }
    8678
    8779    if(p->special < MAX_SPECIAL)
    88     {
    8980        p->special++;
    90     }
    9181
    9282    /* Update life */
    9383    if(p->life < MAX_LIFE)
    94     {
    9584        p->life++;
    96     }
    9785
    9886    /* Update coords */
     
    10088
    10189    if(p->vx < 0)
    102     {
    10390        p->vx++;
    104     }
    10591    else if(p->vx > 0)
    106     {
    10792        p->vx--;
    108     }
    10993
    11094    if(p->x < 1)
    111     {
    11295        p->x = 1;
    113     }
    11496    else if(p->x > g->w - 7)
    115     {
    11697        p->x = g->w - 7;
    117     }
    11898}
    11999
  • libcaca/trunk/src/weapons.c

    r147 r149  
    220220
    221221            case WEAPON_BEAM:
    222                 wp->x[i] = (g->p->x + 2) << 4;
     222                wp->x[i] = g->p->x << 4;
    223223                wp->y[i] = g->p->y << 4;
    224224                wp->n[i]--;
     
    448448    /* Lots of duplicate pixels, but we don't care */
    449449    ee_color(EE_BLUE);
    450     ee_draw_circle(x, y, r++, ':');
     450    ee_draw_ellipse(x, y, r, r / 2, ':');
     451    ee_draw_ellipse(x, y, r + 1, r / 2, ':');
     452    ee_draw_ellipse(x, y, r + 2, r / 2, ':');
    451453    ee_color(EE_CYAN);
    452     ee_draw_circle(x, y, r++, '%');
     454    ee_draw_ellipse(x, y, r + 2, r / 2 + 1, '%');
     455    ee_draw_ellipse(x, y, r + 3, r / 2 + 1, '%');
    453456    ee_color(EE_WHITE);
    454     ee_draw_circle(x, y, r++, '#');
    455     ee_draw_circle(x, y, r++, '#');
    456 }
    457 
     457    ee_draw_ellipse(x, y, r + 3, r / 2 + 2, '#');
     458    ee_draw_ellipse(x, y, r + 4, r / 2 + 2, '#');
     459    ee_draw_ellipse(x, y, r + 4, r / 2 + 3, '#');
     460}
     461
Note: See TracChangeset for help on using the changeset viewer.