在下面的代码中,有没有更好的方法来排除随机值?
    enum Direction {HAUT, BAS, GAUCHE, DROITE} direction;
switch(direction)
{
    case HAUT:
        if (false)
        {
        do{direction=(rand() % 4); }while(direction!=0); 
        break;
        }
    case BAS:
        if (false)
        {
        do{direction=(rand() % 4); }while(direction!=1);
        break;
        }          
    case GAUCHE:
..........