Java - Movimiento dentro de una matriz marco 1

 
Vista:

Movimiento dentro de una matriz marco 1

Publicado por Januario (1 intervención) el 08/09/2022 23:44:28
Tengo la imprecion de una matriz marco uno y ocupo mover de una coordenada a otra un caracter pero que vaya remplazando los 0's que esten en el camino.

Esta tiene que avanzar de manera automatica a la coordenada seleccionada.
mi logica de indica esto:

comparar <-------------|
si a1==b1 si no |
comparar |
si a1<b1 si procede |
a1+1 |
volver---------------------|


si a1==b1 si es
{break}

comparar <-------------|
si a2==b2 si no |
comparar |
si a2<b2 si procede |
a2+1 |
volver--------------------|


si a2==b2 si es
{break}

Solo que no se como implementarlo, adjunto mi codigo por si pueden ayudar:

package com.mycompany.sinexamen;

import java.util.Scanner;


public class marco1 {
public static int[] puntos(){
Scanner sc = new Scanner(System.in);
int a1 = 1;
int a2 = 1;
int b1 = 3;
int b2 = 3;
System.out.println("punto A(" + a1+ "," + a2 +")" + " " + "punto B(" + b1+ "," + b2 +")");
int[] punto = new int[]{ a1,a2};
return punto;
}
public static void dibujar(){
int matriz[][] = new int [10][10];
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if(i==0 || i==9){
matriz[i][j] = 1;
}else if(j==0 || j==9){
matriz[i][j] = 1;
}else{
matriz[i][j] = 0;
}
}
}
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
System.out.print(matriz[i][j]+" ");
}
System.out.println(" ");
}
}
//dibuja los puntos en las coordenadas dadas
public static void dibujarPuntos(int a1, int a2){
int matriz[][] = new int [10][10];
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if(i==0 || i==9){
matriz[i][j] = 1;
}else if(j==0 || j==9){
matriz[i][j] = 1;
}else{
if(i == a1 && j == a2){
matriz[i][j] = 6;
}else{
matriz[i][j] = 0;
}
}
}

}
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
System.out.print(matriz[i][j]+" ");
}
System.out.println(" ");
}
}
public static void main (String[] args) {
int[] puntoA;
int[] puntoB;
dibujar();

//pide coordenadas para los puntos
puntoA = puntos();

//dibuja punto A
dibujarPuntos(puntoA[0],puntoA[1]);
//dibujar punto B


}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder