Willys Works
Hier findest du alle kleinen Spielereien und Mini-Projekte an einem Ort.
Muster 1
function pattern1($row, $col) {
if ($row === 0) return 'red';
if ($row === 1) return 'green';
if ($row === 2) return 'blue';
return 'yellow';
}Muster 2
function pattern2($row, $col) {
if ($col === 0) return 'red';
if ($col === 1) return 'green';
if ($col === 2) return 'blue';
return 'yellow';
}Muster 3
function pattern3($row, $col) {
if ($col % 2 === 1) {
return 'blue';
}
return 'empty';
}Muster 4
function pattern4($row, $col) {
if ($row % 2 === 1) {
return 'yellow';
}
return 'empty';
}Muster 5
function pattern5($row, $col) {
if ($row % 2 === 1 || $col % 2 === 1) {
return 'red';
}
return 'empty';
}Muster 6
function pattern6($row, $col) {
if ($row === $col || $row + $col === 3) {
return 'green';
}
return 'empty';
}Muster 7
function pattern7($row, $col) {
if ($row === 0 || $row === 3 || $col === 0 || $col === 3) {
return 'blue';
}
return 'empty';
}Muster 8
function pattern8($row, $col) {
if ($row > 0 && $row < 3 && $col > 0 && $col < 3) {
return 'yellow';
}
return 'empty';
}Die Musterformeln als Thema wirkte zunaechst wie eine vollkommene Zeitverschwendung auf mich, da es schon wieder um denselben Kerngedanken gehen sollte, naemlich das regelbasierte Erzeugen bestimmter Muster. Die Aufgabe bestand diesmal allerdings darin, verschiedene Flaechen- und Farbmuster nicht manuell zu erzeugen, sondern ueber einfache Bedingungen, Indexpruefungen und kleine Modulo-Rechnungen generieren zu lassen.
Je nach Formel werden dabei bestimmte Zeilen, Spalten oder Zellpositionen geprueft und anschliessend eingefaerbt. Teilweise entstehen die Muster durch gerade und ungerade Zahlen, teilweise durch Ueberschneidungen, Diagonalen oder festgelegte Bereiche innerhalb der Tabelle. Technisch gesehen sind es bewusst einfache if-Abfragen, Vergleiche und Modulo-Rechnungen, optisch ergeben sich daraus aber bereits erstaunlich unterschiedliche Ergebnisse.
Auch wenn diese Uebung erneut eher klein und unspektakulaer wirkte, war sie rueckblickend vermutlich einer der wichtigsten Grundsteine fuer die Idee, die mir kurz darauf kommen sollte. Denn genau an diesem Punkt entstand bei mir zum ersten Mal der Gedanke, dass zwischen einer eingefaerbten Tabelle und einer frei generierbaren Musterflaeche eigentlich kaum noch ein Unterschied besteht.