[英]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
對象的數據結構取決於具體情況。 我建議使用基於坐標(如果它具有不規則形狀)或數組/ List
的String
鍵的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.