home *** CD-ROM | disk | FTP | other *** search
- /***************************************/
- // Nastavení p²ikompilovávan∞ch modulà: /
- /***************************************/
-
- // Bu╘to se p²ikompilují vτechny moduly:
- # define INCLUDE_MODULE_ALL 1
-
- // Nebo pouze následující vybrané:
- # define INCLUDE_MODULE_DAMY 1
- # define INCLUDE_MODULE_STANICE 1
- # define INCLUDE_MODULE_TSP 1
- # define INCLUDE_MODULE_CESTA 1
-
- // Poznámka ƒ.1: Moduly se vy²azují z ƒinnosti zakomentováním (tzn. p²idáním
- // dvou lomítek na zaƒátek ²ádku, podobn╪ jako je zakomentován tento text).
- // Poznámka ƒ.2: Zm╪ny v zakomentování dílƒích modulà nemají na program vliv,
- // pokud není souƒasn╪ zakomentován ²ádek pro p²ikompilování vτech modulà.
- // Poznámka ƒ.3: Vºdy musí b∞t v ƒinnosti alespoσ jeden modul.
-
- /***************************************/
-
- # ifdef INCLUDE_MODULE_ALL
- # define INCLUDE_MODULE_DAMY 1
- # define INCLUDE_MODULE_STANICE 1
- # define INCLUDE_MODULE_TSP 1
- # define INCLUDE_MODULE_CESTA 1
- # endif
-
- struct _ModulInfo {
- string KrátkéJméno; // krátké jméno modulu - max. 8 znakà, bez diakritiky
- string DlouhéJméno; // dlouhé jméno modulu - libovolná délka, vƒ. diakritiky
- string Popis; // struƒn∞ popis ƒinnosti modulu
- double Verze; // Ēslo verze modulu
- TypDatum Datum; // datum poslední aktualizace modulu
- string Autor; // jméno autora modulu
- string Kontakt; // kontaktní údaje autora modulu
- // ukazatele na funkce:
- void (*Start)(void); // p²ed startem v∞poƒtu
- void (*Hotovo)(void); // po dokonƒení v∞poƒtu
- void (*Θklid)(void); // úklid po ƒinnosti modulu
- void (*ZadáníVstupu)(void); // zadání vstupních dat v∞poƒtu
- void (*OptimalizaceVstupu)(void); // optimalizace vstupních dat v∞poƒtu
- void (*OpakováníInicializace)(void); // inicializace opakování ƒlánkà
- int (*OpakováníTest)(void); // test, zda pokraƒovat v opakování ƒlánkà
- void (*OpakováníIterace)(void); // iterace p²i opakování ƒlánkà
- void (*Dalτí¼lánek_P²ed)(void); // p²ed zapoƒetím v∞poƒtem dalτího ƒlánku
- void (*Dalτí¼lánek_Po)(void); // po dokonƒení v∞poƒtu dalτího ƒlánku
- int (*TestVyhovuje)(void); // test, zda aktuální ²eτení vyhovuje podmínkám
- int (*TestNalezeno)(void); // test, zda bylo nalezeno kompletní ²eτení
- void (*Nalezeno)(void); // p²i nalezení kompletního vyhovujícího ²eτení
- } ModulyInfo[0
-
- # ifdef INCLUDE_MODULE_DAMY
- +1
- # endif
-
- # ifdef INCLUDE_MODULE_STANICE
- +1
- # endif
-
- # ifdef INCLUDE_MODULE_TSP
- +1
- # endif
-
- # ifdef INCLUDE_MODULE_CESTA
- +1
- # endif
-
- ];
-
- struct _ModulInfo* AktivníModul; // ukazazel na strukturu ModulInfo práv╪ aktivního modulu
-
- # include "backtraq.mod\shared.inc"
-
- # ifdef INCLUDE_MODULE_DAMY
- # include "backtraq.mod\damy.inc"
- # endif
-
- # ifdef INCLUDE_MODULE_STANICE
- # include "backtraq.mod\stanice.inc"
- # endif
-
- # ifdef INCLUDE_MODULE_TSP
- # include "backtraq.mod\tsp.inc"
- # endif
-
- # ifdef INCLUDE_MODULE_CESTA
- # include "backtraq.mod\cesta.inc"
- # endif
-
- void InfoOModulech(void) {
- int modul_id=0;
-
- # ifdef INCLUDE_MODULE_DAMY
- modDamy_InfoOModulu(&ModulyInfo[modul_id++]);
- # endif
-
- # ifdef INCLUDE_MODULE_STANICE
- modStanice_InfoOModulu(&ModulyInfo[modul_id++]);
- # endif
-
- # ifdef INCLUDE_MODULE_TSP
- modTSP_InfoOModulu(&ModulyInfo[modul_id++]);
- # endif
-
- # ifdef INCLUDE_MODULE_CESTA
- modCesta_InfoOModulu(&ModulyInfo[modul_id++]);
- # endif
-
- }