我正在编写一个游戏,关卡 map 是文本文件。我如何获取这些文本文件并将它们转换成java中的 map ?
示例:
> ########## > #b X X# > # # > # C # > # # > # # # > # C #C# > # O# # > # X #E# > ##########
E是一个移动的物体
# 是墙
c 是盒子
x 是目标
b 是移动物体的电池
最佳答案
我建议您首先使用 BufferedReader 加载文件,它提供了 readLine
方法,然后将其返回的 String 转换为 char
数组(使用 toCharArray()
方法)。
之后,您可以在 foreach
循环中使用 switch
结构来解析每个字符。它会给出这样的东西:
for(char charac : data.toCharArray()) {
switch(charac) {
case '#' :
solidTiles.add(new Wall(posX, posY)); //where solidTiles is an
//ArrayList of tiles
break;
case ' ' :
//is a blank space, so do nothing (or add a new tile to some list, etc.)
break;
case 'E' :
entities.add(new MovingEntity(posX, posY)); //etc.
break;
}
}
希望对你有帮助:)
关于java - 如何识别文本文件中的字符并将其转换为 map 中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42879712/