Java - 从文本文件和平铺图中读取2d数组

时间:2012-06-12 16:13:09

标签: java arrays file text 2d

我的项目构建并且没有错误,它将数组的所有行打印到控制台。我有一个数组地图文本文件,其中1是全部,但它只是将第一行绘制为1,我很脏,其余的是草。不知道我做错了什么,因为这是我第一次尝试从文本文件中读取。我已经为文本文件尝试了不同的命令和所有内容,所以我不确定这是不是错了。

enter image description here

public class Tiles {

Image[] tiles = new Image[2];

int[][] map = new int[500][500];

Image grass, dirt;

SpriteSheet tileSheet;

public void init() throws IOException, SlickException {
    tileSheet = new SpriteSheet("assets/tiles.png", 32, 32);

    grass = tileSheet.getSprite(0, 0);
    dirt = tileSheet.getSprite(7, 7);
    tiles[0] = grass;
    tiles[1] = dirt; 

    int x=0, y=0;
BufferedReader in = new BufferedReader(new FileReader("assets/map.txt"));
String line;
while ((line = in.readLine()) != null) {
        String[] values = line.split(",");
    for (String str : values) {
            int str_int = Integer.parseInt(str);
            map[x][y]=str_int;
            System.out.print(map[x][y] + " ");
            y=y+1;
        }
System.out.println("");
x=x+1;
}
    in.close();
}

public void update() {

}

public void render(GameContainer gc) {
    for(int x = 0; x < 50; x++) {
        for(int y = 0; y < 50; y ++) {
            int textureIndex = map[y][x];
            Image texture = tiles[textureIndex];
            texture.draw(x*32,y*32);
        }
    }
}

Map.txt

0 个答案:

没有答案