2017-07-10 16 views
0

私はSnakes and Laddersゲームをコーディングしています。メッセージダイアログでグリッドを表示する方法を除いて、ほとんどのロジックがソートされています。Snakes and Ladders:ダイアログボックスにグリッドを表示

private static void generateGrid() { 

    String[][] board = new String[][] { 
     { "48", "47", "46", "45", "44", "43", "42" }, 
     { "35", "36", "37", "38", "39", "40", "41" }, 
     { "34", "33", "32", "31", "30", "29", "28" }, 
     { "21", "22", "23", "24", "25", "26", "27" }, 
     { "20", "19", "18", "17", "16", "15", "14" }, 
     { "7", "8", "9", "10", "11", "12", "13" }, 
     { "6", "5", "4", "3", "2", "1", "0" } }; 

    String grid = ""; 

    for (int x = 0; x < 7; x++) { // This counts the number of 
               // rows 

     for (int y = 0; y < 7; y++) { // This counts the number 
                // of columns 

      if ((board[x][y] + "").length() == 1) { 

       grid = grid + board[x][y] + " \t"; 

      } else { 

       grid = grid + board[x][y] + " \t"; 

      } 

      grid = grid + "\n"; 
     } 

     JOptionPane.showMessageDialog(null, grid);  

    } 
} 

私はメッセージダイアログに表示されるグリッドは、アレイ内の同じレイアウトを持つようにしたいが、私は私のプログラムを実行すると、これが最終的な結果である:

this is the end result

行う方法私はグリッドが表示されたときに、数字の順序が配列に表示されたレイアウトに従うようにしますか?

+0

else文の "\ t"は "\ n"にする必要がありますか? – onnoweb

答えて

0

すべての番号の後に文grid = grid + "\n";を実行しているため、配列の各要素の後に改行を追加します。次のように正しいコードが見えます:

private static void generateGrid() { 

    String[][] board = new String[][] { 
     { "48", "47", "46", "45", "44", "43", "42" }, 
     { "35", "36", "37", "38", "39", "40", "41" }, 
     { "34", "33", "32", "31", "30", "29", "28" }, 
     { "21", "22", "23", "24", "25", "26", "27" }, 
     { "20", "19", "18", "17", "16", "15", "14" }, 
     { "7", "8", "9", "10", "11", "12", "13" }, 
     { "6", "5", "4", "3", "2", "1", "0" } }; 

    String grid = ""; 

    for (int x = 0; x < 7; x++) { // This counts the number of 
              // rows 
     for (int y = 0; y < 7; y++) { // This counts the number 
               // of columns 
      if ((board[x][y] + "").length() == 1) { 
       grid = grid + board[x][y] + " \t"; 
      } else { 
       grid = grid + board[x][y] + " \t"; 
      } 

     } 

     grid = grid + "\n"; 
    } 
    JOptionPane.showMessageDialog(null, grid);  
} 

、同様の問題を解決する次回(EclipseやNetBeansのような)デバッガとIDEを使用して、コードのステップのいずれかを自分自身を見つける、あるいは単にのSystem.outを追加するには.println()コマンドを使用すると、すべてのステップで変数の値を確認できます。

関連する問題