The Snake game shown here illustrates an application of bi-directional linked list. To make the snake move we transmit direction information along the bi-directional linked list of segments that represents the snake. When we press the shift key the snake changes direction and direction information is transmitted along the snake in reverse. The bi-directional linked list makes this process easier to accomplish. See the commentary above for more detail.