簡體   English   中英

如何使用內置變量創建Java類

[英]How to create a Java class with built-in variables

我不知道如何很好地說出標題,但這是我的問題:我正在用Java制作一個迷宮游戲,我想創建一個類,這樣我就可以輕松設置塊:

addBlock(32, 32)

第一個和第二個數字是應該放置塊的x和y坐標。 我是Java的初學者,來自Python。

你可以像這樣創建一個基本的pojo:

    public class Block {
        private int x;
        private int y;

        public Block(int x, int y) {
            this.x = x;
            this.y = y;
        }

        public int getX() {
            return x;
        }

        public int getY() {
            return y;
        }

    }

然后,您可以創建一個Maze類,例如:

    public class Maze {

        public void addBlock(Block block) {
            // your logic here
        }

    }

用於存儲Block對象的數據結構取決於具體情況。 我建議使用基於坐標(如果它具有不規則形狀)或數組/ ListString鍵的HashMap

HashMap版本:

private Map<String, Block> blocks; // ...

public void addBlock(Block block) {
    blocks.put(block.getX()+","+block.getY(), block);
}

陣列版本:

private Block[][] blocks; // ...

public void addBlock(Block block) {
    blocks[block.getX()][block.getY()] = block;
}

您可以看到HashMap版本的優勢在於它是動態的。 您必須使用默認值初始化數組。

可能你想要一些高度封裝的解決方案嗎?

public class Maze {
    private class Block {
        private int x;
        private int y;

        public Block(int x, int y) {
            this.x = x;
            this.y = y;
        }
    }
    private List<Block> blocks = new ArrayList<Block>();

    public Maze addBlock(int x, int y) {
        this.blocks.add(new Block(x, y));
        return this;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM