[Allegro, C++] Wchodzenie do budynków.
Ostatnio zmodyfikowano 2010-05-26 15:54
lemis.aryl Temat założony przez niniejszego użytkownika |
» 2010-05-24 21:28:35 Do każdego kolejnego elementu tablicy zapisywany jest kolejny znak z pliku, tak? |
|
ison |
» 2010-05-24 21:42:21 Nie. z pliku ifstreamem mozesz wczytywac tylko pelne 'slowa'. Zawsze wczytywany jest ciag znaków az do napotkania bialego znaku w postaci spacji, nowej lini lub domyslnie generowanego przez notatnik znak konca zbioru na koncu pliku. przykladowo jesli zawartosc pliku data.dat to 123
i wczytasz z niego dane poprzez in >> zmienna_typu_int; to zmienna bedzie wynosila 123 zaś jeśli data.dat: 1 2 3
i wczytasz tak samo to zmienna bedzie wynosila 1. Wtedy mozesz wczytac nastepna zmienna: in >> nastepna_zmienna; i druga bedzie wynosila 2 |
|
lemis.aryl Temat założony przez niniejszego użytkownika |
» 2010-05-24 21:50:45 Nie wiem dlaczego ale jak pierwszy raz próbowałem to nie działało tak jak powinno ale teraz jest w porządku. Stanąłem za to na tablicy. Możesz mi podpowiedzieć jak ma wyglądać tablica bitmap? Chodzi mi o to: 1. Jakiego typu ma być tablica? 2. Co ma zawierać pomieszczenie[num]? Dzięki, że poświęciłeś mi swój czas. Bardzo mi do tej pory pomogłeś. O taką tablicę bitmap chodziło?: BITMAP * pom[ 3 ]; pom[ 0 ] = load_bmp( "tlo1.bmp", default_palette ); pom[ 1 ] = load_bmp( "tlo2.bmp", default_palette ); pom[ 2 ] = load_bmp( "tlo3.bmp", default_palette );
BITMAP * tlo[ 2 ]; tlo[ 0 ] = load_bmp( "tloxxl.bmp", default_palette ); tlo[ 1 ] = load_bmp( "dom.bmp", default_palette );
int dane_z_pliku[ 10 ]; int nr_dane_z_pliku; int nr_tlo;
void wczytaj_z_pliku() { ifstream in( "data.txt" ); int i = 0; while( in >> dane_z_pliku[ i ] ) { i++; } }
void wczytajbmp( int pozx, int pozy ) { nr_dane_z_pliku = nr_tlo * 5; if( nr_tla == dane_z_pliku[ nr_dane_z_pliku ] && pozx > dane_z_pliku[ nr_dane_z_pliku + 1 ] && pozx < dane_z_pliku[ nr_dane_z_pliku + 2 ] && pozy < dane_z_pliku[ nr_dane_z_pliku + 3 ] ) { nr_tlo = dane_z_pliku[ nr_dane_z_pliku + 4 ]; } }
masked_blit( tlo[ nr_tlo ], bufor, 0, 0, 0, 0, tlo[ nr_tlo ]->w, tlo[ nr_tlo ]->h );
zawartość pliku data.txt to: 0 200 250 70 1 1 300 350 60 0
O to mniej więcej chodziło? |
|
lenrokskate |
» 2010-05-26 15:54:58 //ups
pomyłka |
|
1 « 2 » |