Atascado haciendo un juego

Ubaldo
09 de Junio del 2002
Hola:

Utilizo sólo Swing: un JFrame a pantalla completa (jdk 1.4), un JPanel que simula un escenario de juego, etc. Tengo, por el momento, dos personajes: uno controlado por mí, A y otro que sería manipulado por la computadora, B; ambos son JLabels. He intentado hacer lo siguiente en B:

while(distancia_absoluta_entre_ A_y_B > 100)
avanzar();
atacar();

Pero no me funciona, y mi app se cuelga. Es decir, no avanza ni B ni A (el getLocation() de ambos retorna el mismo valor una y otra vez, visualmente tampoco hay cambios), y tampoco puedo salir del programa con alt+f4.

Como dato adicional, si elimino el while todo funciona bien, pero no cumple mi objetivo. He intentado hacerlo con hilos daemon, y de prioridad 1 pero na'.

Espero urgido respuestas, muchas gracias.