0

ID と説明の列挙型と座標の double 配列を宣言しました。

public enum Location {
    GRASS(0, "Green Grass"),
    CHURCH(1, "A church");

    private int locationId;
    public int locationId() { return locationId; }

    private String description;
    public String details(){ return description; }

    Location(int locationId, String description){
        this.locationId = locationId;
        this.description = description;
    }

次に、場所の配列を宣言しました...

private Location[][] locations;

次に、マップの幅と高さのランダムな場所の負荷を設定します...

    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            locations[x][y] = Math.random() < 0.5 ? Location.GRASS: Location.CHURCH;
        }
    }

今、一連の場所をループして、タイルから locationId を引き出したい[x] [y]

    int locationID;
    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            locationID = locations[x][y].WHATGOESHERE?
            Debug.e("Current location: " + locationID);
        }
    }       

この時点で Location の最初の要素を引き戻すにはどうすればよいですか? x y の特定の場所の数値が必要です。

乾杯!

4

1 に答える 1

2

コードlocations[x][y]は を提供するLocationので、ここで適切なメソッドを呼び出すだけです。

locationID = locations[x][y].locationId();
于 2013-05-15T22:09:07.537 に答える