home *** CD-ROM | disk | FTP | other *** search
/ Merciful 3 / Merciful_Release_3.bin / software / e / elanv1.00.lha / elan / src / coredefs.h < prev    next >
Text File  |  1996-06-07  |  2KB  |  107 lines

  1.  
  2. #define MAP_ROWS    30
  3. #define MAP_COLS    50
  4.  
  5. #define GROUND_AREA     (MAP_ROWS * MAP_COLS)
  6. #define distance(p, q)  max(abs(p.i - q.i), abs(p.j - q.j))
  7.  
  8. /* Stime prudenti in base ai vincoli geometrici */
  9. #define MAX_DEVICE_NUMBER       (GROUND_AREA / 4)
  10. #define MAX_CHANNEL_NUMBER      (GROUND_AREA - MAX_DEVICE_NUMBER)
  11. #define MAX_MOBILE_NUMBER       GROUND_AREA
  12. #define MAX_PROVIDERS_NUMBER    MAX_DEVICE_NUMBER
  13.  
  14. typedef enum direction
  15.     {
  16.     N,
  17.     S,
  18.     W,
  19.     E,
  20.     NW,
  21.     SW,
  22.     NE,
  23.     SE,
  24.     DIRECTION_NUMBER
  25.     } direction;
  26.  
  27. typedef enum resource_type
  28.     {
  29.     electricity,
  30.     heat,
  31.     water,
  32.     air,
  33.     food,
  34.     biomass,
  35.     elan,
  36.     PRIMARY_RT_NUMBER,
  37.     cpu_power,
  38.     human_life_support,
  39.     hybrid_life_support,
  40.     morphing_power,
  41.     RESOURCE_TYPE_NUMBER
  42.     } resource_type;
  43.  
  44. #define SECONDARY_RT_BASE   (PRIMARY_RT_NUMBER + 1)
  45. #define SECONDARY_RT_NUMBER (RESOURCE_TYPE_NUMBER - PRIMARY_RT_NUMBER - 1)
  46.  
  47. typedef enum device_class   /* L'ordinamento è rilevante ai fini delle priorità di produzione */
  48.     {
  49.     solar_cell,
  50.     nuclear_reactor,
  51.     battery,
  52.     heating_system,
  53.     water_processor,
  54.     water_tank,
  55.     air_processor,
  56.     air_tank,
  57.     greenhouse,
  58.     food_storage,
  59.     plantation,
  60.     biomass_silo,
  61.     yeaster,
  62.     distillery,
  63.     elan_tank,
  64.     computer,
  65.     habitat,
  66.     hybridome,
  67.     metamorpher,
  68.     radiator,
  69.     DEVICE_CLASS_NUMBER
  70.     } device_class;
  71.  
  72. typedef enum mobile_class
  73.     {
  74.     roboprobe,
  75.     raider,
  76.     exterminator,
  77.     stalker,
  78.     guardian,
  79.     PRIMARY_MC_NUMBER,
  80.     pantropic_form,
  81.     mutant_form,
  82.     alien_parasite,
  83.     alien_breeder,
  84.     plasma_gizmo,
  85.     alien_mole,
  86.     space_shuttle,
  87.     MOBILE_CLASS_NUMBER
  88.     } mobile_class;
  89.  
  90. typedef enum program_tag
  91.     {
  92.     survey,
  93.     explore,
  94.     hunt,
  95.     patrol,
  96.     PRIMARY_PT_NUMBER,
  97.     wander,
  98.     pantropic_cp,
  99.     mutant_cp,
  100.     parasite_cp,
  101.     breeder_cp,
  102.     gizmo_cp,
  103.     mole_cp,
  104.     PROGRAM_TAGS_NUMBER
  105.     } program_tag;
  106.  
  107.