晚上好,
几个小时以来,我一直在寻找解决这个问题的方法,但没有成功,所以我想我会在这里问一个问题!我有一个关于从文本文件中读取字符/行的问题。我已经能够实现一个函数,它从文件中读取行。我正在使用 Greenfoot (Java) 创建一个使用 32x32 块的游戏。我想通过获取每个“块”/“字符”的 x/y 坐标并将其放置在世界中来从该文本文件中生成一个世界。使用数组会更容易吗?我当前的代码看起来像这样,但我不知道如何获取坐标。它可以通过使用它返回的哈希码来工作吗?
public void readFile(String filename) throws IOException
{
String s;
int x = 0;
int y = 0;
// Create BufferedReader and FileReader
BufferedReader r = new BufferedReader(new FileReader(filename));
// Try-catch block as exception handler
try {
while((s = r.readLine()) != null) {
// Create the blocks
GrassBlock A = new GrassBlock();
// Place them in the world
addObject(A, x, y);
// Test to see, if the blocks get recognised
System.out.println(A);
DirtBlock B = new DirtBlock();
System.out.println(B);
addObject(B, x, y);
}
} catch (IOException e) {
System.out.println("Fehler beim Öffnen der Datei");
} finally {
}
}
我的文件看起来有点像这样:
0000000000
0000000000
AAAAAA00AA
BBBBBB00BB
我看到我已经为 x 和 y 分配了值“0”,所以它当然不能像这样工作,但是我怎样才能得到那个位置呢?现在该函数能够读取行,在 (0, 0) 处生成块,并在控制台中显示带有哈希码的块。
PS对不起,如果我在某些事情上使用了错误的术语,我对编程还比较陌生!
谢谢你,朱利安