Joystick on Esplora help

I got the code working when I push the joystick in desired direction, waiting until the robot moves, and releasing the joystick. Now, if I want to hold the joystick in desired direction as long as I want, the robot has a pause in the walking cycle. I want to use do/while loop but how can I do that?

#include <Esplora.h>
int walkflag;
void setup() 
{
  Serial1.begin(115200);
  robotstand01();
  delay(500);
}
void loop() 
{
  if((Esplora.readButton(JOYSTICK_UP)==HIGH) && (Esplora.readButton(JOYSTICK_DOWN)==HIGH) && (Esplora.readButton(JOYSTICK_LEFT)==HIGH) && (Esplora.readButton(JOYSTICK_RIGHT)==HIGH))
  {
    walkflag = 0;
    robotstand01();
  }  
  if((Esplora.readButton(JOYSTICK_UP)==LOW) && (Esplora.readButton(JOYSTICK_DOWN)==HIGH) && (Esplora.readButton(JOYSTICK_LEFT)==HIGH) && (Esplora.readButton(JOYSTICK_RIGHT)==HIGH))
  {
    walkflag = 1;
    robotwalk01();
    robotwalk02();
    robotwalk03();
    robotwalk04();
    robotwalk05();
    robotwalk06();
    robotwalk07();
    robotwalk08();
    robotwalk09();
  }  
  if((Esplora.readButton(JOYSTICK_UP)==HIGH) && (Esplora.readButton(JOYSTICK_DOWN)==LOW) && (Esplora.readButton(JOYSTICK_LEFT)==HIGH) && (Esplora.readButton(JOYSTICK_RIGHT)==HIGH))
  {
    walkflag = 2;
    robotwalk01();
    robotwalk07();
    robotwalk06();
    robotwalk05();
    robotwalk04();
    robotwalk03();
    robotwalk02();
    robotwalk08();
    robotwalk09();
  }  
  if((Esplora.readButton(JOYSTICK_UP)==LOW) && (Esplora.readButton(JOYSTICK_DOWN)==HIGH) && (Esplora.readButton(JOYSTICK_LEFT)==LOW) && (Esplora.readButton(JOYSTICK_RIGHT)==HIGH))
  {
    walkflag = 3;
    robotwalk10();
    robotwalk11();
    robotwalk12();
    robotwalk13();
    robotwalk14();
    robotwalk15();
    robotwalk16();
    robotwalk17();
    robotwalk09();
  }  
  if((Esplora.readButton(JOYSTICK_UP)==LOW) && (Esplora.readButton(JOYSTICK_DOWN)==HIGH) && (Esplora.readButton(JOYSTICK_LEFT)==HIGH) && (Esplora.readButton(JOYSTICK_RIGHT)==LOW))
  {
    walkflag = 4;
    robotwalk18();
    robotwalk19();
    robotwalk20();
    robotwalk21();
    robotwalk22();
    robotwalk23();
    robotwalk24();
    robotwalk25();
    robotwalk09();
  }  
  if((Esplora.readButton(JOYSTICK_UP)==HIGH) && (Esplora.readButton(JOYSTICK_DOWN)==LOW) && (Esplora.readButton(JOYSTICK_LEFT)==LOW) && (Esplora.readButton(JOYSTICK_RIGHT)==HIGH))
  {
    walkflag = 5;
    robotwalk17();
    robotwalk16();
    robotwalk15();
    robotwalk14();
    robotwalk13();
    robotwalk12();
    robotwalk11();
    robotwalk10();
    robotwalk09();
  }
  if((Esplora.readButton(JOYSTICK_UP)==HIGH) && (Esplora.readButton(JOYSTICK_DOWN)==LOW) && (Esplora.readButton(JOYSTICK_LEFT)==HIGH) && (Esplora.readButton(JOYSTICK_RIGHT)==LOW))
  {
    walkflag = 6;
    robotwalk18();
    robotwalk24();
    robotwalk23();
    robotwalk22();
    robotwalk21();
    robotwalk20();
    robotwalk19();
    robotwalk18();
    robotwalk09();
  }  
}  
void robotstand01()
{
  Serial1.print("#0 P1500 T500 \r ");
  Serial1.print("#1 P1500 T500 \r ");
  Serial1.print("#2 P1500 T500 \r ");
  Serial1.print("#4 P1500 T500 \r ");
  Serial1.print("#5 P1500 T500 \r ");
  Serial1.print("#6 P1500 T500 \r ");
  Serial1.print("#8 P1500 T500 \r ");
  Serial1.print("#9 P1500 T500 \r ");
  Serial1.print("#10 P1500 T500 \r ");
  Serial1.print("#16 P1500 T500 \r ");
  Serial1.print("#17 P1500 T500 \r ");
  Serial1.print("#18 P1500 T500 \r ");
  Serial1.print("#20 P1500 T500 \r ");
  Serial1.print("#21 P1500 T500 \r ");
  Serial1.print("#22 P1500 T500 \r ");
  Serial1.print("#24 P1500 T500 \r ");
  Serial1.print("#25 P1500 T500 \r ");
  Serial1.print("#26 P1500 T500 \r ");
  delay(500);
}