Как бы я начал создавать доску, учитывая любые координаты x и y для начальных узлов. Например, если х = 3 и у = 2 плата хотел бы:Запуск 8 головоломок
1 2 3
4 5 x
6 7 8
В качестве примера в Java или псевдокода было бы чрезвычайно полезно.
Как бы я начал создавать доску, учитывая любые координаты x и y для начальных узлов. Например, если х = 3 и у = 2 плата хотел бы:Запуск 8 головоломок
1 2 3
4 5 x
6 7 8
В качестве примера в Java или псевдокода было бы чрезвычайно полезно.
надеюсь, что это поможет. Дайте знать, если у вас появятся вопросы.
int x_lim = 2;
int y_lim = 3;
int count=1;
for(int x=1;x<3+1;x++)
{
for(int y=1;y<3+1;y++)
{
if(x_lim==x && y_lim==y) //skip case (blank tile)
{
System.out.println("x"+" ");
}
else //other numbers
{
System.out.println(count+" ");
count++;
}
}
}
Я неправильно понял вопрос, но сейчас обновлен. –
Вы запустили этот код? Он не выводится в правильном формате. – Jason
Перед отправкой кода, я бы порекомендовал только одно. В программировании вы должны начать думать о нулевой индексации. Кроме того, если формат, который вы опубликовали, не имеет опечаток в индексировании (потому что рационально после печати «x» вы должны напечатать 7, а не 6, чтобы доска 3x3 попала в индекс 9), возможно, приведенный ниже код поможет вы.
int coord_x = 3;
int coord_y = 2;
int rows = 3;
int columns = 3;
int counter = 1;
for (int i = 1; i <= rows; i++){
for (int j = 1; j <= columns; j++){
if (i == coord_y && j == coord_x){
System.out.print("x ");
continue;
}
System.out.print(counter + " ");
counter++;
}
System.out.println();
}
Что вы уже пробовали? Покажите свой код. – DimaSan
Вам нужно напечатать цифры с 1 по 8, и вам нужно напечатать символ «x». Вам также нужно запустить новую строку после каждого третьего символа, пока не дойдете до последней строки. Конечно, вы можете сделать это самостоятельно, а затем попросить о помощи, когда застрянете. – Gendarme