diff --git a/Lektion 2/If_Clauses/.vscode/tasks.json b/Lektion 2/If_Clauses/.vscode/tasks.json new file mode 100644 index 0000000..6704d9d --- /dev/null +++ b/Lektion 2/If_Clauses/.vscode/tasks.json @@ -0,0 +1,41 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "Run Sketch", + "type": "shell", + "group": { + "kind": "build", + "isDefault": true + }, + "command": "D:\\UNI\\Semester_1\\Programmieren\\processing-4.3\\processing-java.exe", + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "dedicated" + }, + "args": [ + "--force", + "--sketch=${workspaceRoot}", + "--output=${workspaceRoot}/out", + "--run" + ], + "windows": { + "type": "process", + "args": [ + "--force", + { + "value": "--sketch=${workspaceRoot}", + "quoting": "strong" + }, + { + "value": "--output=${workspaceRoot}\\out", + "quoting": "strong" + }, + "--run" + ] + } + } + ] +} diff --git a/Lektion 2/If_Clauses/If_Clauses.pde b/Lektion 2/If_Clauses/If_Clauses.pde new file mode 100644 index 0000000..d9900a4 --- /dev/null +++ b/Lektion 2/If_Clauses/If_Clauses.pde @@ -0,0 +1,431 @@ +// Aufgaben + +/* +1. Welcher Code ist korrekt? (Mehrere Antworten korrekt) + if(a != c){ } ✔ + if(true){ } ✔ + if(a <= b){ } ✔ + if(a % b = 0){ } + if(){ } +2. Gegeben ist folgender Code. Welche(s) Zeichen muss an die Stelle ???, damit das Programm die richtige Ausgabe liefert? + + int alter = 16; + if (alter ??? 18) { + println("Volljährig"); + } else { + println("Minderjährig"); + } + +Die Zeichen ">=" müssen an die Stelle + +3. Welchen Datentyp muss die BEDINGUNG haben? Warum? + +Die Bedingung muss vom Datentyp "Boolean" sein. + +4. Warum ist es wichtig die Zeilen innerhalb einen Code-Blocks einzurücken? + +Übersichtlichkeit... + +5. Wie viele else-Teile kann ein if-Teil haben? +Einen. + +*/ + + + + + + +// Einfache if Anweisungen + +// Gegeben sei eine int-Variable foo. Wenn diese größer als 50 ist, soll "OK" ausgegeben werden. + +/* + +int foo = 75; + +if(foo > 50) +{ + println("okay\n"); +} +*/ + +// Gegeben seien zwei int-Variablen a und b. Wenn a um mindestens 10 größer ist als b, soll "a gewinnt" ausgegeben werden. +int a = 50; +int b = 40; + +/* +// Die Differenz wird mit a-b berechnet. Dann wird geguckt ob diese größer als 10 ist +if((a-b) > 10) +{ + println("a gewinnt\n"); +} + +*/ +// Gegeben seien vier float-Variablen a, b, c, d. Wenn die Summe von a und b größer ist als die Summe von c und d, dann soll "a/b gewinnen" ausgegeben werden +/* +float a = 25; +float b = 30; +float c = 5; +float d = 10; + +if((a+b) > (b+c)) +{ + println("a/b gewinnen\n"); +} + +*/ + +// Gegeben seien drei int-Variablen x, y, z. Wenn die Summe von x und y genau doppelt so groß ist wie z ist, soll "passt" ausgegeben werden. + +/* +int x = 10; +int y = 6; +int z = 8; + +// Um zu gucken die Summe von x+y doppelt so groß ist, multipliziert man z mit zwei und guckt das Ergebnis gleich groß mit x+y ist. +if((x+y) == (z * 2)) +{ + println("passt\n"); +} +*/ + +// If else + +// Gegeben seien zwei int-Variablen z1 und z2. Wenn die zwei Zahlen gleich sind, soll "gleich" ausgegeben werden, sonst "ungleich". + +/* + +int z1 = 5; +int z2 = 5; + +// Wenn z1 gleich z2 ist +if(z1 == z2) +{ + println("gleich"); +} +//Wenn irgendein anderer Fal eintritt +else { + println("ungleich"); +} +*/ + +// Löse die obige Aufgabe, indem du im ersten If-Teil "ungleich" ausgibst und im Else-Teil "gleich". Passe dazu die Bedingung an. +/* +int z1 = 5; +int z2 = 5; + +if(z1 != z2) +{ + println("ungleich"); +} +else { + println("gleich"); +} + +*/ +// Gegeben sei die int-Variable zahl. Wenn die Zahl gerade ist, soll "gerade" ausgegeben werden, sonst "ungerade". +/* +int zahl = 4; + +// Der Modulo ist Quasi Restrechnung. Besteht kein Rest, wenn die Zahl durch 2 geteilt wird, ist die Zahl gerade. +// Falls es einen Rest gibt, ist die Zahl ungerade +if(zahl%2==0) +{ + println("gerade"); +} +else { + println("ungerade"); +} + +*/ +// 3. Verschachteltes If + + +// Gegeben seien drei int-Variablen a, b und x. Wenn x zwischen den Zahlen a und b liegt, +// sollst du "drin" auf der Konsole ausgeben. Geh davon aus, dass a kleiner als b ist! + +/* +int a = 5; +int b = 10; +int x = 8; + +Wenn x größer als und kleiner als b ist, befindet sich x in der Range +if(x > a ) +{ + if(x < b) + { + println("drin"); + } +} +*/ + +//4. Klausurnoten +/* + +int punkte = 10; + +// Erziehlt der Teilnehmer 10 Punkte oder mehr hat dieser mit Auszeichnung bestanden +if(punkte >= 10) +{ + println("Bestanden mit Auszeichnung"); +} +// Erziehlt der Teilnehmer 5 Punkte oder mehr als hat dieser bestanden +else if(punkte >= 5){ + println("Bestanden! \nAuf Wiedersehen. \n "); +} +// In jedem anderen Fall hat der Teilnehmer nicht bestanden +else { + println("Leider durchgefallen :( \nAuf Wiedersehen.\n"); +} + +*/ + +/* 5. Stehenbleiben +Ändere das folgende Programm derart, dass der Ball stehenbleibt, sobald er die Mitte erreicht. */ +/* + + +int x = 0; + +void draw() { + background(255); + ellipse(x, 50, 20, 20); + + // width/2 ist der Mittelpunkt. Solange x also kleiner als der Mittelpunkt ist wird x incremented + if (x < width/2) { + x++; + } +} +*/ + +// 6. Wachsen +// Der Ball fliegt wiederholt von links nach rechts. Bei jedem Durchlauf soll der Ball etwas größer sein. + + + +/* +int x; +int counter; +int wh = 5; + +void draw() +{ + background(255); + ellipse(x, height/2, wh, wh); + + // Wenn größer gleich width ist, wird x zurückgesetzt und wh (Größe) mit 1.5 multipliziert. + // Die verwendung von >= wird verwendet um Bugs verzubeugen, falls der einzige Tick, in welchem die Condition true ist, nicht registriert + if(x>=width) + { + x=0; + wh*= 1.5; + } + x++; +} + +*/ + +// 7. Wachsen 2 +// Ein mittig platzierter Kreis wird stetig größer, bis er den Rand des Fensters erreicht, dann beginnt er wieder als ein kleiner Kreis zu wachsen. + +/* +int wh = 1 ; + +void draw() +{ + background(255); + ellipse(width/2, height/2, wh, wh); + + // Wenn die Größe der Elipse größer als die Breite ist, dann wird die Größe zurückgesetzt + // Für >= gilt die gleiche Begründung wie in der vorherigen Aufgabe + if(wh >= width) + { + wh = 1; + } + + // Increment wh +1 für jeden Tick. + wh++; +} +*/ + +// 8. Mutierender Mousezeiger +// Folgendes Programm erzeugt einen Mauszeiger in Form eines Kreises. +// Verändere das Programm derart, dass in der rechten Bildschirmhäfte der Mauszeiger zur gefüllten, +// schwarzen Box wird (mittig zum Mauszeiger) und in der linken wieder zum leeren Kreis. + +/* +int size = 20; + +void draw() { + background(255); + + // Ist die Mausposition größer als die Hälfte der Breite (Mittelpunkt), dann wird ein rectangle gezeichnet + if(mouseX > width/2) + { + fill(0, 0, 0, 255); + rect(mouseX-size/2, mouseY-size/2, size, size); + } + // Sonst wird ein Kreis gezeichnet + else { + fill(0, 0, 0, 0); + ellipse(mouseX, mouseY, size, size); + + } +} +*/ + +/* +9. Timer +Du möchtest ein Programm schreiben, dass jede Sekunde einen Punkt auf die Konsole schreibt +(verwende print statt println), d.h. nach 10 Sekunden siehst du: +*/ + +/* + +int count = 0; +int frameRate = 60; + +// Framerate in der main() (setup) Methode setzen +void setup() +{ + frameRate(60); +} + + +void draw() +{ + // Pro Tick wird der counter incremented + count++; + + // Wenn der Rest (Modulo) von count/frameRate = 0 ist, dann wird ein Punkt mithilfe der Print() funktion ausgegeben. + // Da kein Breakcharacter (\n) verwendet wird (Oder die println() Funktion) wird der dot in der gleichen Line ausgegeben + if(count%frameRate==0) + { + print("."); + } +} +*/ + +/* +10. Klausurnoten (if-else-if) +Löse eine ähnliche Aufgabe wie die oben mit if-else-if. Du hast eine Punktzahl gegeben: + +0 - 10: Durchgefallen +11 - 20: Naja +21 - 30: Mittelgut +31 - 40: Gut +41 - 50: Super +*/ + +/* +int punkte = 10; + + +// Alle Punkte über 40 sind Super + +if(punkte > 40) +{ + println("Super"); +} +else if (punkte > 30) { + println("Gut"); +} + +else if (punkte > 20) { + println("Mittelgut"); +} +else if (punkte > 10) { + println("Naja"); +} +else { + println("Durchgefallen"); +} + +*/ + +/* +11. Lauftext +Schreibe eine Textanzeige, die bei Mausklick zum nächsten Wort wechselt. Das erste Wort ist "Hallo": + +Ergänze den Code, dass bei jedem Mausklick ein neues Wort angezeigt wird. +Nach "Hallo" kommt "mein", "Name", "ist", "Hase", "Tschüs". Danach geht es wieder von vorn los. +Nutze die Variable zustand und eine if-else-if Konstruktion. +*/ +/* +int zustand = 0; + +void setup() { + textAlign(CENTER); + textSize(20); +} + +void mousePressed() +{ + zustand++; +} + +void draw() { + background(0); + + if (zustand == 0) { + text("Hallo", width/2, height/2); + } + else if (zustand == 1) { + text("mein", width/2, height/2); + } + + else if (zustand == 2) { + text("Name", width/2, height/2); + } + + else if (zustand == 3) { + text("ist", width/2, height/2); + } + + else if (zustand == 4) { + text("Hase", width/2, height/2); + } + + else { + text("Tschüs", width/2, height/2); + } +} + +*/ + +/* +//Performantere Version +// Dies liegt daran, dass die Abzweigung von else-if trees vom Compiler vorrausgerechnet werden. Dies geschieht nach einer Warscheinlichkeit die +// Die der Compiler einem Branch zuweist. Wenn der Compiler den richtigen Branch guessed, dann gibt es keine Performanceeinbußen gering. +// Verschätzt sich der Compiler jedoch frisst das viel Performance. Deswegen kann man dem es dem Compiler einfacher machen und einen Array verwenden. +int zustand; + +// Init string (const char*) array mit Strings für jedes Element +String [] str = {"Hallo", "mein", "Name", "ist", "Hase", "Tschüß"}; + +// Call main() method +void setup() { + size(500,500); + textAlign(CENTER); + textSize(width/5); +} + +// Register mouse click +void mousePressed() +{ + // Increment Zustand + zustand++; +} + +void draw() { + // Background schwarz setzen + background(0); + + // Zustand zur array.length()-1 clampen. + // Würde man versuchenn ein Element auszulesen, welches bei einer Pos > (Array Length-1) liegt, würde man auf + // Eine Ram-Adress zugreifen, welche für eine andere Variable zugewiesen ist, was eine outofBoundsException hervorrufen würde. + zustand = constrain(zustand, 0, 5); + text(str[zustand], width/2, height/2); +} +*/ \ No newline at end of file diff --git a/Lektion 2/If_Clauses/out/If_Clauses.class b/Lektion 2/If_Clauses/out/If_Clauses.class new file mode 100644 index 0000000..402a206 Binary files /dev/null and b/Lektion 2/If_Clauses/out/If_Clauses.class differ diff --git a/Lektion 2/If_Clauses/out/source/If_Clauses.java b/Lektion 2/If_Clauses/out/source/If_Clauses.java new file mode 100644 index 0000000..6b859e5 --- /dev/null +++ b/Lektion 2/If_Clauses/out/source/If_Clauses.java @@ -0,0 +1,469 @@ +/* autogenerated by Processing revision 1293 on 2023-09-26 */ +import processing.core.*; +import processing.data.*; +import processing.event.*; +import processing.opengl.*; + +import java.util.HashMap; +import java.util.ArrayList; +import java.io.File; +import java.io.BufferedReader; +import java.io.PrintWriter; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.IOException; + +public class If_Clauses extends PApplet { + +// Aufgaben + +/* +1. Welcher Code ist korrekt? (Mehrere Antworten korrekt) + if(a != c){ } ✔ + if(true){ } ✔ + if(a <= b){ } ✔ + if(a % b = 0){ } + if(){ } +2. Gegeben ist folgender Code. Welche(s) Zeichen muss an die Stelle ???, damit das Programm die richtige Ausgabe liefert? + + int alter = 16; + if (alter ??? 18) { + println("Volljährig"); + } else { + println("Minderjährig"); + } + +Die Zeichen ">=" müssen an die Stelle + +3. Welchen Datentyp muss die BEDINGUNG haben? Warum? + +Die Bedingung muss vom Datentyp "Boolean" sein. + +4. Warum ist es wichtig die Zeilen innerhalb einen Code-Blocks einzurücken? + +Übersichtlichkeit... + +5. Wie viele else-Teile kann ein if-Teil haben? +Einen. + +*/ + + + + + + +// Einfache if Anweisungen + +// Gegeben sei eine int-Variable foo. Wenn diese größer als 50 ist, soll "OK" ausgegeben werden. + +/* + +int foo = 75; + +if(foo > 50) +{ + println("okay\n"); +} +*/ + +// Gegeben seien zwei int-Variablen a und b. Wenn a um mindestens 10 größer ist als b, soll "a gewinnt" ausgegeben werden. +int a = 50; +int b = 40; + +/* +// Die Differenz wird mit a-b berechnet. Dann wird geguckt ob diese größer als 10 ist +if((a-b) > 10) +{ + println("a gewinnt\n"); +} + +*/ +// Gegeben seien vier float-Variablen a, b, c, d. Wenn die Summe von a und b größer ist als die Summe von c und d, dann soll "a/b gewinnen" ausgegeben werden +/* +float a = 25; +float b = 30; +float c = 5; +float d = 10; + +if((a+b) > (b+c)) +{ + println("a/b gewinnen\n"); +} + +*/ + +// Gegeben seien drei int-Variablen x, y, z. Wenn die Summe von x und y genau doppelt so groß ist wie z ist, soll "passt" ausgegeben werden. + +/* +int x = 10; +int y = 6; +int z = 8; + +// Um zu gucken die Summe von x+y doppelt so groß ist, multipliziert man z mit zwei und guckt das Ergebnis gleich groß mit x+y ist. +if((x+y) == (z * 2)) +{ + println("passt\n"); +} +*/ + +// If else + +// Gegeben seien zwei int-Variablen z1 und z2. Wenn die zwei Zahlen gleich sind, soll "gleich" ausgegeben werden, sonst "ungleich". + +/* + +int z1 = 5; +int z2 = 5; + +// Wenn z1 gleich z2 ist +if(z1 == z2) +{ + println("gleich"); +} +//Wenn irgendein anderer Fal eintritt +else { + println("ungleich"); +} +*/ + +// Löse die obige Aufgabe, indem du im ersten If-Teil "ungleich" ausgibst und im Else-Teil "gleich". Passe dazu die Bedingung an. +/* +int z1 = 5; +int z2 = 5; + +if(z1 != z2) +{ + println("ungleich"); +} +else { + println("gleich"); +} + +*/ +// Gegeben sei die int-Variable zahl. Wenn die Zahl gerade ist, soll "gerade" ausgegeben werden, sonst "ungerade". +/* +int zahl = 4; + +// Der Modulo ist Quasi Restrechnung. Besteht kein Rest, wenn die Zahl durch 2 geteilt wird, ist die Zahl gerade. +// Falls es einen Rest gibt, ist die Zahl ungerade +if(zahl%2==0) +{ + println("gerade"); +} +else { + println("ungerade"); +} + +*/ +// 3. Verschachteltes If + + +// Gegeben seien drei int-Variablen a, b und x. Wenn x zwischen den Zahlen a und b liegt, +// sollst du "drin" auf der Konsole ausgeben. Geh davon aus, dass a kleiner als b ist! + +/* +int a = 5; +int b = 10; +int x = 8; + +Wenn x größer als und kleiner als b ist, befindet sich x in der Range +if(x > a ) +{ + if(x < b) + { + println("drin"); + } +} +*/ + +//4. Klausurnoten +/* + +int punkte = 10; + +// Erziehlt der Teilnehmer 10 Punkte oder mehr hat dieser mit Auszeichnung bestanden +if(punkte >= 10) +{ + println("Bestanden mit Auszeichnung"); +} +// Erziehlt der Teilnehmer 5 Punkte oder mehr als hat dieser bestanden +else if(punkte >= 5){ + println("Bestanden! \nAuf Wiedersehen. \n "); +} +// In jedem anderen Fall hat der Teilnehmer nicht bestanden +else { + println("Leider durchgefallen :( \nAuf Wiedersehen.\n"); +} + +*/ + +/* 5. Stehenbleiben +Ändere das folgende Programm derart, dass der Ball stehenbleibt, sobald er die Mitte erreicht. */ +/* + + +int x = 0; + +void draw() { + background(255); + ellipse(x, 50, 20, 20); + + // width/2 ist der Mittelpunkt. Solange x also kleiner als der Mittelpunkt ist wird x incremented + if (x < width/2) { + x++; + } +} +*/ + +// 6. Wachsen +// Der Ball fliegt wiederholt von links nach rechts. Bei jedem Durchlauf soll der Ball etwas größer sein. + + + +/* +int x; +int counter; +int wh = 5; + +void draw() +{ + background(255); + ellipse(x, height/2, wh, wh); + + // Wenn größer gleich width ist, wird x zurückgesetzt und wh (Größe) mit 1.5 multipliziert. + // Die verwendung von >= wird verwendet um Bugs verzubeugen, falls der einzige Tick, in welchem die Condition true ist, nicht registriert + if(x>=width) + { + x=0; + wh*= 1.5; + } + x++; +} + +*/ + +// 7. Wachsen 2 +// Ein mittig platzierter Kreis wird stetig größer, bis er den Rand des Fensters erreicht, dann beginnt er wieder als ein kleiner Kreis zu wachsen. + +/* +int wh = 1 ; + +void draw() +{ + background(255); + ellipse(width/2, height/2, wh, wh); + + // Wenn die Größe der Elipse größer als die Breite ist, dann wird die Größe zurückgesetzt + // Für >= gilt die gleiche Begründung wie in der vorherigen Aufgabe + if(wh >= width) + { + wh = 1; + } + + // Increment wh +1 für jeden Tick. + wh++; +} +*/ + +// 8. Mutierender Mousezeiger +// Folgendes Programm erzeugt einen Mauszeiger in Form eines Kreises. +// Verändere das Programm derart, dass in der rechten Bildschirmhäfte der Mauszeiger zur gefüllten, +// schwarzen Box wird (mittig zum Mauszeiger) und in der linken wieder zum leeren Kreis. + +/* +int size = 20; + +void draw() { + background(255); + + // Ist die Mausposition größer als die Hälfte der Breite (Mittelpunkt), dann wird ein rectangle gezeichnet + if(mouseX > width/2) + { + fill(0, 0, 0, 255); + rect(mouseX-size/2, mouseY-size/2, size, size); + } + // Sonst wird ein Kreis gezeichnet + else { + fill(0, 0, 0, 0); + ellipse(mouseX, mouseY, size, size); + + } +} +*/ + +/* +9. Timer +Du möchtest ein Programm schreiben, dass jede Sekunde einen Punkt auf die Konsole schreibt +(verwende print statt println), d.h. nach 10 Sekunden siehst du: +*/ + +/* + +int count = 0; +int frameRate = 60; + +// Framerate in der main() (setup) Methode setzen +void setup() +{ + frameRate(60); +} + + +void draw() +{ + // Pro Tick wird der counter incremented + count++; + + // Wenn der Rest (Modulo) von count/frameRate = 0 ist, dann wird ein Punkt mithilfe der Print() funktion ausgegeben. + // Da kein Breakcharacter (\n) verwendet wird (Oder die println() Funktion) wird der dot in der gleichen Line ausgegeben + if(count%frameRate==0) + { + print("."); + } +} +*/ + +/* +10. Klausurnoten (if-else-if) +Löse eine ähnliche Aufgabe wie die oben mit if-else-if. Du hast eine Punktzahl gegeben: + +0 - 10: Durchgefallen +11 - 20: Naja +21 - 30: Mittelgut +31 - 40: Gut +41 - 50: Super +*/ + +/* +int punkte = 10; + + +// Alle Punkte über 40 sind Super + +if(punkte > 40) +{ + println("Super"); +} +else if (punkte > 30) { + println("Gut"); +} + +else if (punkte > 20) { + println("Mittelgut"); +} +else if (punkte > 10) { + println("Naja"); +} +else { + println("Durchgefallen"); +} + +*/ + +/* +11. Lauftext +Schreibe eine Textanzeige, die bei Mausklick zum nächsten Wort wechselt. Das erste Wort ist "Hallo": + +Ergänze den Code, dass bei jedem Mausklick ein neues Wort angezeigt wird. +Nach "Hallo" kommt "mein", "Name", "ist", "Hase", "Tschüs". Danach geht es wieder von vorn los. +Nutze die Variable zustand und eine if-else-if Konstruktion. +*/ +/* +int zustand = 0; + +void setup() { + textAlign(CENTER); + textSize(20); +} + +void mousePressed() +{ + zustand++; +} + +void draw() { + background(0); + + if (zustand == 0) { + text("Hallo", width/2, height/2); + } + else if (zustand == 1) { + text("mein", width/2, height/2); + } + + else if (zustand == 2) { + text("Name", width/2, height/2); + } + + else if (zustand == 3) { + text("ist", width/2, height/2); + } + + else if (zustand == 4) { + text("Hase", width/2, height/2); + } + + else { + text("Tschüs", width/2, height/2); + } +} + +*/ + +/* +//Performantere Version +// Dies liegt daran, dass die Abzweigung von else-if trees vom Compiler vorrausgerechnet werden. Dies geschieht nach einer Warscheinlichkeit die +// Die der Compiler einem Branch zuweist. Wenn der Compiler den richtigen Branch guessed, dann gibt es keine Performanceeinbußen gering. +// Verschätzt sich der Compiler jedoch frisst das viel Performance. Deswegen kann man dem es dem Compiler einfacher machen und einen Array verwenden. +*/ +int zustand; + +// Init string (const char*) array mit Strings für jedes Element +String [] str = {"Hallo", "mein", "Name", "ist", "Hase", "Tschüß"}; + +// Call main() method +public void setup() { + /* size commented out by preprocessor */; + textAlign(CENTER); + textSize(width/5); +} + +// Register mouse click +public void mousePressed() +{ + // Increment Zustand + zustand++; +} + +public void draw() { + // Background schwarz setzen + background(0); + + // Wenn der Zustand kleiner als 6 ist Verwende Zustand den Wert eines Elementes zu bekommen. + // Würde man versuchenn ein Element auszulesen, welches bei einer Pos > (Array Length-1) liegt, würde man auf + // Eine Ram-Adress zugreifen, welche für eine andere Variable zugewiesen ist, was eine outofBoundsException hervorrufen würde. + //if(zustand < 6) + //text(str[zustand], width/2, height/2); + + // Wenn das Element out of Bounds wäre, wird das letzte Element verwendet. + //else + zustand = constrain(zustand, 0, 5); + text(str[zustand], width/2, height/2); + + //text(str[5], width/2, height/2); + +} + + + public void settings() { size(500, 500); } + + static public void main(String[] passedArgs) { + String[] appletArgs = new String[] { "If_Clauses" }; + if (passedArgs != null) { + PApplet.main(concat(appletArgs, passedArgs)); + } else { + PApplet.main(appletArgs); + } + } +} diff --git a/Lektion 2/While_Loops/.vscode/tasks.json b/Lektion_3/While_Loops/.vscode/tasks.json similarity index 100% rename from Lektion 2/While_Loops/.vscode/tasks.json rename to Lektion_3/While_Loops/.vscode/tasks.json diff --git a/Lektion 2/While_Loops/While_Loops.pde b/Lektion_3/While_Loops/While_Loops.pde similarity index 100% rename from Lektion 2/While_Loops/While_Loops.pde rename to Lektion_3/While_Loops/While_Loops.pde diff --git a/Lektion 2/While_Loops/out/While_Loops.class b/Lektion_3/While_Loops/out/While_Loops.class similarity index 100% rename from Lektion 2/While_Loops/out/While_Loops.class rename to Lektion_3/While_Loops/out/While_Loops.class diff --git a/Lektion 2/While_Loops/out/source/While_Loops.java b/Lektion_3/While_Loops/out/source/While_Loops.java similarity index 100% rename from Lektion 2/While_Loops/out/source/While_Loops.java rename to Lektion_3/While_Loops/out/source/While_Loops.java