task main ()
{ 
  SetSensor (SENSOR_1, SENSOR_TOUCH) ; //touch sensor attached to  1
  start check_sensor ;
  start move_now ;
  
}

task move_now ()
{
  while (true)
  {
     OnFwd (OUT_A+OUT_C);Wait (300);        //move forward while true for 3 sec
     
  }
  
}


task check_sensor ()
{
  while (true)
  {
     if ((SENSOR_1 == 1) && (Random (1) ==0))
     {
         stop move_now ;
         OnRev (OUT_A+OUT_C) ; Wait (100);               //back up for 1 sec
         OnFwd (OUT_A) ; Wait (100);          //100 for a turn right.
         start move_now;
     }
     if ((SENSOR_1 == 1) && (Random (1) ==1))
     {
       
          stop move_now ;
         OnRev (OUT_A+OUT_C) ; Wait (100);               //back up for 1 sec
         OnFwd (OUT_C) ; Wait (100);          //100 for a turn left
         start move_now;

     }
   }
}     

    Source: geocities.com/fuhan75