With a continuous rotation servo the "angle" tells it how fast to go. Roughly speaking servo.write(90) will make it stop and 0 will may it go full speed in one direction, 180 will be full speed in the other direction. Every servo is different so you will need to experiment to find the exact values for your devices.
I recommend you use servo.writeMicroseconds() in place of servo.write(). Using writeMicroseconds() 1000 approximately corresponds to 0 deg, 1500 = 90 and 2000 = 180 - all approximate. The advantage of using writeMicroseconds() is that it gives you finer control and it allows you to give values below 1000 and above 2000 which may be useful with some servos.
I wonder why you have 4 drive wheels using 4 continuous rotation servos. I think it will be difficult to sync the speeds of all 4 and I suggest you start with 2 powered and 2 unpowered wheels.
As well as the BWOD sketch already recommended to you. you should read about the concept of a State Machine (or Finite State Machine). These are rather grand names for a simple concept of using variables to record the state of something - for example the speed setting for the left motor or the angle for the sensor servo.
Using this technique it is easy to separate the logic of "what the robot should be doing - the control logic" from the "operational code - the driving of the motors etc".
For example you can break the control logic into a function that collects and saves the sensor reading, another piece that updates the variables recording the motor states according to the sensor data, etc. Then, elsewhere, there is code that makes the motors do their stuff depending on the values saved by the control logic. This also means that each function will be short, only concerned with one activity and thus easy to debug or modify.
I wrote an extended demo of the BWOD technique in the first post in this Thread. I hope it gives a flavout of what I am talking about.
...R