El bucle do-while de Java no funciona

Quiero que mi programa siga haciendo la pregunta hasta que reciba una respuesta que pueda usar, específicamente un número del 0 al 20. Tengo muchas otras cosas en esta clase, así que aquí hay un pequeño extracto donde está el tiempo de espera He nombrado las variables y todo eso para todo).

public static void main(String[] args) {
    do {
        halp = 1;
        System.out.println("What level is your fort?");
        Scanner sc = new Scanner(System.in);

        try { 
            fortLevel = Integer.parseInt(sc.nextLine()); 
        }
        catch(NumberFormatException e){System.out.println("Numbers only, 0-20"); halp = 0;
    }

    if(halp < 1) {
        work = false;
    }

    if(halp > 1) {
        work = true;
    }

    while(work = false);
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta