Introduktion
Denne opgave indeholder øvelser til at opnå dyb forståelse og færdigheder i at skrive, kalde, og kombinere funktioner. Hvis du synes det er lidt svære opgaver kan du starte her.
Arrays og Funktioner
Find Minimum og Maksimum
- Du har en funktion, der finder det største tal i et array. Udvid koden, så du også finder det mindste tal og returnerer begge som en String i formatet “Minimum: X, Maksimum: Y”.
int findMax(int[] numbers) {
int max = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
return max;
}
void setup() {
int[] array = {5, 3, 8, 2, 7};
println("Maksimum: " + findMax(array)); // Output: Maksimum: 8
}
Kombinerede Funktioner
Beregning af Gennemsnit og Sum
- Her er en funktion, der beregner summen af et array af tal. Udvid koden med en ny funktion, som bruger sumArray til at beregne gennemsnittet. Brug funktionen til at udskrive både sum og gennemsnit.
int sumArray(int[] numbers) {
int sum = 0;
for (int num : numbers) {
sum += num;
}
return sum;
}
void setup() {
int[] array = {10, 20, 30};
println("Summen er: " + sumArray(array)); // Output: Summen er: 60
}
Tilfældige tal og farver
Farveovergange
- I følgende kode kan vi se at der bliver brugt en funktion der hedder 'gradientColor()' men funktionen 'gradientColor()' er ikke skrevet endnu. Udvid koden med 'gradienColor()' funktionen som skal tage to farver og en 'step' parameter. HINT: Du kan bruge denne funktion til at udregne den glidende overgang https://processing.org/reference/lerp_.html
void setup() {
size(600,200);
}
void draw() {
for (int i = 0; i < width; i++) {
float step = map(i, 0, width, 0, 1);
stroke(gradientColor(color(255, 0, 0), color(0, 0, 255), step));
line(i, 0, i, height);
}
}
Resultatet skal være lignende følgende billede.
Simuleringer
Terningeslag
- Du har en simpel terningeslagsimulator. Udvid koden til at inkludere en funktion 'playDiceGame()', så du kan simulere et spil, hvor en spiller vinder, hvis de opnår en bestemt sum med to terninger.
int rollDice() {
return int(random(1, 7));
}
void setup() {
println(rollDice()); // Output: 1-6
}
- Skriv en funktion simulateGameSeries() der simulerer 100 spil af playDiceGame() og returnerer antallet af vundne spil.