2016-11-28 3 views
-3

Как бы я начал создавать доску, учитывая любые координаты x и y для начальных узлов. Например, если х = 3 и у = 2 плата хотел бы:Запуск 8 головоломок

1 2 3 
4 5 x 
6 7 8 

В качестве примера в Java или псевдокода было бы чрезвычайно полезно.

+5

Что вы уже пробовали? Покажите свой код. – DimaSan

+4

Вам нужно напечатать цифры с 1 по 8, и вам нужно напечатать символ «x». Вам также нужно запустить новую строку после каждого третьего символа, пока не дойдете до последней строки. Конечно, вы можете сделать это самостоятельно, а затем попросить о помощи, когда застрянете. – Gendarme

ответ

0

надеюсь, что это поможет. Дайте знать, если у вас появятся вопросы.

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++;    
     } 

    } 
} 
+0

Я неправильно понял вопрос, но сейчас обновлен. –

+0

Вы запустили этот код? Он не выводится в правильном формате. – Jason

-1

Перед отправкой кода, я бы порекомендовал только одно. В программировании вы должны начать думать о нулевой индексации. Кроме того, если формат, который вы опубликовали, не имеет опечаток в индексировании (потому что рационально после печати «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(); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^