In den letzten Beispielen haben wir die Variablen immer durch Zahlen definiert.
Für interessante parametrische Designs ist es aber häufig interessant sich auch mit zufälligen
Werten zu beschäftigen. Also sich zum Beispiel verschiedene Varianten ein und desselben Layouts
generieren zu lassen. Aber Teile der Parameter durch Zufallszahlen zu generieren. Hierfür gibt
es in p5js die "random" Funktion. Die "random" Funktion, wenn wir keinen Parameter eintragen,
liefert uns einen Wert zwischen 0 und 1. Oder wir können ein "min" und "maximum" für den Zufall
generieren, also in unserem Fall wollen wir eine Farbe, einen Grauwert, haben. Wollen also einen
Werte der zwischen 0 und 255 liegt. Wenn ich das jetzt abspeicher, sehen wir in dem Fall gab es
jetzt gerade ein Grau ich kann es ja nochmal abspeichern. Bekommen jetzt ein helleres Grau.
Also jedesmal wird ein zufälliger Wert generiert. Das selbe könnten wir natürlich auch in unserer
"draw" Schleife machen. Was wahrscheinlich zu einem kleinen Flacker-Effekt gleich führen wird.
Und jetzt wird sozusagen bei jeder "draw" Schleife ein neuer Wert generiert.
Ein ganz wichtiger Aspekt dazu: Diese "random" Funktion ist eine spezifische p5js Funktion. Wenn
ihr also in anderen JavaScript Systemen arbeitet und in anderen Programmiersprachen arbeitet,
dann habt ihr keinen Zugriff darauf. Ihr habt zum Beispiel auch im "global
scope" noch keinen Zugriff darauf, weil p5js dort noch nicht sozusagen komplett geladen
ist. Also wenn ich zum Beispiel jetzt diese "random" Funktion hier rauskopiere
und hier oben einsetze.
Dann bleibt unsere Fläche leer und wenn wir uns dann die Konsole anschauen, sehen wir,
dass "random" nicht defined ist. Dies liegt daran, dass sozusagen "random" eine spezifische
p5js Funktion ist und diese ist erst verfügbar sobald sozusagen "setup" und "preload" et cetera
ausgeführt werden. Deswegen gibt es aber auch eine native JavaScript "random" Funktion. Diese könnt
ihr einfach mit "Math.random()" aufrufen. Diese liefert euch immer einen Wert zwischen 0 und 1.
Hier kann man leider keine Parameter mitgeben. Heißt was wir in dem Fall einfach machen müssen,
ist das mit 255 zu multiplizieren. Damit wir sozusagen einen Wert zwischen 0 und 255 bekommen
sollen. Wenn ich das jetzt speicher, sehen wir auch, dass das sofort funktioniert. Also
ganz wichtig, wenn ihr direkt in eurem global scope Variablen mit "random" definieren wollt,
benutzt "Math.random()". Sonst definiert einfach nur die Variable und definiert
das ganze dann in der "setup" Funktion und in der "setup" Funktion könnt ihr
dann auf die p5js Version zugreifen in der ihr dann auch die Parameter eintragen könnt