jueves, 1 de julio de 2010

nuevo laberinto

Este programa es el mismo juego que presenté la vez pasada, sólo que ahora incluí lo uqe me recomendó la doctora que era que el jugador dibujé las líneas de las paredes del laberinto, una vez que dibuja las líneas en el código puse que cuando utilize el iterator cheque las coordenadas del círculo, y sí son iguales que regrese el círculo al inicio.

Iterator i= this.lineas.iterator();
while(i.hasNext()){
Linea l = i.next();
gr.draw(new Line2D.Double(l.xs*ancho, l.ys*altura,l.xf*ancho,l.yf*altura));
if(this.x*anchol.xs*ancho){
if(this.y*anchol.ys*altura){
this.reset();
}
}
}
pero hay un problema, a veces si ejecuta la acción, pero cuando se quiere volver a jugar ya no impide que el circulito no pase a través de las líneas, no sé si sea alguna variable que se queda con un valor anterior.
Pueden bajar y checar el código de este link http://www.mediafire.com/?dydywrifyyn
:)

1 comentario:

  1. A mí se me complica entender la lógica en tu if :( Se supone que tendríamos que calcular la distancia mínima entre el centro del jugador y la línea que se está dibujando y si aquel distancia es menor que el radio del jugador, el juego termina. Sin embargo tu condición del if no se me hace que fuera dicho cálculo.

    ResponderEliminar