Lernpfad:Objektorientierte Programmierung mit Processing/6

Aus Informatik-Box
< Lernpfad:Objektorientierte Programmierung mit Processing
Version vom 23. März 2021, 00:07 Uhr von Jneug (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{NNavigation}} == Vollmond == Es gibt eine Sonne und die Erde. Es fehlt noch unser treuer Trabant: Der Mond. center…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Vollmond

Es gibt eine Sonne und die Erde. Es fehlt noch unser treuer Trabant: Der Mond.

Sonnensystem Processing.gif
Icon Heft.png
Arbeitsauftrag

Erstelle eine neue Klasse Moon. Du kannst Planet als Vorlage nutzen. ergänze aber noch die Eigenschaft float size, damit wir Monde verschiedener Größe erstellen können. Achte auch darauf, dass der Mond nun nicht mehr um die Sonne, sondern um einen Planeten kreist.

Tipp: fill(255) setzt die Füllfarbe auf weiß.

Füge dann einen Mond in das Hauptprogramm ein und lasse ihn um die Erde kreisen. (Passende Werte für den Mond sind: Größe=8, Entfernung=30, Geschwindigkeit:0.005.)

Lösung
class Moon {

  private String name;

  private float x;
  
  private float y;
  
  private float distance;
  
  private float angle;

  private float speed;
  
  private float size;

  private Planet planet;

  public Moon( String pName, Planet pPlanet, float pSize, float pDist, float pSpeed ) {
    name = pName;
    planet = pPlanet;
    distance = pDist;
    size = pSize;
    
    speed = pSpeed;
    angle = 0.0;
    x = 0.0;
    y = 0.0;
  }
  
  public float getX() {
    return planet.getX()+x;
  }

  public float getY() {
    return planet.getY()+y;
  }
  
  public void draw() {
    noStroke();
    fill(255);
    ellipse(getX(),getY(),size,size);
  }
  
  public void update() {
    angle += speed;
    x = distance * cos(angle);
    y = distance * sin(angle);
  }

}