Need to do a little math to make sure the wheels appear to be staying on the ground, add jumping logic later.
Put feature into own class, now can make other feature types that conform to having an img and x and y.  Need to make a getHeight function for each feature, also maybe a getFriction function later too.
Renamed wheels for clarity
Now getting height correctly for front and back wheels, though behavior of sticking to max height looks funny for pointy obstacles.
Now have reverse jumps, but the y position is off by 1.
I think I have the collision and bitmap placement set correctly.
Decent jump and gravity now.
imperfect but workable jumping physics.
Checkered start and finish line
Now have cpu trucks at starting line, next make them drive somewhat randomly
Now cpu trucks drive on their own, with different 'aggression' levels.  Need to have more perlin like noise instead of Math.random.   Also need obstacles and boost to make race interesting.
Attempted to make level wrap but didn't work.
Debugging wrap problem, but not working yet.
Mostly improving jumping and bouncing performance, though the jumping is a little off-kilter- the first part of a jump encountered at a high speed usually is the entire jump because the upward velocity is steeper than the ramp.
Fixed bug with collisions, now working okay though physics are very simple.
Allow keys to be held down and new keys to be pressed as well.
Each lane is position in front of or behind the others, need to add and remove the trucks to lanes so they appear in front of or behind each other.
Use lanes to determine where min and max of level are.  There is an off-by-1 between truck position and feature position, will probably need to be fixed when trucks are put into lanes.
Now trucks are drawn in front of and behind features and each other properly.
Draw a barrier instead of a reverse jump for barriers