Turtlegrafik für Smartphones und Tablets

Entwicklungsprojekt PHBern  
HomeOnline-Editor startenDruckenAndroid GamesJava-Online

Methoden verwenden


Komplexe Programme sollten mit Hilfe von Methoden in kleinere, leichter zu programmierende Teilprogramme zerlegt werden. Solche Teilprogramme können zudem auch mehrmals verwendet werden. Eine Methodendeklaration umfasst einen Methodenkopf bestehend aus dem Methodennamen und Typ des Rückgabewertes (void bei Methoden ohne Rückgabewert) sowie einem Anweisungsblock. Die Methode wird mit dem Methodennamen gefolgt von einem Klammerpaar aufgerufen. Wir zeigen diese Programmiertechnik an einem einfachen Beispiel:

 
Die Methode arc() zeichnet einen Viertelkreis


 
Um ein Blatt zu zeichnen, schreiben wir eine Methode petal() ("Blütenblatt"). In dieser wird die Methode arc() zweimal aufgerufen

Im Hauptprogramm wird die Methode petal() in einer for-Schleife aufgerufen, um alle 8 Blätter der Blume zu zeichnen.

Source mit Online-Compiler bearbeiten

App installieren auf Smartphone oder Tablet

QR-Code

Sources downloaden (Tu10.zip)

// Tu10.java

package app.tu10;

import turtle.*;

public class Tu10 extends Playground
{
  public void main()
  {
    for (int = 0; k < 8; k++)
    {
      petal();
      rt(45);
    }  
  }
  
  void arc()
  {
    for(int = 0; i < 30; i++)
    {
      fd(4);
      rt(3);
    }
  }  
  
  void petal()
  {
    arc();
    rt(90);
    arc();  
  }  
}
 

Erklärungen zum Programmcode:

void arc() Diese Methode wird mit dem Schlüsselword void gefolgt vom Methodennamen und einem leeren Klammerpaar deklariert
arc() Der Aufruf der Methode arc()

 


Wenn man das obenstehende Programm mit zwei Zeilen ergänzt, erhält man eine rote, gefüllte Blume.

Source mit Online-Compiler bearbeiten

App installieren auf Smartphone oder Tablet

QR-Code

Sources downloaden (Tu10a.zip)

// Tu10a.java

package app.tu10a;

import turtle.*;

public class Tu10a extends Playground
{
  public void main()
  {
    for (int = 0; k < 8; k++)
    {
      petal();
      rt(45);
    }  
  }
  
  void arc()
  {
    setPenColor(RED);
    for(int = 0; i < 30; i++)
    {
      fd(4);
      rt(3);
    }
  }  
  
  void petal()
  {
    fillToPoint(getX(), getY());
    arc();
    rt(90);
    arc();  
  }  
}


 

Erklärungen zum Programmcode:

fillToPoint(getX(), getY()) Füllt die Figur fortlaufend vom aktuellen Punkt aus (Startpunkt der Blüte)

 

Methoden mit Parametern


Methoden können Parameter enthalten, die es ermöglichen, Werte an Methoden zu übergeben. Die Parameter müssen wie Variablen einen bestimmten Typ besitzen. Mit der Methode square(double s) können Quadrate mit verschiedenen Seitenlängen gezeichnet werden.

Source mit Online-Compiler bearbeiten

App installieren auf Smartphone oder Tablet

QR-Code

Sources downloaden (Tu11.zip).

// Tu11.java

package app.tu11;

import turtle.*;

public class Tu11 extends Playground
{
  public void main()
  {
    double = 140;
    while (s > 5)
    {
      square(s);
      lt(180);
      s = * 0.9; 
    }
  }

  void square(double s)
  {
    for (int = 0; i < 4; i++)
    {
      fd(s);
      rt(90);
    }
  }
}
 

Erklärungen zum Programmcode:

void square(double s) Der Parameter s ist vom Typ double
square(s) Beim Aufruf der Methode muss der Parameter angegeben werden