java - 二维数组图 block 列表

标签 java tile

我现在有一个数组,

    static int[][] map = new int[WIDTH][HEIGHT];

此代码在 map 上放置图 block :

for (int y = 18; y < HEIGHT; y++) {
        for (int x = 0; x < WIDTH; x++) {
            map[x][y] = STONE;
        }

    }

    for (int y = 18; y < 19; y++) {
        for (int x = 0; x < WIDTH; x++) {
            map[x][y] = GRASS;
        }

    }

    for (int y = 19; y < 20; y++) {
        for (int x = 0; x < WIDTH; x++) {
            map[x][y] = DIRT;
        }

    }

下面是我如何渲染它们:

for (int x = 0; x < WIDTH; x++) {
        for (int y = 0; y < HEIGHT; y++) {
            switch (map[x][y]) {
            case CLEAR:
                air.draw(x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE);
                break;
            case STONE:
                stone.draw(x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE);
                break;
            case GRASS:
                grass.draw(x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE);
                break;
            case DIRT:
                dirt.draw(x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE);
                break;
            }
        }
    }

如何转换此代码以用二维数组列表替换数组映射,这样我就可以像我的世界一样删除这些图 block ?

最佳答案

尝试

ArrayList<ArrayList<Integer>> map = new ArrayList<ArrayList<Integer>>();

基本上,您创建的是数组列表的数组列表,而数组列表又是整数列表。

关于java - 二维数组图 block 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13317979/

相关文章:

python - web.py 可以处理多少个请求?

python - PyGame:平移平铺 map 会导致间隙

android - 重复的背景图像被拉伸(stretch)

java - Ubuntu Java jdk 8 安装问题。安装完java8的RPM后发现openjkd 11

java - 有多少个 Java 垃圾收集器对象?

java - Apache Camel : creating simple POJO pipelines (put a POJO in and get a POJO out)

java - 线程中的每个操作都发生在该线程中按程序顺序稍后出现的每个操作之前

image - 获取图 block 集中图 block 的左上角位置

java - Joda 时间 IllegalArgumentException

java - 基于带整数的文件在 Canvas 上平铺绘图