Auf Thema antworten

Mal ein Vorschlag, wie ich das gemeint habe.


Der Vorteil ist, dass der "Leerraum" keinen Platz benötigt, weil in der Liste nur tatsächliche interstellare Objekte aufgeführt sind.


[CODE=java]// interface für alle interstellaren Objekte

public interface InterstellarObj {

    Position getPosition(); // wie Position funktioniert kannst du bestimmen, entweder ein Kubus mit x,y,z oder vielleicht das galaktische Koordinatensystem?

}


// Beispielobjekt Stern

public class Star implements InterstellarObj {

    private Position position;

    private String name;


    public Star(Position position, String name) {

        this.position = position;

        this.name = name;

    }


    @Override

    public Position getPosition() {

        return position;

    }


    @Override

    public String toString() {

        return name;

    }

}


// oder Planet (nur umrissen)

public class Planet implements InterstellarObj {

    // siehe Klasse Star

}


// Das Universum

public class Universe {

    private List<InterstellarObj> interstellarObjects = new ArrayList<>(); // oder eine Map<Position, InterstellarObj> damit man besseren Zugriff über die Position hat.


    public void add(InterstellarObj object) {

        this.interstellarObjects.add(object);

    }

}


// Hauptprogramm


Universe universe = new Universe();


InterstellarObj sun = new Star(new Position(x,y,z), "Sonne"); // x,y,z sind nur Platzhalter


universe.add(sun); // jetzt hat das Universum eine Sonne :)

[/CODE]


https://de.wikipedia.org/wiki/Galaktisches_Koordinatensystem



Oben