0 votos
por (20 puntos) en Java
Hola muy buenas estoy desarrollando el juego de "puzzle bobble". Antes de nada estoy programando en JAVA. El código que muestro a continuación es para desarrollar la trayectoria del disparo, creando los margenes laterales, etc.


public void imprimirPosicionesDisparo(int pos, char[][] tablero){
int borde=tablero[0].length-1;
col=4+pos; //Columna inicial del cañon
fil=12; //Fila inicial del cañon
boolean derecha=false; //Indica si se mueve a la derecha o a la izquierda.

int aa = (int) (Math.random()*7);
if(pos>0) derecha=true; //Si la posición es positiva se mueve a la derecha.
//Para cada fila contando desde la inicial hasta la primera del tablero.
for(; fil>=0; fil--){

//Si está fuera del tablero por la izquierda...
if(col<0){
col=1; //... lo posicionamos en la columna 1,
derecha=!derecha; // y cambiamos el valor del boolean a su contrario.
//Si está fuera del tablero por la derecha...
} // fin del if
else if(col>borde){
col=borde-1; //... lo posicionamos en la columna borde menos 1,
derecha=!derecha; // y cambiamos el valor del boolean a su contrario.
} // fin del else if

System.out.println("[" + fil + ", " + col + "]");

generarBurbuja(aa, tablero);

if(pos!=0){ //Si la posición es distinta de 0, comprobamos si el lanzamiento
if(derecha){ // va a derecha o izquierda, y aumentamos o decrementamos el
valor de la columna según el caso.
col++;
}
if(!derecha){
col--;
}
}// fin del if

} // final del for global

}//final del método imprimirPosicionesDisparo

Hasta aquí todo correcto, el problema es que este disparo atraviesa todas las burbujas que hay en el tablero, por cierto el tablero es de 14x9, y yo lo que quiero es que cuando este haciendo la trayectoria la burbuja se detenga cuando colisione contra otra burbuja, al igual que se detiene cuando colisiona con el margen superior. En la práctica que estoy realizando me aconsejan el uso del ArrayList. Llevo más de una semana intentado descubrir el resultado correcto para que la burbuja lanzada se detenga al colisionar contra otras burbujas, por favor estoy desesperado he probado con if, while, do-while, etc. y no encuentro la solución. Por favor si sabeis como lo puedo conseguir decirme como, gracias de antemano.

Por favor, accede o regístrate para responder a esta pregunta.

Preguntas relacionadas

0 votos
0 respuestas
0 votos
0 respuestas
preguntado por Gabriel059 (20 puntos) Dic 2, 2020 en Java
0 votos
0 respuestas
preguntado por JuanUlloa (20 puntos) May 25, 2017 en Java
0 votos
0 respuestas
preguntado por yibran (20 puntos) Feb 3, 2017 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...