如何识别文本文件中的字符并将其转换为地图中的对象?

时间:2017-03-18 20:50:32

标签: java

我正在编写游戏,水平贴图是文本文件。我如何获取这些文本文件并将它们转换为java中的地图?

示例:

> ##########
> #b  X   X#
> #        #
> #   C    #
> #        #
> #      # #
> #  C   #C#
> #     O# #
> #  X   #E#
> ##########

E是移动物体

#  是墙壁

Ç 是盒子

X 是目标

b 是移动物体的电池

1 个答案:

答案 0 :(得分:1)

我建议你首先使用BufferedReader加载文件,它提供readLine方法,然后将它返回的String转换为char数组(使用toCharArray()方法)。 / p>

之后,您可以在switch循环中使用foreach结构解析每个字符。它会给出这样的东西:

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;
}
}

希望它能帮到你:)。