                 Oto jest kod programu BURNFOREST.

 ZANIM COKOLWIEK TERAZ UCZYNISZ, PRZECZYTAJ *UWAZNIE* TEN PLIK DO KONCA,
 A NASTEPNIE ROWNIE UWAZNIE PRZECZYTAJ PLIK KERNEL.CPP !!!!


Tam znajdziesz wszystkie informacje. Tutaj jest kilka
uwag, ktorych tam nie wypadalo umieszczac, ale sa strategiczne! ;-).
_______________________________________________________________________________

:KONSTRUKCJA KODU:
|
\-katalog glowny:
    |
    + kernel.cpp/kernel.h                       // glowne pliki
    |
    |
    \-katalog "o_nazwie_systemu_docelowego":
        |
        + burnforest.cpp (albo) bf.cpp         // plik z funkcja main()
        + io.cpp/io.h                          // pliki okreslajace operacje
        |                                      // wejscia/wyjscia
        |
        + inne pliki uzywane przez wersje specyficzna dla danego systemu
_______________________________________________________________________________

przy czym:

1. burnforest.cpp include'uje plik kernel.h
2. kernel.cpp (oprocz bibliotek standardowych c++) include'uje plik io.h
   I TYLKO TEN PLIK! 
3. kernel.cpp NIE ZAWIERA ZADNYCH OPERACJI WE/WY ANI NIE UJETYCH W
   STANDARDZIE 'DODATKOW', BOWIEM JEST Z ZALOZENIA KOMPATYBILNY Z
   CZYSTYM C++! (od dodatkow sa wlasnie io.h/io.cpp i burnforest.cpp,
   wzglednie inne, include'owane przez nie pliki.
_______________________________________________________________________________

aktualnie supportowane systemy:

1. MS Windows 32-bitowe                                      (katalog "win")
   (obsluga okienek z uzyciem klas VCL)
2. Multiplatformowy tryb tekstowy  
   w tym: MS-DOS, Linux, SunOS, etc.                          (katalog "x") 
_______________________________________________________________________________

Jesli chodzi o katalog "x", to nie ma tam prawie zadnej obslugi ekranu.
Jest tam jedynie szkielet, pozwalajacy na skompilowanie wykonywalnej i
funkcjonalnej  wersji programu. Program ten, poniewaz stworzony zostal
do trybu tekstowego, nie moze przeprowadzac wizualizacji sensu stricte,
natomiast w zamian moze zapisywac "zrzuty ekranu" do plikow graficznych
(PGM - Portable GreyMap), ktore to nastepnie mozna zsynstetyzowac na
przyklad w animacje.

Uwaga! Z nieznanych mi przyczyn pod niektorymi wersjami systemow UNIXowych
program kompiluje sie, lecz pliki wyjsciowe maja rozmiar ZERO! Poszukuje
rozwiazania tego problemu, lecz poki co, aby wygenerowac plik wyjsciowy
nalezy sie posluzyc przekierowaniem z linii komend, czyli np. wpisac tak:

bf 120 120 -32 1.7 10 1 cos.txt > wyniki.txt

wtedy wszystko co bf wypisuje zazwyczaj na ekran trafi do pliku wyniki.txt.
Natomiast wygenerowany przy okazji plik cos.txt (i lastwork.txt - ale to inna
sprawa) bedzie niestety mial rozmiar zero.

Powyzsza komplikacja dla MS-DOS i MS-Windows nie zachodzi. 
(Za to systemy te znacznie czesciej sie wieszaja ;)
_______________________________________________________________________________

Od wersji 2.5 (a faktycznie - w sposob nieudokumentowany - od wersji 2.4)
program jest odporny na przerwanie pracy - w przypadku jego wystapienia,
przy najblizszym uruchomieniu sprawdza, czy i co ostatnio robil,
oraz czy skonczyl (dane te przechowuje w pliku lastwork.txt - dokladny sposob
odczytu tego pliku opisany jest w io.h). Jezeli okaze sie, ze jego praca zostala
przerwana przed koncem obliczen, to uzytkownik zostanie zapytany, czy chce 
kontynuowac.
_______________________________________________________________________________


                                 UWAGA!
                                
/*--------------------------------------------------------------------------
 PROJEKT BURNFOREST
 Code & management by Ryszard Kostecki
 All rights reserved.
--------------------------------------------------------------------------
 e-mail: rpkost@tempac.okwf.fuw.edu.pl
    www: http://tempac.okwf.fuw.edu.pl/~rpkost
--------------------------------------------------------------------------
 Dokonywanie zmian w kodzie jest dozwolone na wlasny uzytek, aczkolwiek
 wtedy rozpowszechnianie zmienionego kodu wymaga zgody autora.
 Jezeli jestes w stanie przyspieszyc lub w jakikolwiek inny sposob ulepszyc
 dzialanie programu - napisz do mnie! Wszystkie ulepszenia mile widziane.
 Oczywiscie za bledy i uszkodzenia wynikle z pracy programu nie odpowiadam,
 etc.
 --------------------------------------------------------------------------*/

      !!! TERAZ KONIECZNIE PRZECZYTAJ PLIK KERNEL.CPP !!!

_______________________________________________________________________________
ostatnia aktualizacja: 11.8.2k1