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

[c++ allegro] Mapa kafelkowa

Ostatnio zmodyfikowano 2011-06-06 17:39
Autor Wiadomość
poldek
Temat założony przez niniejszego użytkownika
[c++ allegro] Mapa kafelkowa
» 2011-06-05 19:02:03
Witam zaczynam się bawić z kafelkami więc poszperałem po forum i znalazłem kod przerobiłem go trochę ,ale nie chce za bardzo działać i jakoś nie mogę se z tym poradzić więc do wasz pisze... Jestem nowicjuszem w kafelka więc za bardzo nie krytykujcie xD Teraz kod.

Chodzi o to że mi nie wyświetla żadnej kafelki.
C/C++
#include <allegro.h>

int main() {
   
    allegro_init();
    install_keyboard();
    //install_mouse();
    set_color_depth( 16 );
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0 );
    clear_to_color( screen, makecol( 128, 128, 128 ) );
   
    BITMAP * kafel01 = NULL;
    BITMAP * kafel02 = NULL;
    BITMAP * bufor = NULL;
   
    bufor = create_bitmap( 640, 480 );
   
    kafel01 = load_bmp( "kafel1.bmp", default_palette );
    kafel02 = load_bmp( "kafel2.bmp", default_palette );
   
    if(( !kafel01 ) ||( !kafel02 ) ) {
       
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "Popsules jakis obrazek/bufora" );
       
        allegro_exit();
        return 0;
    }
   
    int mapa[ 20 ][ 20 ] = {
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    };
   
    int map_x = 0;
    int map_y = 0;
   
    int szerokosc_kafla = 40;
    int wysokosc_kafla = 40;
   
    while( !key[ KEY_ESC ] ) {
       
        for( int x = 0; x > 10; x++ )
        {
            for( int y = 0; y > 10; y++ )
            {
                if( mapa[ x ][ y ] == 0 ) blit( kafel01, bufor, 0, 0, map_x + x * szerokosc_kafla, y * wysokosc_kafla, szerokosc_kafla, wysokosc_kafla );
               
                if( mapa[ x ][ y ] == 1 ) blit( kafel02, bufor, 0, 0, map_x + x * szerokosc_kafla, y * wysokosc_kafla, szerokosc_kafla, wysokosc_kafla );
               
            }
        }
       
        if( key[ KEY_RIGHT ] ) map_x++;
        else if( key[ KEY_LEFT ] ) map_x--;
        else if( key[ KEY_DOWN ] ) map_y++;
        else if( key[ KEY_UP ] ) map_y--;
       
        blit( bufor, screen, 0, 0, 0, 0, 640, 480 );
        clear_to_color( bufor, makecol( 150, 150, 150 ) );
    }
   
    destroy_bitmap( kafel01 );
    destroy_bitmap( kafel02 );
    destroy_bitmap( bufor );
   
    allegro_exit();
    return 0;
}
END_OF_MAIN();
P-33882
absflg
» 2011-06-05 19:15:45
Wszystko fajnie. Ale o co chodzi?
P-33883
DejaVu
» 2011-06-05 20:26:38
Wejdź na stronę Easykodera i poczytaj o mapie kafelkowej. O ile mnie pamięć nie myli miał tam artykuł poświęcony temu.
P-33886
SeaMonster131
» 2011-06-05 22:25:45
for( int x = 0; x > 10; x++ )

Hmm... czy 0 jest większe od 10?
P-33897
poldek
Temat założony przez niniejszego użytkownika
» 2011-06-06 17:39:48
A to tu był błąd .... dzięki teraz ładnie śmiga :]
P-33913
« 1 »
  Strona 1 z 1