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

[Allegro] Fachowa ocena + zamykanie

Ostatnio zmodyfikowano 2008-06-16 21:21
Autor Wiadomość
E.x.e.r
Temat założony przez niniejszego użytkownika
[Allegro] Fachowa ocena + zamykanie
» 2008-06-16 20:08:34
C/C++
#include <allegro.h>
int main()
{
    allegro_init();
    install_keyboard();
    set_color_depth( 32 );
    set_gfx_mode( GFX_AUTODETECT, 800, 600, 0, 0 );
    clear_to_color( screen, makecol( 128, 128, 128 ) );
    //Wszystkie części grafiki!//
    BITMAP * background_menu = NULL;
    BITMAP * element1_menu = NULL;
    BITMAP * element2_menu = NULL;
    BITMAP * close_menu = NULL;
    //1 część grafiki!//
    background_menu = load_tga( "Data/Graphics/background_menu.tga", default_palette );
    if( !background_menu )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_exit();
        return 0;
    }
    blit( background_menu, screen, 0, 0, 0, 0, background_menu->w, background_menu->h );
    destroy_bitmap( background_menu );
    //2 część grafiki!//
    element1_menu = load_tga( "Data/Graphics/element1_menu.tga", default_palette );
    if( !element1_menu )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_exit();
        return 0;
    }
    masked_blit( element1_menu, screen, 0, 0, 0, 0, element1_menu->w, element1_menu->h );
    destroy_bitmap( element1_menu );
    //3 część grafiki!//
    element2_menu = load_tga( "Data/Graphics/element2_menu.tga", default_palette );
    if( !element2_menu )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_exit();
        return 0;
    }
    masked_blit( element2_menu, screen, 0, 0, 0, 0, element2_menu->w, element2_menu->h );
    destroy_bitmap( element2_menu );
    //Krzyzyk :D!//
    close_menu = load_tga( "Data/Graphics/close_menu.tga", default_palette );
    if( !close_menu )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_exit();
        return 0;
    }
    masked_blit( close_menu, screen, 0, 0, 776, 3, close_menu->w, close_menu->h );
    readkey();
    destroy_bitmap( close_menu );
    //Koniec części!//
    allegro_exit();
    return 0;
}
END_OF_MAIN();


Standardowo :D Kodzik oraz pytania:
- Czy wszystkie części kodu są poprawnie zapisane? (Program działa, ale pytam na zaś)
- Jak zrobić coś takiego, że gdy użytkownik kliknie w polu bitmapy close_menu.tga
,program zamykał się... Bo teraz zamyka się po naciśnięciu klawisza. Wiem ,że jest tam komenda "czekać na dowolny klawisz", nie wiem jak ją zastąpić :)
P-852
DejaVu
» 2008-06-16 21:21:04
Jeśli interesuje Ciebie obsługa myszki, to odsyłam do ostatniego rozdziału kursu Allegro: http://ddt.pl/kursy/?LessonId=157.

Co do poprawności kodu... każdy kod jest poprawny dopóki spełnia swoje założenia, tj. działa tak jak autor tego chciał. Nie ma sensu jednak abyśmy zabierali głos w sprawie czy można to lepiej zapisać itp, ponieważ jesteśmy w stanie przedstawić Ci kod tego samego programu na wiele różnych sposobów w tym i takie, których z dużym prawdopodobieństwem zrozumienie zajęłoby Ci bardzo dużo czasu. Ty uznałbyś to za np. bezsens taki kod, który tak ciężko zrozumieć, a np. ja uznałbym, że program jest dużo bardziej przemyslany pod kątem ewentualnego przyszłego rozwoju.

To by było chyba na tyle :)
P-853
« 1 »
  Strona 1 z 1