我正在製作這款遊戲叫做高峯時間(在那裏你移動紅色的車)。JAVA:從二維數組中創建對象
到目前爲止,我做了一個二維數組,它從文本文件中讀取關卡。接下來,我想將文本文件中的值轉換爲對象,以便我可以開始使用座標來移動它們。
下面解釋一下我的代碼:首先我製作一個二維數組6x6,用戶可以選擇難度級別,並根據他們選擇的內容來加載4個levels.txt(初學者,中級,高級或專家)。
當你選擇了關卡後,它將加載二維數組中的關卡(我將在代碼下面提供一個關卡,以便你有一個想法)。當關卡加載時,它會給所有內容添加一個「0」(它在我眼中看起來更友好),並用|標誌。
所以現在我想我需要從我剛纔在二維數組中讀取的值中創建對象,以便移動它們(糾正我,如果我錯了),我需要檢查數字周圍的值是否匹配或不匹配,如果匹配,我需要將它們結合起來。
我該如何處理?在此先感謝
到目前爲止我的代碼:
public class Bord {
private static String[][] bordArray = new String[6][6];
public static void kiesLevel() {
System.out.println("\nKies moeilijkheidsgraad\n1) Beginner\n2) Intermediate\n3) Advanced\n4) Expert");
Scanner keyboardScanner = new Scanner(System.in);
int keuze = keyboardScanner.nextInt();
switch (keuze) {
case 1:
beginner();
break;
case 2:
intermediate();
break;
case 3:
advanced();
break;
case 4:
expert();
break;
default:
throw new NumberFormatException("Geef een geldige invoer");
}
}
public static void beginner() {
leesBordIn("c:/users/Glenn/desktop/beginner.txt");
}
public static void intermediate() {
leesBordIn("d:/intermediate.txt");
}
public static void advanced() {
leesBordIn("d:/advanced.txt");
}
public static void expert() {
leesBordIn("d:/expert.txt");
}
private static void leesBordIn(String filename) {
try {
BufferedReader br = new BufferedReader(new FileReader(filename));
String line = null;
int r = 0;
while ((line = br.readLine()) != null) {
for (int c = 0; c < bordArray[r].length; c++) {
if (line.toCharArray()[c] == '0') {
bordArray[r][c] = " ";
} else {
String characterstring = Character.toString(line.toCharArray()[c]);
if (characterstring.length() != 2) {
characterstring = "0" + characterstring;
}
bordArray[r][c] = characterstring;
}
System.out.print("|" + bordArray[r][c]);
}
if (r == 2) {
System.out.println("=");
} else {
System.out.println("|");
}
r++;
}
} catch (FileNotFoundException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}
}
〔實施例的水平:
220007
300807
311807
300800
400066
405550
輸出例如:
|02|02| | | |07|
|03| | |08| |07|
|03|01|01|08| |07=
|03| | |08| | |
|04| | | |06|06|
|04| |05|05|05| |
我很抱歉,我想我搞砸了的東西,當我粘貼從控制檯輸出。它在右側打印=標誌,它表示玩家必須將紅色轎車(編號1或01)移動到哪裏。 我想要做的是從我剛剛在文本文件中放入bordArray的值中創建對象。正如你可以看到的例子theres | 02 | 02 |,我需要將它們配對,並將它們移出它們以移動它們(我認爲這是正確的方式) – user2029238