[ Foro de Java ]

ayuda con movimientos de fichas por una matriz

29-Apr-2020 22:11
Invitado (juan117)
3 Respuestas

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();
		


		
		
			{
		}


 


29-Apr-2020 23:52
Nacho Cabanes (+83)

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.


30-Apr-2020 02:09
Invitado (juan117)

bro me podrías indicar como redibujar el tablero? lo necesito así tal como está pero no sé como hacerlo


01-May-2020 13:47
Nacho Cabanes (+83)

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.)