Esimerkki: Kuvion liikuttelu reittiä pitkin

Haluamme liikuttaa ympyrän pisteestä A(100,100) pisteeseen B(300,200) siten, että kuljemme ensin 200 askelta oikealle ja 100 askelta alaspäin. Kuinka se onnistuu?
Ensinnäkin tarvitsemme kaksi laskuria, toinen pystysuuntaa varten ja toinen vaakasuuntaa varten. Toiseksi tarvitsemme if-lauseita, joilla pysäyttää laskuri tarvittaessa. Tehdään seuraava ohjelma.
|
// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
int a = 0; // Laskuri vaakasuuntaa varten
int b = 0; // Laskuri pystysuuntaa varten
void setup () {
size(400,400); // Ikkunan koko
fill(255,0,0); // Punainen täyttöväri
background(255); // Valkea taustanväri
}
void draw () {
if (a <= 200) { // Jos on kuljettu 200 tai alle, niin
a++; // Kasvata laskuria vaakasuunnassa
ellipse(100+a,100+b,10,10); // Liiku oikealle
}
else { // Jos ehto ei täyty enää, niin lähde alaspäin
if (b <=100) { // Jos on kuljettu 100 tai alle, niin
b++; // Kasvata laskuria pystysuunnassa
ellipse(100+a,100+b,10,10); // Liiku alaspäin.
}
}
}
Näet, kuinka ympyrä kulkee reitin. Koska laitoimme laskurin if-lauseen sisään, niin laskuria ei enää kasvateta, kun ehto täyttyy. Alla on esitetty ohjelman esimerkkiajo.

Kuinka muuttaisit koodia, jos ympyrä tulisi takaisin loppupisteestä alkupisteeseen?