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

[Allegro, C++] Wchodzenie do budynków.

Ostatnio zmodyfikowano 2010-05-26 15:54
Autor Wiadomość
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?
P-17130
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
P-17131
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?:

C/C++
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 );


//tak zrobiłem tablicę bitmap
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; //dane_z_pliku[nr_dane_z_pliku]
int nr_tlo; //tlo[nr_tlo]

//funkcja wczytująca dane z pliku
void wczytaj_z_pliku() {
    ifstream in( "data.txt" );
    int i = 0;
    while( in >> dane_z_pliku[ i ] )
    {
        i++;
    }
}
//funkcja wczytująca bitmapy
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 ];
    }
}
//wyświetl bitmapę
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?
P-17133
lenrokskate
» 2010-05-26 15:54:58
//ups

pomyłka
P-17167
1 « 2 »
Poprzednia strona Strona 2 z 2