2016-09-16 90 views
0

你好我有一個控制檯應用程序,我試圖創建遊戲莫里斯,但我有一個問題在設置散點圖中的一個點後繪製地圖。我已經證實,我的觀點的價值正在改變,但由於某種原因,方法v不再被調用。String Array只調用一次方法

這是我的數組的繪製比較遺憾的是可怕的看着我的字符串數組代碼:

public abstract class BoardGeometry { 
    // Een array van Strings waarmee je het bord kunt tekenen 
public static String v(char c) { 
    System.out.println(Board.boardHashMap.get(c).getValue()); 
    return Board.boardHashMap.get(c).getValue(); 
} 

public final static String[] LAYOUT = { 
     "" + v('A') + "-----------" + v('B') + "-----------" + v('C') + "  A-----------B-----------C", 
     "|   |   |  |   |   |", 
     "| " + v('D') + "-------" + v('E') + "-------" + v('F') + " |  | D-------E-------F |", 
     "| |  |  | |  | |  |  | |", 
     "| | " + v('G') + "---" + v('H') + "---" + v('I') + " | |  | | G---H---I | |", 
     "| | |  | | |  | | |  | | |", 
     "" + v('J') + "---" + v('K') + "---" + v('L') + "  " + v('M') + "---" + v('N') + "---" + v('O') 
       + "  J---K---L  M---N---O", 
     "| | |  | | |  | | |  | | |", 
     "| | " + v('P') + "---" + v('Q') + "---" + v('R') + " | |  | | P---Q---R | |", 
     "| |  |  | |  | |  |  | |", 
     "| " + v('S') + "-------" + v('T') + "-------" + v('U') + " |  | S-------T-------U |", 
     "|   |   |  |   |   |", 
     "" + v('V') + "-----------" + v('W') + "-----------" + v('X') + "  V-----------W-----------X" }; 
} 

這是我用來繪製它的代碼:

public static void drawMap() { 
    for (String s : BoardGeometry.LAYOUT) { 
     System.out.println(s); 
    } 

} 

因此,通過把

System.out.println(Board.boardHashMap.get(c).getValue()); 

並使用調試模式我已經證實,它只是通過v方法一次在運行不是meverytime時,我調用drawMap();

很不明白爲什麼,我很抱歉,如果這是一個重複的問題我真的不知道要搜索什麼,我一直堅持了幾個小時,直到我已經能夠將其固定到這個。

+0

因爲我沒有看到您實際調用v方法,您期望什麼? – Stultuske

+0

在強陣中? ('A')。getValue(); –

+0

'LAYOUT'只被賦值一次,所以在它之後它永遠不會改變。你有一個方法返回'='後的相同的東西,然後它應該工作,因爲然後數組是從更新後的數據構造的 – Siguza

回答

1

問題是您只將值放入佈局中,並且該值是固定的。您需要在繪製地圖之前每次重新計算LAYOUT,否則它將保持相同的值(地圖)