Einführung in die Programmierung leicht gemacht
Paola Maneggia paola.maneggia@ifi.lmu.de
TdI @LMU - 05. Juni 2019
Sprache und IDE, spezialisiert auf Grafik
MIT ab 2001 A Modern Prometheus - Artikel über Geschichte und Hintergrund in Medium.comStandardsprache: Java (vereinfacht), Mode für Python, openprocessing.org und p5.js in Javascript
Schülerin: "Zum ersten Mal macht Informatik richtig Spaß"
Eine andere Schülerin (Anfang November)
Stark visuell basierte Umgebungen wecken das Interesse und unterstützen das Vorstellungsvermögen:
It looks like you're mixing "active" and "static" modes
Menu "Sketch" > "Tweak" (Deutsch: "Optimieren")
oder Cmd+Shift+T (Ctrl+Shift+T on Windows).
void setup() {
size(600, 400);
}
void draw() {
ellipse(20, 20, 50, 50);
}
tweak ausprobieren: Was bedeuten die vier Parameter der ellipse-Funktion?
Autovervollständigung: Strg + Leerzeichen
Dokumentation: https://processing.org/reference/
Die zwei wichtigsten Blöcke sind: setup() und draw(). Der Inhalt von draw() läuft in einer unendlichen Schleife.
Der Schwerpunkt von Processiong ist Grafik. Was der draw()-Block ermöglicht, ist etwas zu zeichnen und einfache Animationen zu erzeugen. Beispiel: Code eingeben und auf die Taste "Play" drücken:
Ein kleines grafisches Fenster wird angezeigt. In diesem Fenster steht ein Rechteck. Die vier Parameter, die das Rechteck bestimmen, sind in der Abbildung erklärt:
Weitere: https://processing.org/reference/
Grobplanung 3
Inspiriert von Alan Kays TED-Talk
Viele Informationen über die Umgebung stehen durch globale Variable zur Verfügung
Den Modulo-Operator und width verwenden, so dass, wenn der Ferrari rechts aus der Leinwand fährt, er wieder von links anfängt.
Eine Variable für die Geschwindigkeit ergänzen und die Geschwindigkeit via mouseY kontrollieren.
void mouseClicked() {
x = mouseX; // Beim Mausklick x-Position des Autos setzen
}
void keyPressed() {
x = 0; // beliebige Taste -> Ferrari zürück zum Anfang
}
Nur als Übung oder nach dem Üben auch als Leistungserhebung?
Daniel Shiffman
YouTube Channel