All pastes #523573 Raw Edit

Anonymous

public text v1 · immutable
#523573 ·published 2007-05-30 20:43 UTC
rendered paste body
#include <allegro.h>
#include <iostream>

class sprite {
    protected:
        int x,y;
    public:
        sprite() {x=y=0;}
        sprite(int _x, int _y) {x = _x; y = _y;}
        virtual ~sprite() {}
        virtual void draw() {}
        virtual void control() {}
};

class paddle : public sprite {
    public:
        paddle() : sprite() {}
        paddle(int _x, int _y) : sprite(_x,_y) {}
        virtual void draw() {
            acquire_screen();
            rectfill(screen, x-5, y+50, x+5, y-50, makecol(255,0,255));
            vsync();
            release_screen();
        }
        virtual void control();
};

void paddle::control() {
    if (key[KEY_UP]) --y;
    if (key[KEY_DOWN]) ++y;
}

int main(int argc, char *argv[])
{
    allegro_init();
    install_keyboard();
    set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480,0,0);
    paddle *myPlayer[1];
    myPlayer[0] = new paddle(20,240);
    myPlayer[1] = new paddle(620,240);
    //the game loop
    while (!key[KEY_ESC]) {
        for(int i=0;i<2;i++) {
            myPlayer[(i-1)]->draw();
            myPlayer[(i-1)]->control();
        }
    }
    return 0;
}
END_OF_MAIN(); //yah, finishin' it up