I forgot...heres the updated code:

Code:


var video_mode = 7; // 800x600 pixels
var video_depth = 32; // 32 bit mode

////////////////////////////////////////////////////////////////////////////////////

string homework18_wmb = <homework18.wmb>;

ENTITY* car;

bmap bmpSpeed = "speedometer.bmp";

////////////////////////////////////////////////////////////////////////////////////

var accel; //acceleration
var reverse; //reverse acceleration
var absSpeed; //universal speed, to be displayed by the speedometer negative numbers are reverse for now

function main()
{
fps_max = 30;
level_load (homework18_wmb);
wait (3);
while(1) //set up the camera
{
camera.x = car.x;
camera.y = car.y - 300;
camera.z = car.z + 1000;
camera.pan = 90; // set the correct orientation for the camera
camera.tilt = -68; // using its pan and tilt angles

wait(1);
}
}

panel speedometer
{
pos_x = 0;
pos_y = 0;
layer = 1;
bmap = bmpSpeed;
digits(35,45,3,_a4font,1,absSpeed);
flags = overlay, visible;
}

action my_car
{
car = me;
my.fat = on; // the first 3 lines of code
my.narrow = on; // enable the new
c_setminmax(my); // collision detection system used by A6.2 or newer versions
while (1)
{
// move the car using relative_speed
if (key_a == on) //pans the car, but only if moving
{
if(accel != 0)
{
my.pan += 5; // increase the pan angle of the car
}
if(reverse != 0)
{
my.pan += 5; // decrease the pan angle of the car
}
}

if (key_d == on) //pans the car, but only if moving
{
if(accel != 0)
{
my.pan -= 5; // decrease the pan angle of the car
}
if(reverse != 0)
{
my.pan -= 5; // decrease the pan angle of the car
}
}

if(key_w == on) //while pressing w...
{
accel += 1; //accelerate by increasing the x value...

if(accel >= 40) //car cannot exceed 40 speed
{
accel = 40;
}
if(accel >= 0) //set up the value for the speedometer to display
{
absSpeed = accel; //speedometer value == accel
}
c_move (my, vector(accel,0, 0), nullvector, glide); //in this vector
}

if(key_w == off && accel > 0) //if you let off on the gas...
{
accel -= .5; //decelerate
if(accel > 0)
{
absSpeed = accel;
}
if(accel <= 1) //make sure you cannot go backwards when accelerating
{
accel = 0;
}
c_move(my,vector(accel,0,0),nullvector,glide);
}

if(key_s == on) //when hitting reverse
{
c_move(my,vector(reverse,0,0), nullvector, glide); //decrease x value
reverse -= 1; //in this vector to back up
if(reverse < -18)
{
reverse = -18;
}
if(accel <= 1) //set up values for speedometer
{
absSpeed = reverse;
}

}

if(key_s == off && reverse < 0) //when you let off on the gas
{
c_move(my,vector(reverse,0,0),nullvector,glide); //slow down
reverse += 1;
if(reverse >= -1)
{
reverse = 0;
}
if(accel <= 1) //set up values for speedometer
{
absSpeed = reverse;
}
}

if(key_space == on)
{
if(accel > 0)
{
accel -= 2.5;
}
if(reverse < 0)
{
reverse += 2.5;
}
}


wait (1);

}
}