Kü /Info OOP - Turtles Programmverzweigungen Videos: o http://perm.ly/oop-turtle-programmverzweigungen if - else - Struktur Programmverzweigungen auf Grund von bestimmten Bedingungen gehören zu den Grundstrukturen jeder Programmiersprache. Die Anweisungen nach if werden nur dann ausgeführt, wenn die Bedingung wahr ist, sonst werden die Anweisungen nach else ausgeführt. Im if-Ausdruck werden üblicherweise die Vergleichsoperatoren >, >= , < , <= , == , != verwendet. Im ersten Beispiel werden mit Hilfe einer Zufallszahl unterschiedlich farbige Turtles erzeugt. Die Farbe der Turtles wird mit einer if-else-Struktur bestimmt. Ist die Zufallszahl größer als 0,5 so wird eine rote Turtle erzeugt, sonst eine grüne. Math.random() liefert eine Zufallszahl zwischen 0 und 1. //Turtle4.java import ch.aplu.turtle.*; import java.awt.Color; class Turtle4 extends Turtle{ public static void main(String[] args) { Turtle4 joe = new Turtle4(); joe.setPos(-100,-100); joe.setLineWidth(5); double i = Math.random(); if (i >0.5) joe.setColor(Color.red); else joe.setColor(Color.green); } } Erklärungen zum Programmcode: setPos(-200, 200) Die Turtle wird an die Position mit der x-Koordinate - 200 und der y-Koordinate - 200 gesetzt setLineWidth(5) Die Strichdicke wird auf 5 gesetzt. Standardwert ist 1 SJ 2015/2016 Kü /Info OOP - Turtles SJ 2015/2016 if - Struktur Oft ist der else-Teil überflüssig Das Programm verzweigt in den if-Block, falls die Bedingung erfüllt ist. In diesem Beispiel werden mit Hilfe einer Zufallszahl unterschiedlich farbige Turtles erzeugt. Die Farbe der Turtles wird mit einer if -Struktur bestimmt. Ist die Zufallszahl größer als 0,5 so wird eine rote Turtle erzeugt, sonst wird die Turtle nicht neu eingefärbt. //Turtle5.java import ch.aplu.turtle.*; import java.awt.Color; class Turtle5 extends Turtle{ public static void main(String[] args) { Turtle5 joe = new Turtle5(); joe.addStatusBar(20); joe.setStatusText("Dies ist ein Test"); joe.setPos(-100,-100); joe.setLineWidth(5); double i = Math.random(); if (i >0.5) joe.setColor(Color.red); } } Erklärungen zum Programmcode: addStatusBar(20) Erzeugt eine 20 Pixel hohe Statusbar, in der während der Programmausführung Informationen ausgeschrieben werden können setStatusText("Test") Ersetzt den vorhandenen Text durch einen neuen if (i>5) Nach der if-Bedingung folgt nur eine einzige Anweisung. Es joe.setColor("red"); sind daher keine Blockklammern notwendig