Exemple #1
0
TPlansza* TMapa::Odczytaj(Wsp ktora)
/*  Odczytuje plansze o zadanych wspolrzednych,
    a jezeli jeszcze takiej nie ma w kolekcji
    to zwraca NULL */
{
	TPlansza *wynik;
    list<Wsp>::iterator it;
    int match=0;

    for(it=Dostepne_Plansze.begin(); it !=Dostepne_Plansze.end(); it++)
    {
    	if(*it == ktora)
        {
        	match=1;
            break;
        }
    }
    if(match)
    {
        wynik = new TPlansza;
        ifstream wejscie(ktora.nazwa_pliku());
        wynik->wczytaj(wejscie);
        wejscie.close();
        return wynik;
    }
    else
    	return 0;
}
EnemyParser::EnemyParser(GameMaster *mistrzGry)
{
	this->mistrzGry = mistrzGry;
	aktualnaGrupa = -1;
	bylBlad = false;

	QFile plik(PLIK_PRZECIWNIKOW);
	if(!plik.open(QIODevice::ReadOnly))
	{
		trescBledu = QString::fromUtf8( "Nie udało się wczytać pliku");
		bylBlad = true;
		return;
	}
	QTextStream wejscie(&plik);

	bylBlad = wczytajDane(&wejscie);
	plik.close();

	if(!bylBlad && aktualnaGrupa != -1 && !mistrzGry->enemyGroups_.contains(aktualnaGrupa))
	{
		trescBledu = QString::fromUtf8("Grupa nie może być pusta.\n Pusta jest grupa: ") + aktualnaGrupa;
		bylBlad = true;
	}

}
Exemple #3
0
TPlansza* TMapa::Daj_Inna(Wsp &niz_ktora)
/*  Odczytuje plansze o innych niz zadane wspolrzednych,
    a jezeli jeszcze takiej nie ma w kolekcji (np. jest
    tylko 1, to zwraca NULL, ustawia parametr na wylosowana
    plansze */
{
	TPlansza *wynik;
    list<Wsp>::iterator it;
    int ok=0,i;
    if(Dostepne_Plansze.size() == 0)
    	return 0;
    if(Dostepne_Plansze.size() == 1 && Dostepne_Plansze.front() == niz_ktora)
    	return 0;
    while(!ok)
    {
    	it = Dostepne_Plansze.begin();
    	for(i=0; i < rand() % Dostepne_Plansze.size(); i++)
        	it++;
        if(!(*it == niz_ktora))
        	ok = 1;
    }
    wynik = new TPlansza;
    niz_ktora = *it;
    ifstream wejscie(niz_ktora.nazwa_pliku());
    wynik->wczytaj(wejscie);
    wejscie.close();
    return wynik;
}
BoardParser::BoardParser(Board* plansza)
{
	bylBlad = false;
	this->plansza = plansza;
	QFile ustawienie(PLIK_USTAWIENIA_PLANSZY);

	if(!ustawienie.open(QIODevice::ReadOnly))
	{
		trescBledu = QString::fromUtf8("Nie udało się wczytać pliku.");
		bylBlad = true;
		return;
	}
	QTextStream wejscie(&ustawienie);

	bylBlad = wczytajWymiary(&wejscie);
	if(!bylBlad)
		bylBlad = wczytajLegende(&wejscie);
	if(!bylBlad)
		bylBlad = wczytajUstawienie(&wejscie);

	if(!bylBlad && !nastepny(&wejscie).isEmpty())
	{
		trescBledu = QString::fromUtf8("Plik wejściowy jest za długi.");
		bylBlad = true;
	}
	ustawienie.close();
}
ItemParser::ItemParser(GameMaster *mistrz)
{
	this->mistrzGry = mistrz;
	aktualnaGrupa = "";
	bylBlad = false;

	QFile plik(PLIK_PRZEDMIOTOW);
		if(!plik.open(QIODevice::ReadOnly))
		{
			trescBledu = QString::fromUtf8("Nie udało się wczytać pliku");
			bylBlad = true;
			return;
		}
		QTextStream wejscie(&plik);
		bylBlad = wczytajDane(&wejscie);
		plik.close();
}