Code Golf: Your own horizontal pet ASCII snake
JavaScript (ES6), 98 bytes
Saved 7 bytes thanks to @KevinCruijssen
Returns an array of 5 strings.
f=(y=2,a=[...'  0  '])=&gt;a[0][29]?a:f(y+=(Math.random()*(y%4?3:2)|0)-!!y,a.map((v,i)=&gt;v+=i-y&amp;&amp;' '))

Try it online!
Commented
f = (                       // given:
  y = 2,                    //   y = current line (0-indexed)
  a = [...'  0  ']          //   a[] = array of 5 lines
) =&gt;                        //
  a[0][29] ?                // if all columns have been processed:
    a                       //   stop recursion and return a[]
  :                         // else:
    f(                      //   do a recursive call with:
      y += (                //     the updated value of y, to which we add -1, 0 or 1:
        Math.random() *     //       pick a random value in [0,1)
        (y % 4 ?            //         if y is neither 0 or 4:
          3                 //             multiply it by 3
        :                   //           else:
          2                 //             multiply it by 2
        ) | 0               //       force an integer value
      ) - !!y,              //     subtract either 0 or 1
      a.map((v, i) =&gt;       //     for each value v at position i in a[]:
        v += i - y &amp;&amp; ' '   //       append either '0' if i = y or a space otherwise
      )                     //     end of map()
    )                       //   end of recursive call