In very broad terms, you need to simulate the state of the game so that it can "advance" with a given time step, and then, during each cycle of your main cycle, determine how much time has passed (usually a small fraction of a second) and advance the game the condition is only so much. This is how games look uninterrupted, regardless of frame rate.
The interval basically becomes a scaling factor for all movements. For example, if your snake moves forward with 5 units of distance per second, and during your main cycle you find that 0.01 seconds have passed since the last break of the snake, you must advance your snake (0.01 * 5) by the unit distance in this cycle .
source share