kitty177 Temat założony przez niniejszego użytkownika |
[Allegro]Wczytywanie mapy z pliku » 2009-08-13 17:08:02 Do tej pory mapy tworzylam i wczytywalam tak: short int map[ 12 ][ 16 ] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 1, 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, };
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 ) * 40, ( map[ licznik_y + mapa_y ][ licznik_x + mapa_x ] / 4 ) * 40, licznik_x * 40, licznik_y * 40, 40, 40 ); } } };
Jak zrobic, aby numery tekstur miec w pliku .txt i jedynie wczytywac je do programu.Probowalam tego, ale wyswietla same "0": bool load_mapa( const char * f_sFileName ) { std::fstream plik; plik.open( "plik.txt", std::ios::in ); if( !plik.good() ) return false; std::string wiersz; while( getline( plik, wiersz ) ) { for( int i = 0; i < wiersz.length(); i++ ) { plik >> map[ 12 ][ 16 ]; } } return true; }
Co jest w tym zle? Zaznaczam ze zalezy mi aby plik tekstowy zawieral same cyfry. |