Laskurin arvon skaalaaminen sopivaksi
Koska ikkunan leveys on 400, niin laskuri vaihtelee välillä [0, 350]. Haluamme skaalata nämä arvot välille [-10, 10]. Kuinka se onnistuu? Nyt voimme käyttää map()-funktiota lukuarvon a skaalaamiseen välille [-10, 10].

Komento muuttaa muuttujan a arvon, joka vaihtelee välillä [0,350] asteikolle [-10,10]. map()-funktion arvo sijoitetaan muuttujalle x2. Kokonainen ohjelma on seuraavanlainen.
int x2 = round(map(a,0,350,-10,10));

Komento muuttaa muuttujan a arvon, joka vaihtelee välillä [0,350] asteikolle [-10,10]. map()-funktion arvo sijoitetaan muuttujalle x2. Kokonainen ohjelma on seuraavanlainen.
// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
int a = 200; // Laskurin alkuarvo (ikkunan keskellä)
void setup () {
size(400,400); // ikkunan koko
stroke(0); // Musta viivan väri
textSize(20); // Tekstin koko 20
}
void draw() {
background(255); // Tyhjennä tausta
fill(255,255,0); // Keltainen täyttöväri
rect(0,0,400,50); // Piirrä keltainen suorakulmio
fill(255,0,0); // Punainen täyttöväri
rect(a,0,50,50); // Piirrä punainen neliä
int x1 = mouseX; // Selvitä hiiren vaakakoordinaatti
int y1 = mouseY; // selvitä hiiren pystykoordinaatti
if (mousePressed == true) {
if ((y1 > 0) && (y1 < 50)) {
if ((x1 > a) && (a < 350)) { // Jos hiiri on oikealla puolen
a++; // niin kasvata laskuria
}
if ((x1 < a) && (a >0)){ // Jos hiiri on vasemmalla puolen
a--; // niin pienennä laskuria
}
}
}
fill(0); // Musta tekstin väri
text("Laskuri ="+a,20,150); // Tulosta laskuri
int x2 = round(map(a,0,350,-10,10));
text("Skaalattu arvo x = "+x2,20,200);
if (x2 < 0) {
text("Laskettu arvo: f("+x2+") = 3\u00B7("+x2+") = "+3*x2,20,250);
} else {
text("Laskettu arvo: f("+x2+") = 3\u00B7"+x2+" = "+3*x2,20,250);
}
}
Ohjelman suoritus näyttää tältä.
