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

[Allegro]Problem z ładowaniem i wyświetlaniem mapy.

Ostatnio zmodyfikowano 2013-07-25 20:43
Autor Wiadomość
Loodwin
Temat założony przez niniejszego użytkownika
[Allegro]Problem z ładowaniem i wyświetlaniem mapy.
» 2013-07-25 12:32:44
Witam!
Już od kilku dni mam problem z mapą kafelkową, a dokładniej z ładowaniem jej z pliku. Dzisiaj rozwiązałem kilka problemów, lecz teraz wyświetla mi się tylko czarny ekran. Mam taki kod:
C/C++
#include <allegro.h>
#include <fstream>
#include <string>
#include "head.h"
#include <cstdlib>

using namespace std;

extern BITMAP * bufor;
BITMAP * texture;
BITMAP * mapb;

char akt_map = 5;
string world = "tut";
string mapath;
string ex;
fstream plik;
char znak = 44;

int mapa[ 20 ][ 15 ];

void mapping( char lokacja )
{
    if( akt_map != lokacja )
    {
        akt_map = lokacja;
        mapath = "maps/" + world + "/" + akt_map + ".txt";
        plik.open( mapath.c_str(), ios::in );
       
        for( int i1; i1 < 20; i1++ )
        {
            for( int i2; i2 < 15; i2++ )
            {
                getline( plik, ex, znak );
                mapa[ i1 ][ i2 ] = atoi( ex.c_str() );
            }
        }
       
        for( int i1; i1 < 20; i1++ )
        {
            for( int i2; i2 < 15; i2++ )
            {
                masked_blit( texture, mapb, mapa[ i1 ][ i2 ] * 40, 0, i1 * 40, i2 * 40, 40, 40 );
            };
        };
    }
    blit( mapb, bufor, 0, 0, 0, 0, 800, 600 );
};
To jest tylko plik odpowiadający za rzeczy związane z mapą i innych nie będę wstawiał, bo raczej problem jest tutaj. Z góry dziękuję za pomoc.
P-88735
pekfos
» 2013-07-25 14:40:30
Nie sprawdzasz, czy udało się otworzyć plik, a i1 i i2 nie mają przypisanych wartości początkowych.
P-88751
Loodwin
Temat założony przez niniejszego użytkownika
» 2013-07-25 19:28:47
Okej, okazało się, że problem był ze ścieżką, lecz teraz źle układają się kafelki. Tu mam teraz gdzieś błąd logiczny, lecz nie wiem gdzie. Jeśli zechcielibyście pomóc to bardzo dziękuję.
Zapis w pliku tekstowym przechowującym dane mapy wygląda następująco:

1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,3,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,4,
1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
1,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,
1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,3,0,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,0,1,
1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,
1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,1,1,
1,0,0,0,0,2,0,0,0,2,1,0,0,0,0,0,2,1,1,1,
1,2,2,2,2,1,2,2,2,1,1,2,2,5,2,2,1,1,1,1,
Tylko nie chce żebyście zrozumieli to jako "Napiszcie mi cały program...". Gdybyście chcieli mi jakoś pomóc to się nie obrażę.
P-88770
pekfos
» 2013-07-25 19:57:42
Tylko nie chce żebyście zrozumieli to jako "Napiszcie mi cały program..."
A jak mamy to rozumieć? Nie podałeś aktualnego kodu i nie opisałeś, jak to (nie) działa.
P-88773
Loodwin
Temat założony przez niniejszego użytkownika
» 2013-07-25 20:05:07
Kod pozostaje bez zmian, tylko że zamiast "składać" ścieżki z kilku stringów to wpisałem ją chwilowo taka jaka ma być. A teraz chodzi mi o to, że teraz bitmapa z mapą jest źle "złożona", czyli kafelki są w złych miejscach.
P-88774
pekfos
» 2013-07-25 20:43:29
Poprawiłeś te wartości początkowe w pętlach?
P-88776
« 1 »
  Strona 1 z 1