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

[allegro] Tworzenie map/plansz w allegro

Ostatnio zmodyfikowano 2009-11-14 18:49
Autor Wiadomość
cusek
Temat założony przez niniejszego użytkownika
[allegro] Tworzenie map/plansz w allegro
» 2009-11-04 08:43:49
Witam

Zacząłem pisać grę coś pokroju bombermana i teraz zastanawiam się jak tworzyć mapy, ustawianie wszystkich "klocków" na plaszny jest bardzo uciążliwe i czasochłonne szczególnie przy np 30 mapach.


Macie jakieś pomysły
P-11272
DejaVu
» 2009-11-04 16:45:06
1) napisać generator
2) napisać edytor i zatrudnić kolegów :)
P-11277
szyx_yankez
» 2009-11-04 20:41:59
ja bym to zrobił tak
C/C++
int random( int nMin, int nMax ) { return rand() %( nMax - nMin + 1 ) - nMin; }

void wys_mape()
{
    int licznik_x, licznik_y;
    for( licznik_x = 0; licznik_x < 13; licznik_x++ )
    {
        for( licznik_y = 0; licznik_y < 11; licznik_y++ )
        {
            blit( teren, bufor,
            ( map[ licznik_y + mapa_y ][ licznik_x + mapa_x ] % 4 ) * 100,
            ( map[ licznik_y + mapa_y ][ licznik_x + mapa_x ] / 4 ) * 100,
            licznik_x * 100, licznik_y * 100, 100, 100 );
        }
    }
};


int aa[ 25 ];

for( int i = 0; i < 25; i++ )
aa[ i ] = random( 0, 10 )
{
    int map[ 5 ][ 5 ] =
    {
        aa[ 0 ], aa[ 1 ], aa[ 2 ], aa[ 3 ], aa[ 4 ],
        aa[ 5 ], aa[ 6 ], aa[ 7 ], aa[ 8 ], aa[ 9 ],
        aa[ 10 ], aa[ 11 ], aa[ 12 ], aa[ 13 ], aa[ 14 ],
        aa[ 15 ], aa[ 16 ], aa[ 17 ], aa[ 18 ], aa[ 19 ],
        aa[ 20 ], aa[ 21 ], aa[ 22 ], aa[ 23 ], aa[ 24 ],
       
    };
    wys_mape();
   
}
wydaje mi sei ze tak
P-11292
DejaVu
» 2009-11-04 21:12:02
Twoje rozwiązanie to syzyfowa praca ;) wyobraź sobie, że masz mapę 1000x1000 i chcesz ją wypełnić losowymi wartościami. Będziesz milion razy pisał w której komórce jaka ma się wartość znaleźć? Pokombinuj z pętlami.
P-11294
cusek
Temat założony przez niniejszego użytkownika
» 2009-11-04 21:39:04
Piotr, jak sobie to wyobrażasz?
P-11296
Elaine
» 2009-11-04 21:43:39
Nawet pętla nie jest potrzebna - w bibliotece standardowej (w headerze <algorithm>) jest coś takiego jak generate, co jest stworzone na właśnie takie przypadki:
C/C++
const int YSIZE = 256;
const int XSIZE = 512;
int map[ YSIZE ][ XSIZE ];
// funkcja losująca liczbę 0..10
int rand10()
{ return rand() % 11; }
// właściwe wypełnianie
// rzutowania - brzydko, ale pisałem na szybko
generate(( int * ) map,( int * ) map + YSIZE * XSIZE, & rand10 );
P-11297
cooldev
» 2009-11-14 18:49:16
http://easykoder.vot.pl/download/
Tam klikasz scrollowanie mapy i masz ciekawego arta
Baaaaaaaaaardzo się przyda
P-11577
« 1 »
  Strona 1 z 1