FORMULA_WIERSZ
"wiersz"
FORMULA_ROZMIAR "rozmiar"
FORMULA_CZAS "czas"
FORMULA_LEMING "leming"
FORMULA_PRZEPROWADZ "przeprowadz"
FORMULA_BLOKER "bloker"
FORMULA_KOPACZ_POZIOMY "kopacz_poziomy"
FORMULA_KOPACZ_PIONOWY "kopacz_pionowy"
FORMULA_KOPACZ_GORNY "kopacz_gorny"
FORMULA_KOPACZ_DOLNY "kopacz_dolny"
FORMULA_SCHODKARZ_POZIOMY
"schodkarz_poziomy"
FORMULA_SCHODKARZ_GORNY
"schodkarz_gorny"
FORMULA_SCHODKARZ_DOLNY
"schodkarz_dolny"
FORMULA_BOMBA "bomba"
FORMULA_WEJSCIE "wejscie"
FORMULA_WYJSCIE "wyjscie"
FORMULA_TLO "tlo"
FORMULA_MASKA "maska"
FORMULA_RYSUNEK "rysunek"
FORMULA_PRZESUNIECIE "przesuniecie"
POWIETRZE_PLIK
'O'#define ZIEMIA_PLIK 'Z'
SKALA_PLIK 'S'
WODA_PLIK 'W'
KWAS_PLIK 'T'
CEGLA_L_PLIK 'L'
CEGLA_P_PLIK 'P'
DL_NAZWA 256 -
długość nazwy pliku
DL_FORMULY 32 -
długość formuły
typy pomocnicze
(wewnętrzny):
enum
WczytanieNazwy {
_poprawne, // nazwa poprawnie wczytana
_brak_nazwy, // już nie ma żadnych nie
wczytanych nazw w pliku
_dluga_nazwa, // zbyt dluga nazwa wczytana z
pliku
};
enum Formula {// rozne typy formul
_brak,_komentarz,_rozmiar,_czas,_leming,_przeprowadz,_bloker,_kopacz_poziomy
,_kopacz_pionowy
,_kopacz_gorny,_kopacz_dolny,_schodkarz_poziomy,_schodkarz_gorny,_schodkarz_dolny,
_bomba,_wejscie,_wyjscie,_wiersz,_tlo,_maska,_rysunek,_przesuniecie
};
WejscieWyjscie(const
char *nazwa_pliku)
Konstruktor otwiera plik
"nazwa_pliku" z atrybutem tylko do
odczytu.
~WejscieWyjscie()
Destruktor zamyka otwarty plik.
void
otworzPlik(const char *nazwa_pliku)
Funkcja otwiera plik "nazwa_pliku"
tylko do odczytu.
void
zamknijPlik()
Funkcja zamyka otwarty plik.
Wynik
wczytajParametryKolejnegoEtapuZPliku(Param_etap
¶metry, const char* nazwa)
Funkcja wczytuje parametry kolejnego etapu z
pliku o nazwie: 'nazwa' do struktury:
'parametry'. Funkcja zaklada częściową
poprawność pliku z parametrami.
Wynik
podajParametryKolejnegoEtapu(Param_etap
¶metry)
Funkcja wczytuje nazwę pliku z pliku:
'plik_z_planszami', a następnie wczytuje
parametry kolejnego etapu z pliku o wczytanej
nazwie.
int
zapiszParametryEtapu(Param_etap param, const char*
nazwa)
Funkcja tworzy nowy plik o nazwie: 'nazwa', a
następnie zapisuje do niego parametry planszy
pobierając informacje ze struktury: 'param'.
char
podajKod(typ_teren teren) [prywatna]
Dla każdego typu terenu podaje znak (kod) pod
jaki występuje w pliku.
WczytanieNazwy
wczytajNazwePlikuZParametrami(char *nazwa) [prywatna]
Funkcja wczytuje nazwę pliku z parametrami z
pliku: "plik_z_planszami".
void
pominCiagZnakow(const char znak, ifstream &plik) [prywatna]
Funkcja pomija ciąg znaków: 'znak' w pliku o
uchwycie "plik".
Formula
wczytajFormule(ifstream &plik) [prywatna]
Funkcja wczytuje jedną (kolejną) formułę z
pliku z parametrami.
void
pominKomentarz(ifstream &plik) [prywatna]
Funkcja pomija komentarz (do końca lini).
Para
wczytajWspolrzedne(ifstream &plik) [prywatna]
Funkcja wczytuje współrzedne (MxN - to jest
(M,N)) z pliku.
int
wczytajWartosc(ifstream &plik) [prywatna]
Funkcja wczytuje wartość liczbową z pliku.
int
wczytajNumerWiersza(ifstream &plik) [prywatna]
Funkcja wczytuje z pliku numer definiowanego
wiersza. (@N)
void
wczytajDefinicjeWiersza(int nr,typ_teren **tab, const
Para rozm, ifstream &plik) [prywatna]
Funkcja wczytuje definicje wiersza nr: 'nr' do
tablicy: 'tab' o rozmiarze: 'rozm' z pliku:
'plik'.
void
wczytajNazwePliku(ifstream &plik, char *nazwa) [prywatna]
Wczytuje nazwę (ciag znakow) z pliku: 'plik'
do bufora: 'nazwa'.
void
inicjalizujParametry(Param_etap ¶metry) [prywatna]
Funkcja inicjalizuje strukturę parametry
wartościami zerowymi odpowiednich typów.