[ Foro de Java ]
Buenas tardes, si alguien me podría ayudar a cómo le puedo hacer para mover las fichas de la matriz, las fichas son * y +, las fichas pueden mover arriba, abajo, a la derecha e izquierda solo una vez por cada turno, y si estan frente a frente puede saltarla moviendo dos fichas hacia el frente, prácticamente es un quoridor y esto es lo que llevo.
package System.out;
import java.util.Scanner;
public class quoridor {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner tec=new Scanner(System.in);
char p1= '*';
char p2= '+';
char matriz[][]=
{{' ',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-', ' '},
{'9','|',' ','|',' ','|',' ','|',' ','|',p1 ,'|',' ','|',' ', '|',' ','|',' ','|'},
{' ',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-', ' '},
{'8','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ', '|',' ','|',' ','|'},
{' ',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-', ' '},
{'7','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ', '|',' ','|',' ','|'},
{' ',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-', ' '},
{'6','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ', '|',' ','|',' ','|'},
{' ',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-', ' '},
{'5','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ', '|',' ','|',' ','|'},
{' ',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-', ' '},
{'4','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ', '|',' ','|',' ','|'},
{' ',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-', ' '},
{'3','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ', '|',' ','|',' ','|'},
{' ',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-', ' '},
{'2','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ','|',' ', '|',' ','|',' ','|'},
{' ',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-', ' '},
{'1','|',' ','|',' ','|',' ','|',' ','|',p2 ,'|',' ','|',' ', '|',' ','|',' ','|'},
{' ',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-',' ','-', ' '},
{' ',' ','A',' ','B',' ','C',' ','D',' ','E',' ','F',' ','G',' ','H',' ','I', ' '}};
for (int i=0; i<matriz.length;i++) {
for (int j=0; j<matriz[0].length;j++){
System.out.print(matriz[i][j]);
}
System.out.println();
{
}
Necesitarás coordenadas x e y para ambas fichas. Luego, según la forma en que el usuario deba indicar que quiere mover una de ellas, deberás cambiar la x o la y correspondiente y redibujar el tablero.
bro me podrías indicar como redibujar el tablero? lo necesito así tal como está pero no sé como hacerlo
Tu "doble for" es el encargado de dibujar el tablero. Lo razonable sería sacarlo a una función externa para poder reutilizar ese bloque de código, llamándolo desde donde puedas necesitar.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)