Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro] Wypisywanie liczby na ekran

Ostatnio zmodyfikowano 2012-06-12 22:06
Autor Wiadomość
Forczek
Temat założony przez niniejszego użytkownika
[Allegro] Wypisywanie liczby na ekran
» 2012-06-12 20:00:39
Siemka, chciałbym aby wypisywała się liczba punktów na ekranie. Jak napisać: Punkty: (x). Bo w kursie jest: textout_ex( screen, font, "Punkty: ", 20, 20, makecol( 255, 0, 255 ), - 1 ); i jak wstawiam x to jest error. Jak go dobrze wstawić?
P-58327
OSA_PL
» 2012-06-12 21:07:02
textprintf_ex( screen, font, x, y, makecol( 255, 0, 255 ), - 1, "Punkty: %d", zmienna );
P-58332
Forczek
Temat założony przez niniejszego użytkownika
» 2012-06-12 21:44:39
Zmienna się nie wyświetla.
P-58335
Dragonit
» 2012-06-12 21:48:10
To zobacz na czym to wyświetlasz.
P-58336
Forczek
Temat założony przez niniejszego użytkownika
» 2012-06-12 21:49:41
Wyświetlam to na buforze, na którym mam postacie. Widać napis, lecz nie widać zmiennej jest tak:
Twoje punkty to : ( TU ZMIENNA MA BYĆ A JEJ NIE MA )
P-58337
OSA_PL
» 2012-06-12 21:55:40
Pokaż kod
P-58338
Forczek
Temat założony przez niniejszego użytkownika
» 2012-06-12 21:57:28
Daje cały, niektóre wątki są poruszone i nieskończone jak coś:
C/C++
#include <allegro.h>
volatile long speed = 0;
void increment_speed()
{
    speed++;
}
END_OF_FUNCTION( increment_speed );
LOCK_VARIABLE( speed );
LOCK_FUNCTION( increment_speed );
int main()
{
    allegro_init();
    install_keyboard();
    set_color_depth( 16 );
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 500, 0, 0 );
    install_timer();
    install_int_ex( increment_speed, BPS_TO_TIMER( 150 ) );
   
    BITMAP * bufor = NULL;
    BITMAP * postac = NULL;
    BITMAP * postac0 = NULL;
    BITMAP * postac1 = NULL;
    BITMAP * postac2 = NULL;
    BITMAP * postac3 = NULL;
    BITMAP * postac4 = NULL;
    BITMAP * postac5 = NULL;
    BITMAP * ludek = NULL;
    BITMAP * ludek0 = NULL;
    BITMAP * ludek1 = NULL;
    BITMAP * ludek2 = NULL;
    BITMAP * ludek3 = NULL;
    BITMAP * ludek4 = NULL;
    BITMAP * ludek5 = NULL;
    BITMAP * mapa = NULL;
   
    bufor = create_bitmap( 800, 500 );
    if( !bufor )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Nie moge utworzyc bufora !" );
        allegro_exit();
        return 0;
    }
   
    ludek = load_bmp( "ludek.bmp", default_palette );
    ludek0 = load_bmp( "ludek0.bmp", default_palette );
    ludek1 = load_bmp( "ludek1.bmp", default_palette );
    ludek2 = load_bmp( "ludek2.bmp", default_palette );
    ludek3 = load_bmp( "ludek3.bmp", default_palette );
    ludek4 = load_bmp( "ludek4.bmp", default_palette );
    ludek5 = load_bmp( "ludek5.bmp", default_palette );
   
    postac = load_bmp( "postac.bmp", default_palette );
    postac0 = load_bmp( "postac0.bmp", default_palette );
    postac1 = load_bmp( "postac1.bmp", default_palette );
    postac2 = load_bmp( "postac2.bmp", default_palette );
    postac3 = load_bmp( "postac3.bmp", default_palette );
    postac4 = load_bmp( "postac4.bmp", default_palette );
    postac5 = load_bmp( "postac5.bmp", default_palette );
    mapa = load_bmp( "mapa.bmp", default_palette );
   
    int ludek_x = 100, ludek_y = 250;
    int postac_x = 500, postac_y = 240;
    int frame = 0;
    double blokw = false, bloko = false;
    double strzalw = false, strzalo = false;
    int HPw = 100;
    int HPo = 100;
    int ciosw = postac_x - 100;
    int cioso = ludek_x + 100;
    int wino = 0, winw = 0;
   
    while( !key[ KEY_ESC ] )
    {
        while( speed > 0 )
        {
            if( key[ KEY_LEFT ] )
            {
                if( postac_x > 28 )
                {
                    postac_x--;
                }
            }
           
            if( key[ KEY_RIGHT ] )
            {
                if( postac_x < 600 )
                {
                    postac_x++;
                }
            }
           
            if( key[ KEY_UP ] )
            {
                if( postac_y > 150 )
                {
                    postac_y--;
                }
            }
           
            if( key[ KEY_DOWN ] )
            {
                if( postac_y < 240 )
                {
                    postac_y++;
                }
            }
           
            if( key[ KEY_A ] )
            {
                if( ludek_x > 0 )
                {
                    ludek_x--;
                }
            }
           
            if( key[ KEY_D ] )
            {
                if( ludek_x < 600 )
                {
                    ludek_x++;
                }
            }
           
            if( key[ KEY_W ] )
            {
                if( ludek_y > 150 )
                {
                    ludek_y--;
                }
            }
           
            if( key[ KEY_S ] )
            {
                if( ludek_y < 240 )
                {
                    ludek_y++;
                }
            }
           
            if( key[ KEY_4_PAD ] )
            {
                blokw = true;
            }
           
            if( key[ KEY_5_PAD ] )
            {
                if( !bloko, postac_x > ciosw, postac_x < ludek_x )
                {
                    HPo - 10;
                }
            }
           
            if( key[ KEY_6_PAD ] )
            {
                if( !bloko, postac_x > ciosw, postac_x < ludek_x )
                {
                    HPo - 15;
                }
            }
           
            if( key[ KEY_8_PAD ] )
            {
               
            }
           
            if( key[ KEY_G ] )
            {
                bloko = true;
            }
           
            if( key[ KEY_H ] )
            {
                if( !blokw, ludek_x < cioso, ludek_x > postac_x )
                {
                    HPw - 10;
                }
            }
           
            if( key[ KEY_J ] )
            {
                if( !blokw, ludek_x < cioso, ludek_x > postac_x )
                {
                    HPw - 15;
                }
            }
           
            if( key[ KEY_Y ] )
            {
               
            }
           
            speed--;
           
            frame++;
            if( frame > 80 ) frame = 0;
           
        }
        clear_to_color( bufor, makecol( 150, 150, 150 ) );
        clear_to_color( mapa, makecol( 150, 150, 150 ) );
        mapa = load_bmp( "mapa.bmp", default_palette );
        if( key[ KEY_A ] )
        {
            if( frame < 75 ) { draw_sprite( mapa, ludek, ludek_x, ludek_y ); }
            else if( frame >= 75 && frame < 150 ) { draw_sprite( mapa, ludek4, ludek_x, ludek_y ); }
        }
        else if( key[ KEY_D ] )
        {
            if( frame < 75 ) { draw_sprite( mapa, ludek, ludek_x, ludek_y ); }
            else if( frame >= 75 && frame < 150 ) { draw_sprite( mapa, ludek4, ludek_x, ludek_y ); }
        }
        else if( key[ KEY_W ] )
        {
            if( frame < 75 ) { draw_sprite( mapa, ludek, ludek_x, ludek_y ); }
            else if( frame >= 75 && frame < 150 ) { draw_sprite( mapa, ludek4, ludek_x, ludek_y ); }
        }
        else if( key[ KEY_S ] )
        {
            if( frame < 75 ) { draw_sprite( mapa, ludek, ludek_x, ludek_y ); }
            else if( frame >= 75 && frame < 150 ) { draw_sprite( mapa, ludek4, ludek_x, ludek_y ); }
        }
        else if( key[ KEY_G ] )
        {
            if( frame < 150 ) { draw_sprite( mapa, ludek0, ludek_x, ludek_y ); }
        }
        else if( key[ KEY_J ] )
        {
            if( frame < 50 ) { draw_sprite( mapa, ludek, ludek_x, ludek_y ); }
            else if( frame >= 50 && frame < 150 ) { draw_sprite( mapa, ludek2, ludek_x, ludek_y ); }
        }
        else if( key[ KEY_H ] )
        {
            if( frame < 150 ) { draw_sprite( mapa, ludek1, ludek_x, ludek_y ); }
        }
        else if( key[ KEY_Y ] )
        {
            if( frame < 150 ) { draw_sprite( mapa, ludek3, ludek_x, ludek_y ); }
        }
        else
        {
            if( frame < 150 ) { draw_sprite( mapa, ludek, ludek_x, ludek_y ); }
        }
       
        if( key[ KEY_LEFT ] )
        {
            if( frame < 75 ) { draw_sprite( mapa, postac, postac_x, postac_y ); }
            else if( frame >= 75 && frame < 150 ) { draw_sprite( mapa, postac4, postac_x, postac_y ); }
        }
        else if( key[ KEY_RIGHT ] )
        {
            if( frame < 75 ) { draw_sprite( mapa, postac, postac_x, postac_y ); }
            else if( frame >= 75 && frame < 150 ) { draw_sprite( mapa, postac4, postac_x, postac_y ); }
        }
        else if( key[ KEY_UP ] )
        {
            if( frame < 75 ) { draw_sprite( mapa, postac, postac_x, postac_y ); }
            else if( frame >= 75 && frame < 150 ) { draw_sprite( mapa, postac4, postac_x, postac_y ); }
        }
        else if( key[ KEY_DOWN ] )
        {
            if( frame < 75 ) { draw_sprite( mapa, postac, postac_x, postac_y ); }
            else if( frame >= 75 && frame < 150 ) { draw_sprite( mapa, postac4, postac_x, postac_y ); }
        }
        else if( key[ KEY_4_PAD ] )
        {
            if( frame < 150 ) { draw_sprite( mapa, postac0, postac_x, postac_y ); }
        }
        else if( key[ KEY_6_PAD ] )
        {
            if( frame < 50 ) { draw_sprite( mapa, postac, postac_x, postac_y ); }
            else if( frame >= 50 && frame < 150 ) { draw_sprite( mapa, postac2, postac_x, postac_y ); }
        }
        else if( key[ KEY_5_PAD ] )
        {
            if( frame < 150 ) { draw_sprite( mapa, postac1, postac_x, postac_y ); }
        }
        else if( key[ KEY_8_PAD ] )
        {
            if( frame < 150 ) { draw_sprite( mapa, postac3, postac_x, postac_y ); }
        }
        else
        {
            if( frame < 150 ) { draw_sprite( mapa, postac, postac_x, postac_y ); }
        }
        blokw = false;
        bloko = false;
        if( HPw < 0 )
        {
            HPw = 100;
            HPo = 100;
            wino + 1;
            ludek_x = 100, ludek_y = 300;
            postac_x = 500, postac_y = 300;
        }
        else if( HPo < 0 )
        {
            HPw = 100;
            HPo = 100;
            winw + 1;
            ludek_x = 100, ludek_y = 300;
            postac_x = 500, postac_y = 300;
        }
        textprintf_ex( mapa, font, 600, 75, makecol( 0, 20, 255 ), - 1, "HP WODY: ", HPw );
        textprintf_ex( mapa, font, 160, 75, makecol( 255, 0, 0 ), - 1, "HP OGNIA: ", HPo );
        blit( mapa, bufor, 0, 0, 0, 0, 800, 500 );
        blit( bufor, screen, 0, 0, 0, 0, 800, 500 );
    }
    remove_int( increment_speed );
    destroy_bitmap( ludek0 );
    destroy_bitmap( ludek1 );
    destroy_bitmap( ludek2 );
    destroy_bitmap( ludek3 );
    destroy_bitmap( ludek4 );
    destroy_bitmap( ludek5 );
    destroy_bitmap( postac );
    destroy_bitmap( postac0 );
    destroy_bitmap( postac1 );
    destroy_bitmap( postac2 );
    destroy_bitmap( postac3 );
    destroy_bitmap( postac4 );
    destroy_bitmap( postac5 );
    destroy_bitmap( bufor );
    destroy_bitmap( mapa );
    allegro_exit();
    return 0;
}
END_OF_MAIN();[ / cpp
Jeszcze nie sko ń czony i kilka rzeczy poprawi ę.To jest nawalanka Woda na Ogie ń.HPw - HP wody HPo - HP ognia
P-58339
OSA_PL
» 2012-06-12 22:03:02
C/C++
textprintf_ex( mapa, font, 600, 75, makecol( 0, 20, 255 ), - 1, "HP WODY: %d", HPw );
textprintf_ex( mapa, font, 160, 75, makecol( 255, 0, 0 ), - 1, "HP OGNIA: %d", HPo ); //tak powinno być
P-58340
« 1 » 2
  Strona 1 z 2 Następna strona