Lernpfad:Objektorientierte Programmierung mit Processing/6: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Markierungen: Mobile Bearbeitung Mobile Web-Bearbeitung
KKeine Bearbeitungszusammenfassung
 
Zeile 3: Zeile 3:
== Vollmond ==
== Vollmond ==


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


[[Datei:Sonnensystem_Processing.gif|center]]
[[Datei:Sonnensystem_Processing.gif|center]]


{{Aufgabe:Start|Icon=Processing_icon.png}}
{{Aufgabe:Start|Icon=Processing_icon.png}}
Erstelle eine neue Klasse <code>Moon</code>. Du kannst <code>Planet</code> als Vorlage nutzen. ergänze aber noch die Eigenschaft <code>float size</code>, 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 (passe die Eigenschaft, den ''Konstruktor'' und die ''Getter'' entsprechend an).  
Erstelle eine neue Klasse <code>Moon</code>. Du kannst <code>Planet</code> als Vorlage nutzen. Ergänze aber noch die Eigenschaft <code>float size</code>, 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 (passe die Eigenschaft, den ''Konstruktor'' und die ''Getter'' entsprechend an).  


Tipps: <code>fill(255)</code> setzt die Füllfarbe auf weiß. Die [https://processing.org/reference/ellipse_.html Referenz zur <code>ellipse</code>-Methode] hilft Dir dabei, die Größe des Mondes passend zu zeichnen.
Tipps: <code>fill(255)</code> setzt die Füllfarbe auf Weiß. Die [https://processing.org/reference/ellipse_.html Referenz zur <code>ellipse</code>-Methode] hilft Dir dabei, die Größe des Mondes passend zu zeichnen.


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.)
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.)

Aktuelle Version vom 7. Februar 2022, 23:51 Uhr

Vollmond

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

Sonnensystem Processing.gif
Processing icon.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 (passe die Eigenschaft, den Konstruktor und die Getter entsprechend an).

Tipps: fill(255) setzt die Füllfarbe auf Weiß. Die Referenz zur ellipse-Methode hilft Dir dabei, die Größe des Mondes passend zu zeichnen.

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);
  }

}