home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2002 December
/
PCWorld_2002-12_cd.bin
/
Software
/
Komercni
/
Baltik
/
katB.exe
/
katB
/
CERVI
/
Cervi_ks.h
< prev
next >
Wrap
Text File
|
2002-09-20
|
3KB
|
93 lines
/*
*
* cervi_ks.h definice konstant, prom╪nn∞ch a typà pro program Cervi
*
* Dan Lessner, 9/2002
*
*/
// Globální konstanty
/* implicitní hodnoty pro matematiku programu */
#define ImpMaxSílaHlavy 9000 /* maximální síla hlavy */
#define ImpTuhost 400 /* tuhost spoje kuliƒek */
#define ImpZpomalení 0.8 /* zpomalení kuliƒek (pseudot²ení) */
#define ImpKoefOdrazu 0.3 /* podíl pohlcené energie p²i odrazu */
#define ImpHustota¼ervà 0.1 /* hustota ƒervà pro dopoƒtení hmotnosti */
#define ImpGravZrych 10 /* gravitaƒní zrychlení */
#define ImpRychlost 65 /* implicitní rychloost hry */
/* logické hodnoty */
#define Nic -1
#define Ne 0
#define Ano 1
/* znaménka */
#define Kladné 1
#define Nula 0
#define Záporné -1
/* konstanty ƒervà */
#define MaxPKuliƒek 11 /* max. poƒet kuliƒek jednoho ƒerva */
#define MaxP¼ervà 4 /* max. poƒet ƒervà */
#define Hlava 0 /* index první kuliƒky */
#define MaxDJména 10 /* max. délka jména ƒerva ve znacích */
#define PFází 4 /* poƒet fází animace jedné velikosti kuliƒky */
/* konstanty ƒísel tl. v hlavní nabídce */
#define TlKonec 2
// Globální prom╪nné
// Speciální typy
typedef struct{ /* vektor, délka je úhlop²íƒka obdélníka se stranami X,Y,
* sm╪r plyne z pom╪ru X,Y, orientace ze znamének X,Y */
double X,Y; /* sou²adnice vektoru */
} TypVektor;
typedef struct{ /*Struktura udává klávesy pro ovládání hráƒà*/
int Nahoru,Dolà,Doprava,Doleva; /* slouºí pro uloºení Scan kódà */
} TypOvlKlávesy;
typedef struct{ /* typ shrnuje vlastnosti kuliƒky */
TypVektor Síla, Rychlost, Poloha; /* prom╪nné pro fyz. model */
short int Polom╪r; /* prom╪nné pro fyz. model */
double Hmotnost; /* prom╪nné pro fyz. model */
TypAnimP²edm╪t Anim; /* anim. p²edm╪t - sama kuliƒka */
} TypKuliƒka;
typedef struct{ /* typ shrnuje vlastnosti jednoho ƒerva */
short int PKuliƒek, Barva; /* poƒet kuliƒek ƒerva, barva kuliƒek */
short int Hraje, T∞m; /* stále aktivní hrრ(nebyl poºrán), ƒíslo t∞mu */
long int Body; /* skóre ƒerva */
double Hmotnost; /* hmotnost celého ƒerva */
TypKuliƒka Kuliƒka[MaxPKuliƒek]; /* pole samotn∞ch kuliƒek */
string Jméno; /* jméno ƒerva */
TypOvlKlávesy *Klávesy; /* uk. na soubor ovládacích kláves */
} Typ¼erv;
typedef struct{ /* typ udává vlastnosti skupiny ƒervà */
Typ¼erv Jeden¼erv[MaxP¼ervà]; /* pole ƒervà */
short P¼ervà, Pªiv∞ch¼ervà, PoƒáteƒníPKuliƒek;
} Typ¼ervi;
typedef struct { /* typ definuje tlaƒítko hlavního menu */
int ¼P²edm╪tu; /* ƒíslo p²edm╪tu */
short int X,Y; /* sou²adnice ve ƒtvercích */
string Jméno; /* jméno tlaƒítka */
short int (*Akce)(void); /* ukazatel na funkci tlaĒtka */
}TypTlaĒtkoM;
typedef struct { /* typ shrnující tlaƒítka do menu */
TypTlaĒtkoM TlaĒtko[5]; /* tlaĒtka */
short int PTlaƒítek,AktivTlaƒítko; /* poƒet tlaƒítek, ƒíslo aktivního tlaƒítko */
}TypMenu;
//
// konec souboru
//