Salve ho fatto questo semplice giochino e non mi funziona la funzione textout! Il compilatore lo compila ma non funziona! Non mi compare nessuna scritta! Spero mi possiate aiutare! GRAZIE
Il problema è in
void punti()!
#include<allegro.h>
#include<stdlib.h>
#include<string.h>
BITMAP *buf,*sprite,*sfondo,*palla,*sprite2;
PALETTE colori;
int x, y,xpalla,ypalla,sx,sy,caso=0,contapunti=0,contapunti1=0,i=0,xp=1,yp=1,color=215;
char score[25],v[15];
void doppiobuffering(){vsync();
blit(buf, screen,0,0,0,0,320,200);
clear(buf);}
void player(){draw_sprite(buf,sprite,x,y);}
void player1(){draw_sprite(buf,sprite2,sx,sy);}
void oggetto(){ draw_sprite(buf,palla,xpalla,ypalla);}
void movimentotasti(){
if(key[KEY_R])caso=0;contapunti=0;contapunti1=0;
if(key[KEY_LEFT])x=x-3;if(x<=0)x=0;/*muove a sinistra*/
if(key[KEY_RIGHT])x=x+3;if(x>=251)x=251;/*muove a destra*/
if(key[KEY_A])sx=sx-2;if(sx<=0)sx=0;/*muove a sinistra*/
if(key[KEY_D])sx=sx+2;if(sx>=251)sx=251;/*muove a destra*/}
void movimentopalla(){if((xpalla>=290)&&(caso==6)){caso=5;}if((xpalla<=2)&&(caso==5)){caso=6;}
if((xpalla>=290)&&(caso==3)){caso=4;}if((xpalla<=2)&&(caso==4)){caso=3;}
if((ypalla>=y-8)&&((xpalla<x+13)&&(xpalla>=x-7))){caso=5;}
if((ypalla>=y-8)&&((xpalla<x+24)&&(xpalla>=x+15))){caso=2;}
if((ypalla>=y-8)&&((xpalla<x+39)&&(xpalla>=x+24))){caso=6;}
if((ypalla<=sy+8)&&((xpalla<sx+13)&&(xpalla>=sx-7))){caso=4;}
if((ypalla<=sy+8)&&((xpalla<sx+24)&&(xpalla>=sx+15))){caso=1;}
if((ypalla<=sy+8)&&((xpalla<sx+39)&&(xpalla>=sx+24))){caso=3;}
if(caso==1){ypalla+=2;}
if(caso==2){ypalla-=2;}
if(caso==3){ypalla+=2;xpalla+=2;}
if(caso==4){ypalla+=2;xpalla-=2;}
if(caso==5){ypalla-=2;xpalla-=2;}
if(caso==6){ypalla-=2;xpalla+=2;}
if(caso==0){xpalla=153;ypalla=100;caso=1;}
}
void punti(){
sprintf(score, "Punti G1:%ld Punti G2:%ld",(long)contapunti,(long)contapunti1);
textout(buf,font,score,1,1,215);
if(ypalla==sy-1){ contapunti++; xpalla=153;ypalla=100;caso=1;x=134;y=193;sx=134;sy=7;}
if(ypalla==y+1){ contapunti1++; xpalla=153;ypalla=100;caso=2;x=134;y=193;sx=134;sy=7;}
}
void fondale(){ blit(sfondo,buf,0,0,0,0,320,200);}
int main(){
allegro_init();
install_keyboard();
set_color_depth(32);/*Colori a 32 bit*/
set_palette(colori);
set_gfx_mode(GFX_AUTODETECT, 320, 200,0,0);
buf=create_bitmap(320,200);
clear(buf);
sprite=load_bmp("playar.bmp",colori);
sprite2=load_bmp("playar.bmp",colori);
sfondo=load_bmp("fondale1.bmp",colori);
palla=load_bmp("palla.bmp",colori);
x=134;y=193;
xpalla=153;ypalla=101;
sx=134;sy=7;
while(!key[KEY_ESC]){
doppiobuffering();
fondale();
player();
player1();
oggetto();
punti();
movimentotasti();
movimentopalla();
}
destroy_bitmap(buf);
destroy_bitmap(sprite);
destroy_bitmap(sprite2);
destroy_bitmap(sfondo);
destroy_bitmap(palla);}
END_OF_MAIN();