開始ノードのx座標とy座標を指定してボードを作成するにはどうしたらいいですか?たとえば、x = 3、y = 2の場合、ボードは次のようになります。8つのパズルの開始
1 2 3
4 5 x
6 7 8
Javaまたは擬似コードの例は非常に便利です。
開始ノードのx座標とy座標を指定してボードを作成するにはどうしたらいいですか?たとえば、x = 3、y = 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
コードを転記する前に、私は1つのことをお勧めします。プログラミングでは、ゼロベースのインデックス作成を考える必要があります。また、あなたが投稿した書式には、( 'x'を印刷した後、合理的に6を使わずに7を印刷しなければならないので)3 x 3板が索引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'を印刷する必要があります。また、最後の行に達するまで、3文字ごとに改行を開始する必要があります。確かにあなたは自分自身の*いくつか*を行うことができ、あなたが立ち往生したときに助けを求めることができます。 – Gendarme