<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: allegro code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Wed, 20 Aug 2008 22:40:22 GMT</pubDate>
    <description>DZone Snippets: allegro code</description>
    <item>
      <title>Allegro Dibujos de posicion relativa</title>
      <link>http://snippets.dzone.com/posts/show/2658</link>
      <description>Dibujos en allegro dependiendo de la posicion del mouse&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &lt;allegro.h&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void  dibujo(int x,int y){&lt;br /&gt;      circle (screen, x+100,y+100,100,makecol(128,0,0));&lt;br /&gt;      circlefill (screen,x+50,y+50,20,makecol(0,255,0));&lt;br /&gt;      circlefill (screen,x+150,y+50,20,makecol(0,255,0));&lt;br /&gt;      rect (screen,x+80,y+100,x+120,y+150,makecol(0,0,128));&lt;br /&gt;      line (screen,x+50,y+180,x+150,y+180,makecol(128,128,0));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void init();&lt;br /&gt;void deinit();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;	init();&lt;br /&gt;	show_mouse(screen);&lt;br /&gt;	while (!key[KEY_ESC]) {  &lt;br /&gt;          clear_to_color(screen,0);&lt;br /&gt;          dibujo(mouse_x,mouse_y);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	deinit();&lt;br /&gt;	return 0;&lt;br /&gt;}&lt;br /&gt;END_OF_MAIN();&lt;br /&gt;&lt;br /&gt;void init() {&lt;br /&gt;	int depth, res;&lt;br /&gt;	allegro_init();&lt;br /&gt;	depth = desktop_color_depth();&lt;br /&gt;	if (depth == 0) depth = 32;&lt;br /&gt;	set_color_depth(depth);&lt;br /&gt;	res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);&lt;br /&gt;	if (res != 0) {&lt;br /&gt;		allegro_message(allegro_error);&lt;br /&gt;		exit(-1);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	install_timer();&lt;br /&gt;	install_keyboard();&lt;br /&gt;	install_mouse();&lt;br /&gt;	/* add other initializations here */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void deinit() {&lt;br /&gt;	clear_keybuf();&lt;br /&gt;	/* add other deinitializations here */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 22 Sep 2006 20:09:54 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2658</guid>
      <author>jcongote (John Edgar Congote Calle)</author>
    </item>
    <item>
      <title>Allegro Patron</title>
      <link>http://snippets.dzone.com/posts/show/2657</link>
      <description>Patron para la creacion de programas en allegro iniciando algunas de sus rutinas basicas.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &lt;allegro.h&gt;&lt;br /&gt;&lt;br /&gt;void init();&lt;br /&gt;void deinit();&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;	init();&lt;br /&gt;&lt;br /&gt;	while (!key[KEY_ESC]) {&lt;br /&gt;		/* put your code here */&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	deinit();&lt;br /&gt;	return 0;&lt;br /&gt;}&lt;br /&gt;END_OF_MAIN();&lt;br /&gt;&lt;br /&gt;void init() {&lt;br /&gt;	int depth, res;&lt;br /&gt;	allegro_init();&lt;br /&gt;	depth = desktop_color_depth();&lt;br /&gt;	if (depth == 0) depth = 32;&lt;br /&gt;	set_color_depth(depth);&lt;br /&gt;	res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);&lt;br /&gt;	if (res != 0) {&lt;br /&gt;		allegro_message(allegro_error);&lt;br /&gt;		exit(-1);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	install_timer();&lt;br /&gt;	install_keyboard();&lt;br /&gt;	install_mouse();&lt;br /&gt;	/* add other initializations here */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void deinit() {&lt;br /&gt;	clear_keybuf();&lt;br /&gt;	/* add other deinitializations here */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 22 Sep 2006 20:08:14 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2657</guid>
      <author>jcongote (John Edgar Congote Calle)</author>
    </item>
    <item>
      <title>Circulos en Allegro</title>
      <link>http://snippets.dzone.com/posts/show/2656</link>
      <description>Un codigo para dibujar un circulo en allegro con degradado&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &lt;allegro.h&gt;&lt;br /&gt;&lt;br /&gt;void init();&lt;br /&gt;void deinit();&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;	int cont;&lt;br /&gt;    &lt;br /&gt;    init();&lt;br /&gt;	&lt;br /&gt;	&lt;br /&gt;	for (cont=0;cont&lt;255;cont++){&lt;br /&gt;        circlefill(screen,320,240,255-cont,makecol(cont,0,0));&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;	while (!key[KEY_ESC]) {&lt;br /&gt;		/* put your code here */&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	deinit();&lt;br /&gt;	return 0;&lt;br /&gt;}&lt;br /&gt;END_OF_MAIN();&lt;br /&gt;&lt;br /&gt;void init() {&lt;br /&gt;	int depth, res;&lt;br /&gt;	allegro_init();&lt;br /&gt;	depth = desktop_color_depth();&lt;br /&gt;	if (depth == 0) depth = 32;&lt;br /&gt;	set_color_depth(depth);&lt;br /&gt;	res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);&lt;br /&gt;	if (res != 0) {&lt;br /&gt;		allegro_message(allegro_error);&lt;br /&gt;		exit(-1);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	install_timer();&lt;br /&gt;	install_keyboard();&lt;br /&gt;	install_mouse();&lt;br /&gt;	/* add other initializations here */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void deinit() {&lt;br /&gt;	clear_keybuf();&lt;br /&gt;	/* add other deinitializations here */&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 22 Sep 2006 20:06:14 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2656</guid>
      <author>jcongote (John Edgar Congote Calle)</author>
    </item>
    <item>
      <title>Pong en Allegro</title>
      <link>http://snippets.dzone.com/posts/show/2655</link>
      <description>El Telebolito o pong en allegro, no es completamente funcional... pero es un simple ejemplo.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &lt;allegro.h&gt;&lt;br /&gt;&lt;br /&gt;void init();&lt;br /&gt;void deinit();&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;	init();&lt;br /&gt;&lt;br /&gt;    int p1=110,p2=100;&lt;br /&gt;&lt;br /&gt;    int puntos1=0,puntos2=0;&lt;br /&gt;&lt;br /&gt;    int pause=0;&lt;br /&gt;&lt;br /&gt;    float bx=320,by=240;&lt;br /&gt;&lt;br /&gt;    float dx=1.5,dy=1.5;&lt;br /&gt;&lt;br /&gt;    BITMAP *DB;&lt;br /&gt;    &lt;br /&gt;    DB= create_bitmap(640,480);&lt;br /&gt;&lt;br /&gt;//    show_mouse(screen);&lt;br /&gt;	while (!key[KEY_ESC]) {&lt;br /&gt;&lt;br /&gt;          blit(DB,screen,0,0,0,0,640,480);&lt;br /&gt;          clear_to_color(DB,0);&lt;br /&gt;//          rest(10);&lt;br /&gt;          circlefill(DB,(int)bx,(int)by,20,makecol(255,255,255));&lt;br /&gt;          rect(DB,0,0,640,480,makecol(255,255,255));&lt;br /&gt;          rectfill(DB,25,p1,30,p1+100,makecol(255,255,255));&lt;br /&gt;          rectfill(DB,610,p2,615,p2+100,makecol(255,255,255));&lt;br /&gt;          textprintf_ex(DB,font,50,20,makecol(255,255,255),0,"Player 1: %i Player 2: %u",puntos2,puntos1);&lt;br /&gt;&lt;br /&gt;          if (key[KEY_S])&lt;br /&gt;             p1-=3;&lt;br /&gt;&lt;br /&gt;          if (key[KEY_X])&lt;br /&gt;             p1+=3;&lt;br /&gt;             &lt;br /&gt;          if(key[KEY_UP])&lt;br /&gt;             p2-=3;&lt;br /&gt;             &lt;br /&gt;          if(key[KEY_DOWN])&lt;br /&gt;             p2+=3;&lt;br /&gt;             &lt;br /&gt;          if (key[KEY_G]){&lt;br /&gt;             dx+=1;&lt;br /&gt;             dy+=1;&lt;br /&gt;          }&lt;br /&gt;             &lt;br /&gt;&lt;br /&gt;          bx+=dx;&lt;br /&gt;          by+=dy;&lt;br /&gt;&lt;br /&gt;          if (by==20 || by==460){&lt;br /&gt;             dy*=-1;           &lt;br /&gt;          }&lt;br /&gt;          &lt;br /&gt;          if (bx&gt;590 &amp;&amp; by&gt;=p2 &amp;&amp; by&lt;=p2+100){&lt;br /&gt;             dx*=-1;            &lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;          if (bx&lt;50 &amp;&amp; by&gt;=p1 &amp;&amp; by&lt;=p1+100){&lt;br /&gt;             dx*=-1;            &lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;          if (bx&lt;0){&lt;br /&gt;                     // Gana el jugador de la derecha&lt;br /&gt;           bx=320;&lt;br /&gt;           by=240;          &lt;br /&gt;           puntos1++;&lt;br /&gt;           dx+=0.5;&lt;br /&gt;           dy+=0.5;&lt;br /&gt;          }&lt;br /&gt;          &lt;br /&gt;          if (bx&gt;640){&lt;br /&gt;                       //Gana el jugador de la izq&lt;br /&gt;//          textprintf_ex(screen,font,320,240,makecol())&lt;br /&gt;           bx=320;&lt;br /&gt;           by=240;   &lt;br /&gt;           puntos2++;       &lt;br /&gt;           dx+=0.5;&lt;br /&gt;           dy-=0.5;&lt;br /&gt;          }          &lt;br /&gt;          &lt;br /&gt;&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	&lt;br /&gt;	&lt;br /&gt;&lt;br /&gt;	deinit();&lt;br /&gt;	return 0;&lt;br /&gt;}&lt;br /&gt;END_OF_MAIN();&lt;br /&gt;&lt;br /&gt;void init() {&lt;br /&gt;	int depth, res;&lt;br /&gt;	allegro_init();&lt;br /&gt;	depth = desktop_color_depth();&lt;br /&gt;	if (depth == 0) depth = 32;&lt;br /&gt;	set_color_depth(depth);&lt;br /&gt;	res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);&lt;br /&gt;	if (res != 0) {&lt;br /&gt;		allegro_message(allegro_error);&lt;br /&gt;		exit(-1);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	install_timer();&lt;br /&gt;	install_keyboard();&lt;br /&gt;	install_mouse();&lt;br /&gt;	/* add other initializations here */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void deinit() {&lt;br /&gt;	clear_keybuf();&lt;br /&gt;	/* add other deinitializations here */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 22 Sep 2006 20:03:43 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2655</guid>
      <author>jcongote (John Edgar Congote Calle)</author>
    </item>
    <item>
      <title>Manejo de mouse en Allegro</title>
      <link>http://snippets.dzone.com/posts/show/2654</link>
      <description>Manejo de mouse en Allegro&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &lt;allegro.h&gt;&lt;br /&gt;&lt;br /&gt;void init();&lt;br /&gt;void deinit();&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;	init();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    int x,y;&lt;br /&gt;    show_mouse(screen);&lt;br /&gt;	while (!key[KEY_ESC]) {&lt;br /&gt;		/* put your code here */&lt;br /&gt;  &lt;br /&gt;       for (x=10;x&lt;600;x+=50){&lt;br /&gt;           for (y=10;y&lt;420;y+=60){        &lt;br /&gt;               if (mouse_x &gt; x &amp;&amp; mouse_x &lt; x+40 &amp;&amp; mouse_y &gt;y &amp;&amp; mouse_y &lt; y+50){&lt;br /&gt;                  circlefill(screen, x+20,y+25,20,makecol(128,y%255,0));    &lt;br /&gt;               } else {&lt;br /&gt;                  rectfill(screen, x,y,x+40,y+50,makecol(0,255,0));           &lt;br /&gt;               }&lt;br /&gt;           }    &lt;br /&gt;       }&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	deinit();&lt;br /&gt;	return 0;&lt;br /&gt;}&lt;br /&gt;END_OF_MAIN();&lt;br /&gt; &lt;br /&gt;void init() {&lt;br /&gt;	int depth, res;&lt;br /&gt;	allegro_init();&lt;br /&gt;	depth = desktop_color_depth();&lt;br /&gt;	if (depth == 0) depth = 32;&lt;br /&gt;	set_color_depth(depth);&lt;br /&gt;	res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);&lt;br /&gt;	if (res != 0) {&lt;br /&gt;		allegro_message(allegro_error);&lt;br /&gt;		exit(-1);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	install_timer();&lt;br /&gt;	install_keyboard();&lt;br /&gt;	install_mouse();&lt;br /&gt;	/* add other initializations here */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void deinit() {&lt;br /&gt;	clear_keybuf();&lt;br /&gt;	/* add other deinitializations here */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 22 Sep 2006 20:00:45 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2654</guid>
      <author>jcongote (John Edgar Congote Calle)</author>
    </item>
    <item>
      <title>Animacion en allegro</title>
      <link>http://snippets.dzone.com/posts/show/2653</link>
      <description>Codigo que muestra una pequena animacion en Allegro&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;#include &lt;allegro.h&gt;&lt;br /&gt;&lt;br /&gt;void init();&lt;br /&gt;void deinit();&lt;br /&gt;&lt;br /&gt;int piramide(int a, int b, int c){&lt;br /&gt;    line(screen,a+(c/2),b,a,b+c,makecol(0,128,0));    &lt;br /&gt;    line(screen,a,b+c,a+c,b+c,makecol(0,128,0));&lt;br /&gt;    line(screen,a+c,b+c,a+(c/2),b,makecol(0,128,0));    &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;	init();&lt;br /&gt;	int a,b,inca,incb;&lt;br /&gt;	a=0,b=0;&lt;br /&gt;	inca=1, incb=1;&lt;br /&gt;	while (!key[KEY_ESC]) {&lt;br /&gt;          clear_to_color(screen,0);&lt;br /&gt;            circlefill(screen,a,b,50,makecol(128,0,128));&lt;br /&gt;            a=a+inca;&lt;br /&gt;            b=b+incb;&lt;br /&gt;            &lt;br /&gt;            if (a==200){&lt;br /&gt;               inca=-1;            &lt;br /&gt;            }&lt;br /&gt;        rest(10);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	deinit();&lt;br /&gt;	return 0;&lt;br /&gt;}&lt;br /&gt;END_OF_MAIN();&lt;br /&gt;&lt;br /&gt;void init() {&lt;br /&gt;	int depth, res;&lt;br /&gt;	allegro_init();&lt;br /&gt;	depth = desktop_color_depth();&lt;br /&gt;	if (depth == 0) depth = 32;&lt;br /&gt;	set_color_depth(depth);&lt;br /&gt;	res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);&lt;br /&gt;	if (res != 0) {&lt;br /&gt;		allegro_message(allegro_error);&lt;br /&gt;		exit(-1);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	install_timer();&lt;br /&gt;	install_keyboard();&lt;br /&gt;	install_mouse();&lt;br /&gt;	/* add other initializations here */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void deinit() {&lt;br /&gt;	clear_keybuf();&lt;br /&gt;	/* add other deinitializations here */&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 22 Sep 2006 19:57:37 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2653</guid>
      <author>jcongote (John Edgar Congote Calle)</author>
    </item>
  </channel>
</rss>
