#include #include BITMAP *buffer = NULL; //buffer BITMAP *playerSprite = NULL; //playersprite 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(BITMAP *dest) {draw_sprite(buffer, dest, x, y);} virtual void control(); }; class paddle : public sprite { public: paddle() : sprite() {} paddle(int _x, int _y) : sprite(_x,_y) {} /*virtual void draw() { rectfill(buffer, x-5, y+50, x+5, y-50, makecol(255,0,255)); }*/ }; void sprite::control() { if (key[KEY_UP]) --y; if (key[KEY_DOWN]) ++y; } int main(int argc, char *argv[]) { allegro_init(); install_keyboard(); buffer = create_bitmap(640,480); set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480,0,0); playerSprite = load_bitmap("picture.bmp",NULL); 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]->draw(playerSprite); myPlayer[i]->control(); } blit(buffer, screen, 0,0,0,0,640,480);//Draw the buffer to the screen clear_bitmap(buffer); // Clear the contents of the buffer bitmap } destroy_bitmap(playerSprite); // Release the bitmap data destroy_bitmap(buffer); // Release the bitmap data return 0; } END_OF_MAIN(); //yah, finishin' it up