Méltó megemlékezés március 15-ről

Fórumok

/*
 *    Kokárda - az expal.c (Allegro csomag, http://allegro.cc) átirata.
 *    (c) 2007 Martinek Vilmos <m2marvil@radnoti-szeged.sulinet.hu>
 *    Fordítás: gcc -o kokarda kokarda.c `allegro-config --libs`
 *    Közreadja: Kovács Zoltán <kovzol@gmail.com>, Vilmos tanára
 */

#include <allegro.h>

int main(void)
{
   PALETTE palette;
   RGB temp;
   int c;

   if (allegro_init() != 0)
      return 1;
   install_keyboard(); 
   if (set_gfx_mode(GFX_AUTODETECT, 800, 600, 0, 0) != 0) {
      if (set_gfx_mode(GFX_AUTODETECT, 800, 600, 0, 0) != 0) {
         allegro_message("Hiba: %s\n", allegro_error);
         return 1;
      }
   }

   set_palette(black_palette);

   acquire_screen();

   for (c=255; c>0; c--)
      circlefill(screen, SCREEN_W/2, SCREEN_H/2, c, c);

   release_screen();

   install_mouse();
   show_mouse(screen);

   for (c=0; c<85; c++) {
      palette[c].r = 255;
      palette[c].g = 0;
      palette[c].b = 0;
   }
  
   for (c=86; c<171; c++) {
      palette[c].r = 0;
      palette[c].g = 255;
      palette[c].b = 0;
   }
   for (c=172; c<256; c++) {
      palette[c].r = 255;
      palette[c].g = 255;
      palette[c].b = 255;
   }

   while (!keypressed()) {
      temp = palette[255];
      for (c=255; c>0; c--)
         palette[c] = palette[c-1];
      palette[0] = temp;
      set_palette(palette);
   }

   return 0;
}

END_OF_MAIN()

Egy 7. osztályos (igen tehetséges) tanítványom csinálta, átírva egy Allegro mintaprogramot. A kód innen is letölthető.

Hozzászólások

Sajnos az én koromban commodore volt csak basic-kel és assembly-vel, pedig többre mentem volna egy linuxszal (ja, akkor még max csak gondolkodott ilyesmin Torvalds bácsi) és egy gcc-vel... Ja meg egy pc-vel (aham, a szüleim örültek volna az ötletnek! ;-)
Már előre félek a pc-n felnőtt generációtól! lehet, hogy hw közeli témában sokkal kevésbé lesznek otthon, de magas színtű programozásban még okozhatnak meglepetéseket!

Jo kis progi.
Jo ideje nem lattam palettaval jatszo kodot.

allgro+allegrogl ajanlod SDL helyett ?

Hmm... A gyári példák alapján egész jó cuccnak tűnik ez az allegro...