00001
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef CONSTANTS_H
00026 #define CONSTANTS_H
00027
00029 #define PI 3.14159265358979323846
00030
00031
00033 #define GLUT_UP_BUTTON 0x0003
00034
00035 #define GLUT_DOWN_BUTTON 0x0004
00036
00037
00039 #define TRANSLATE_LEFT '4'
00040
00041 #define TRANSLATE_RIGHT '6'
00042
00043 #define TRANSLATE_UP '8'
00044
00045 #define TRANSLATE_DOWN '2'
00046
00047 #define ZOOM_IN '+'
00048
00049 #define ZOOM_OUT '-'
00050
00051 #define ROTATE_LEFT '7'
00052
00053 #define ROTATE_RIGHT '9'
00054
00055 #define PAUSE ' '
00056
00057 #define VALIDATE '*'
00058
00059
00061 #define REDISPLAY_NB_MILLI_SEC 500
00062
00063
00065 #define NB_BITS_SIZE 4
00066
00067
00069 #define MAX_WORSHIPER_SIZE (1 << NB_BITS_SIZE)
00070
00071
00073 #define CAPACITY_FACTOR 10
00074
00075
00077 #define MAX_FOOD_CAPACITY (CAPACITY_FACTOR * MAX_WORSHIPER_SIZE)
00078
00079 #define FOOD_CONSUMPTION 1
00080
00081 #define GODS_GIFT_FOOD_VALUE (10 * MAX_FOOD_CAPACITY)
00082
00083
00085 #define CELL_SIZE (6 * (NB_BITS_SIZE + 1))
00086
00087 #define WALL_HEIGHT ((int) (CELL_SIZE / 3))
00088
00089
00091 #define MOVE_UP_SPEED ((int) (CELL_SIZE / 2))
00092
00093 #define ZOOM_SPEED ((int) (CELL_SIZE / 2))
00094
00095 #define ROTATE_ANGLE (PI / 8)
00096
00097
00099 #define HEIGHT_MIN ((int) (CELL_SIZE / 3))
00100
00101 #define HEIGHT_MAX (10 * CELL_SIZE)
00102
00103 #define ZOOM_MIN (SIZE_NB_BYTES + 1)
00104
00105 #define ZOOM_MAX (3 * CELL_SIZE)
00106
00107 #define HORIZON (50.0 * CELL_SIZE)
00108
00109
00111 #define ANTIALIASING_LEVEL 0
00112
00113
00115 #define WORSHIPER_TEXTURE_SIZE 4
00116
00117
00119 #define MAX_WORSHIPER_PER_CELL 6
00120
00121
00123 #define CORRIDOR_SIZE_MAX (MAX_WORSHIPER_SIZE - 1)
00124
00125
00127 #define COLOR_MIN 0
00128
00129 #define COLOR_MAX 255
00130
00131 #define COLOR_LIMIT 75
00132
00133
00135 #define NUMBER_PHEROMONES 3
00136
00137 #define PHEROMONE_LIFE_TIME 10
00138
00139
00140 #endif // CONSTANTS_H