[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

#### 4.2.4.3 Constants

There are several constants that we use in this game. By using constants it is easier to change the behaviour. Even better would be to read these fields from a configuration file but that is beyond the scope of this tutorial:

    // World defines.
    #define ROOM_DIMENSION 10.0
    #define MAZE_DIMENSION 3

    // Adversary defines.
    #define ADVERSARY_DIMENSION 1
    #define ADVERSARY_MOVETIME 1.0

    // Explosion defines.
    #define EXPLOSION_EMITTIME 2000
    #define EXPLOSION_PARTTIME 500
    #define EXPLOSION_PARTVARTIME 100
    #define EXPLOSION_TIME (EXPLOSION_PARTTIME+EXPLOSION_EMITTIME+EXPLOSION_PARTVARTIME)

    // Laserbeam defines.
    #define LASER_WIDTH 0.05f
    #define LASER_LENGTH 100.0f
    #define LASER_LIFETIME 300	// Milliseconds the laser will be visible.
    #define LASER_FLICKTIME 20
    #define LASER_OFFSET csVector3(0,-.5f,0)

    // Movement defines.
    #define MOVE_DISTANCE 5.0	// In one keypress we will move this far.
    #define STEP_DISTANCE 1.0	// Step size for collision detection along path.
    #define MOVECAMERA_SPEED 5.0	// Speed with which we move the camera.
    #define ROTATE_ANGLE 0.5	// How much we want to rotate in one keypress.
    #define ROTATECAMERA_SPEED 3.0	// Speed to rotate with.
    #define PLAYER_SIZE 2.0

    // These numbers define the position of the specific portal
    // for the CreateRoom() function.
    #define PORTAL_UP 0
    #define PORTAL_DOWN 1
    #define PORTAL_LEFT 2
    #define PORTAL_RIGHT 3
    #define PORTAL_FRONT 4
    #define PORTAL_BACK 5

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ]

This document was generated using texi2html 1.76.