我正在用Java製作遊戲,我希望玩家能夠在具有指定邊界的世界中移動。ACSII世界地圖導入和閱讀
在搜索網絡後,如何定義「世界」,換句話說,玩家可以在哪裏移動,哪裏不在。
我喜歡2D ASCII地圖的想法,其中,一個字符表示一定量的像素,例如:
###################
#-----------------#
#-----###---------#
#-----###---------#
#-----------------#
###################
在這個例子中,-
字符代表一個10×10瓦,玩家是允許進入,並且#
角色代表玩家不能前來的10x10區域。
在Java中,我導入world.txt
使用:
void importMap() {
BufferedReader br = new BufferedReader(new FileReader("world.txt"));
String line;
while ((line = br.readLine()) != null) {
for (char ch: line.toCharArray()) {
// Add to array
}
}
br.close();
}
不過,我不知道在哪裏存儲這些數據。我想一個二維數組來,我可以簡單地得到在一定的X這樣的字符,Y值:
world[7][3];
// Should return #
我應該如何儲存這些ASCII地圖?二維數組,二維對象,散列圖等?
動態二維數組類(可能使用ArrayList的ArrayList實現)很酷。 – JVMATL