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 >
Text File  |  2002-09-20  |  3KB  |  93 lines

  1. /*
  2. *
  3. *  cervi_ks.h     definice konstant, prom╪nn∞ch a typà pro program Cervi
  4. *
  5. *  Dan Lessner, 9/2002
  6. *
  7. */
  8.  
  9.  
  10. // Globální konstanty
  11.  
  12. /* implicitní hodnoty pro matematiku programu */
  13. #define ImpMaxSílaHlavy  9000   /* maximální síla hlavy */
  14. #define ImpTuhost         400   /* tuhost spoje kuliƒek */
  15. #define ImpZpomalení        0.8 /* zpomalení kuliƒek (pseudot²ení) */
  16. #define ImpKoefOdrazu       0.3 /* podíl pohlcené energie p²i odrazu */
  17. #define ImpHustota¼ervà     0.1   /* hustota ƒervà pro dopoƒtení hmotnosti */
  18. #define ImpGravZrych       10   /* gravitaƒní zrychlení */
  19.  
  20. #define ImpRychlost     65   /* implicitní rychloost hry */
  21.  
  22. /* logické hodnoty */
  23. #define Nic           -1
  24. #define Ne             0
  25. #define Ano            1
  26.  
  27. /* znaménka */
  28. #define Kladné         1
  29. #define Nula           0
  30. #define Záporné       -1
  31.  
  32. /* konstanty ƒervà */
  33. #define MaxPKuliƒek 11  /* max. poƒet kuliƒek jednoho ƒerva */
  34. #define MaxP¼ervà    4  /* max. poƒet ƒervà */
  35. #define Hlava        0  /* index první kuliƒky */
  36. #define MaxDJména   10  /* max. délka jména ƒerva ve znacích */
  37. #define PFází        4  /* poƒet fází animace jedné velikosti kuliƒky */
  38.  
  39. /* konstanty ƒísel tl. v hlavní nabídce */
  40. #define TlKonec     2
  41.  
  42. // Globální prom╪nné
  43.  
  44. // Speciální typy
  45.  
  46. typedef struct{  /* vektor, délka je úhlop²íƒka obdélníka se stranami X,Y,
  47.                 * sm╪r plyne z pom╪ru X,Y, orientace ze znamének X,Y */
  48.        double X,Y;  /* sou²adnice vektoru */
  49. } TypVektor;
  50.  
  51. typedef struct{                 /*Struktura udává klávesy pro ovládání hráƒà*/
  52.         int Nahoru,Dolà,Doprava,Doleva;  /* slouºí pro uloºení Scan kódà */
  53.       } TypOvlKlávesy;
  54.  
  55. typedef struct{  /* typ shrnuje vlastnosti kuliƒky */
  56.        TypVektor Síla, Rychlost, Poloha;  /* prom╪nné pro fyz. model */
  57.        short int Polom╪r;    /* prom╪nné pro fyz. model */
  58.        double Hmotnost;    /* prom╪nné pro fyz. model */
  59.        TypAnimP²edm╪t Anim;  /* anim. p²edm╪t - sama kuliƒka */
  60. } TypKuliƒka;
  61.  
  62.  
  63. typedef struct{  /* typ shrnuje vlastnosti jednoho ƒerva */
  64.        short int PKuliƒek, Barva;          /* poƒet kuliƒek ƒerva, barva kuliƒek */
  65.        short int Hraje, T∞m;    /* stále aktivní hrრ(nebyl poºrán), ƒíslo t∞mu */
  66.        long int Body; /* skóre ƒerva */
  67.        double Hmotnost; /* hmotnost celého ƒerva */
  68.        TypKuliƒka Kuliƒka[MaxPKuliƒek]; /* pole samotn∞ch kuliƒek */
  69.        string Jméno;   /* jméno ƒerva */
  70.        TypOvlKlávesy *Klávesy;  /* uk. na soubor ovládacích kláves */
  71. } Typ¼erv;
  72.  
  73. typedef struct{      /* typ udává vlastnosti skupiny ƒervà */
  74.         Typ¼erv Jeden¼erv[MaxP¼ervà];  /* pole ƒervà */
  75.         short P¼ervà, Pªiv∞ch¼ervà, PoƒáteƒníPKuliƒek;
  76.       } Typ¼ervi;
  77.  
  78. typedef struct {    /* typ definuje tlaƒítko hlavního menu */
  79.         int ¼P²edm╪tu;    /* ƒíslo p²edm╪tu */
  80.         short int X,Y;    /* sou²adnice ve ƒtvercích */
  81.         string Jméno;     /* jméno tlaƒítka */
  82.         short int (*Akce)(void);  /* ukazatel na funkci tlaƒítka */
  83. }TypTlaĒtkoM;
  84.  
  85. typedef struct {    /* typ shrnující tlaƒítka do menu */
  86.         TypTlaƒítkoM Tlaƒítko[5];      /* tlaƒítka */
  87.         short int PTlaƒítek,AktivTlaƒítko;       /* poƒet tlaƒítek, ƒíslo aktivního tlaƒítko */
  88. }TypMenu;
  89.  
  90. //
  91. // konec souboru
  92. //
  93.