Projekt:2020/Processing: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
4.309 Bytes hinzugefügt ,  09:04, 20. Apr. 2021
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 99: Zeile 99:
* Kreise könnt ihr mit [https://processing.org/reference/circle_.html <code>circle</code>] zeichnen.
* Kreise könnt ihr mit [https://processing.org/reference/circle_.html <code>circle</code>] zeichnen.
* Mit [https://processing.org/reference/PVector.html Vektoren] kann die Bewegung von Objekten leichter berechnet werden.  
* Mit [https://processing.org/reference/PVector.html Vektoren] kann die Bewegung von Objekten leichter berechnet werden.  
** Erstellt einen Vektor z.B. mit <code>PVektor v1 = new PVektor(4.0, 3.0);</code>.
** Erstellt einen Vektor z.B. mit <code>PVector v1 = new PVector(4.0, 3.0);</code>.
** Addiert einen anderen Vektor auf den ersten mit <code>v1.add(v2);</code>.
** Addiert einen anderen Vektor auf den ersten mit <code>v1.add(v2);</code>.
** Greift auf die Koordinaten des Vektors mit <code>v1.x</code> / <code>v1.y</code> zu.
** Greift auf die Koordinaten des Vektors mit <code>v1.x</code> / <code>v1.y</code> zu.
Zeile 116: Zeile 116:
* Kreise könnt ihr mit [https://processing.org/reference/circle_.html <code>circle</code>] zeichnen.
* Kreise könnt ihr mit [https://processing.org/reference/circle_.html <code>circle</code>] zeichnen.
* Mit [https://processing.org/reference/PVector.html Vektoren] kann die Bewegung von Objekten leichter berechnet werden.  
* Mit [https://processing.org/reference/PVector.html Vektoren] kann die Bewegung von Objekten leichter berechnet werden.  
** Erstellt einen Vektor z.B. mit <code>PVektor v1 = new PVektor(4.0, 3.0);</code>.
** Erstellt einen Vektor z.B. mit <code>PVector v1 = new PVector(4.0, 3.0);</code>.
** Addiert einen anderen Vektor auf den ersten mit <code>v1.add(v2);</code>.
** Addiert einen anderen Vektor auf den ersten mit <code>v1.add(v2);</code>.
** Greift auf die Koordinaten des Vektors mit <code>v1.x</code> / <code>v1.y</code> zu.
** Greift auf die Koordinaten des Vektors mit <code>v1.x</code> / <code>v1.y</code> zu.
Zeile 134: Zeile 134:
{{Lösung:Start|Tipps}}
{{Lösung:Start|Tipps}}
* Mit [https://processing.org/reference/PVector.html Vektoren] kann die Bewegung von Objekten leichter berechnet werden.  
* Mit [https://processing.org/reference/PVector.html Vektoren] kann die Bewegung von Objekten leichter berechnet werden.  
** Erstellt einen Vektor z.B. mit <code>PVektor v1 = new PVektor(4.0, 3.0);</code>.
** Erstellt einen Vektor z.B. mit <code>PVector v1 = new PVector(4.0, 3.0);</code>.
** Addiert einen anderen Vektor auf den ersten mit <code>v1.add(v2);</code>.
** Addiert einen anderen Vektor auf den ersten mit <code>v1.add(v2);</code>.
** Greift auf die Koordinaten des Vektors mit <code>v1.x</code> / <code>v1.y</code> zu.
** Greift auf die Koordinaten des Vektors mit <code>v1.x</code> / <code>v1.y</code> zu.
Zeile 156: Zeile 156:
{{Lösung:Start|Tipps}}
{{Lösung:Start|Tipps}}
* Mit [https://processing.org/reference/PVector.html Vektoren] kann die Bewegung von Objekten leichter berechnet werden.  
* Mit [https://processing.org/reference/PVector.html Vektoren] kann die Bewegung von Objekten leichter berechnet werden.  
** Erstellt einen Vektor z.B. mit <code>PVektor v1 = new PVektor(4.0, 3.0);</code>.
** Erstellt einen Vektor z.B. mit <code>PVector v1 = new PVector(4.0, 3.0);</code>.
** Addiert einen anderen Vektor auf den ersten mit <code>v1.add(v2);</code>.
** Addiert einen anderen Vektor auf den ersten mit <code>v1.add(v2);</code>.
** Greift auf die Koordinaten des Vektors mit <code>v1.x</code> / <code>v1.y</code> zu.
** Greift auf die Koordinaten des Vektors mit <code>v1.x</code> / <code>v1.y</code> zu.
Zeile 176: Zeile 176:
* [https://processing.org/reference/mouseClicked_.html void mouseClicked()]
* [https://processing.org/reference/mouseClicked_.html void mouseClicked()]
* [https://processing.org/reference/random_.html float random()]
* [https://processing.org/reference/random_.html float random()]
und die Variablen
* [https://processing.org/reference/mouseX.html mouseX]
* [https://processing.org/reference/mouseY.html mouseY]
{{Aufgabe:End}}
{{Collapse:End}}
{{Lösung:Start|Tipps}}
* Mit <code>random(0, 100)</code> generiert ihr eine Zufallszahl zwischen 0 und 100.
* Die Methode <code>void mouseClicked()</code> wird ähnlich wie <code>void draw()</code> einfach in das Hauptprogramm geschrieben. Sie wird automatisch aufgerufen, wenn mit der Maus in das Fenster geklickt wird.
Ihr könnt diese Vorlage für das Programm nutzen:
<syntaxhighlight lang="Java">
// Globale Variable
Lukas lukas; // Klasse Lukas muss erstellt werden
void setup() {
  // Fenster aufbauen und konfigurieren
}
void draw() {
  // Zeichne den "Lukas"
}
void mousePressed() {
  // Reagiere auf Mausklick
}
</syntaxhighlight>
{{Lösung:End}}
=== Niveau 2 ===
{{Collapse:Start}}
{{Aufgabe:Start}}
Programmiert ein "Hau den Lukas" Spiel. Dabei sollen Kreise mit zufälliger Größe, in zufälligen Zeitabständen an zufälligen Positionen im Fenster erscheinen. Wenn der Kreis mit der Maus angeklickt wird, verschwindet er und ein neuer erscheint.
Nutze dafür die Processing-Methoden
* [https://processing.org/reference/mouseClicked_.html void mouseClicked()]
* [https://processing.org/reference/random_.html float random()]
und die Variablen
* [https://processing.org/reference/mouseX.html mouseX]
* [https://processing.org/reference/mouseY.html mouseY]
{{Aufgabe:End}}
{{Collapse:End}}
{{Lösung:Start|Tipps}}
* Mit <code>random(0, 100)</code> generiert ihr eine Zufallszahl zwischen 0 und 100.
* Die Methode <code>void mouseClicked()</code> wird ähnlich wie <code>void draw()</code> einfach in das Hauptprogramm geschrieben. Sie wird automatisch aufgerufen, wenn mit der Maus in das Fenster geklickt wird.
Ihr könnt diese Vorlage für das Programm nutzen:
<syntaxhighlight lang="Java">
// Globale Variable
Lukas lukas; // Klasse Lukas muss erstellt werden
void setup() {
  // Fenster aufbauen und konfigurieren
}
void draw() {
  // Zeichne den "Lukas"
}
void mousePressed() {
  // Reagiere auf Mausklick
}
</syntaxhighlight>
{{Lösung:End}}
=== Niveau 3 ===
{{Collapse:Start}}
{{Aufgabe:Start}}
Programmiert ein "Hau den Lukas" Spiel. Dabei sollen Kreise mit zufälliger Größe, in zufälligen Zeitabständen an zufälligen Positionen im Fenster erscheinen. Wenn der Kreis mit der Maus angeklickt wird, dann wird er grün und verschwindet nicht. Schafft der Spieler es nicht, den Kreis schnell anzuklicken, dann verschwindet der Kreis von alleine wieder.
Nutze dafür die Processing-Methoden
* [https://processing.org/reference/mouseClicked_.html void mouseClicked()]
* [https://processing.org/reference/random_.html float random()]
und die Variablen
* [https://processing.org/reference/mouseX.html mouseX]
* [https://processing.org/reference/mouseY.html mouseY]
{{Aufgabe:End}}
{{Collapse:End}}
{{Lösung:Start|Tipps}}
* Mit <code>random(0, 100)</code> generiert ihr eine Zufallszahl zwischen 0 und 100.
* Die Methode <code>void mouseClicked()</code> wird ähnlich wie <code>void draw()</code> einfach in das Hauptprogramm geschrieben. Sie wird automatisch aufgerufen, wenn mit der Maus in das Fenster geklickt wird.
Ihr könnt diese Vorlage für das Programm nutzen:
<syntaxhighlight lang="Java">
// Globale Variable
Lukas lukas; // Klasse Lukas muss erstellt werden
void setup() {
  // Fenster aufbauen und konfigurieren
}
void draw() {
  // Zeichne den "Lukas"
}
void mousePressed() {
  // Reagiere auf Mausklick
}
</syntaxhighlight>
{{Lösung:End}}
=== Niveau 4 ===
{{Collapse:Start}}
{{Aufgabe:Start}}
Programmiert ein "Hau den Lukas" Spiel. Dabei sollen Kreise mit zufälliger Größe, in zufälligen Zeitabständen an zufälligen Positionen im Fenster erscheinen. Schafft der Spieler es nicht, den Kreis schnell anzuklicken, dann verschwindet er von alleine wieder. Schafft der Spieler es, den Kreis in einer vorgegebenen Zeit zu "hauen", dann bekommt er Punkte (ggf. abhängig von der Größe des Kreises).
Die Punkte werden im Fenster angezeigt.
Nutze dafür die Processing-Methoden
* [https://processing.org/reference/mouseClicked_.html void mouseClicked()]
* [https://processing.org/reference/random_.html float random()]
* [https://processing.org/reference/text_.html void text()]


und die Variablen
und die Variablen
8.581

Bearbeitungen

Navigationsmenü