hier zu schaffen, ist der Planet Klasse:Der Versuch, eine randomisierte "Sonnensystem"
public class Planet extends CelestialBody {
private static Random r = new Random();
private static Star star;
public Planet(Star star, int orbitRadius, int x, int y){
name = "PLACEHOLDER";
radius = Tools.intBetween(Settings.MAX_PLANET_SIZE, Settings.MIN_PLANET_SIZE);
color = Tools.rObjFromArray(Settings.PLANET_COLORS);
this.star = star;
this.orbitRadius = orbitRadius;
this.x = x; this.y = y;
}
public static Planet createNewPlanet(Star star, int orbitRadius){
int px = (int) (star.x + orbitRadius * Math.cos(Math.toRadians(r.nextInt(360))));
int py = (int) (star.y + orbitRadius * Math.sin(Math.toRadians(r.nextInt(360))));
return new Planet(star, orbitRadius, px, py);
}
public void render(Graphics g){
//Draw orbit
g.setColor(Color.white);
g.drawOval(star.x - orbitRadius, star.y - orbitRadius, orbitRadius * 2, orbitRadius * 2);
//Draw planet
g.setColor(color);
g.fillOval(x - radius, y - radius, radius * 2, radius * 2);
}
}
orbitRadius = distance from planet to star (random);
radius = planet's radius (random)
in den Kommentaren fragen, wenn Sie mehr Code benötigen, und ich weiß, Das ist eine noob-Frage, aber ich kann einfach nicht herausfinden, warum die Bahnen nicht mit den Planeten übereinstimmen. Vielen Dank.
Willkommen bei StackOverflow! Ihr Code sieht auf den ersten Blick gut aus. Kannst du vielleicht den Rest der Planet-Klasse veröffentlichen? Wenn Sie es noch einfacher machen möchten, dass Menschen Ihnen helfen, können Sie versuchen, ein [minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) zu erstellen. – 11684
Egal, ich habe herausgefunden, was das Problem ist. – 11684
Ich habe in der gesamten Klasse bearbeitet. – Tom