Skip to content
Tommi Oinonen edited this page Sep 26, 2016 · 4 revisions

Muuttuja tyyppejä

int

int (eng. integer) määrittää kokonaisluku muuttujan. Muuttujiin voi tallettaa lukuja, joita voi käyttää muualla ohjelmassa. Muuttuja määritetään näin: `int muuttujan_nimi = alku_arvo;`. Muuttujan nimen saa itse keksiä ja se kannattaa nimetä niin, että sen tarkoituksen muistaa myöhemminkin. Muuttujan nimi pitää kirjoittaa yhteen ja siinä voi käyttää isoja tai pieniä kirjaimia A-Z, a-z sekä alaviivaa _ ja numeroita. Muuttujan nimessä ei voi käyttää ääkkösiä, eikä se saa alkaa numerolla. Esimerkkejä muuttujien nimistä voisi olla: `pallon_nopeus, pallo1, pallo2, pallojenKoko` Esim. seuraavassa ohjelmassa kaikkien ympyröiden kokoa ja väriä voi muuttaa muuttamalla muuttujien arvoa ensimmäisillä riveillä. Mieti kuinka paljon työtä olisi muuttaa yksitellen kaikkien ellipsien kokoa erikseen: ```processing size(400, 400); int ellipsien_halkaisja = 30; int ellipsien_vari = 100;

fill(ellipsien_vari); ellipse(50, 40, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(100, 40, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(150, 40, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(200, 40, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(250, 40, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(300, 40, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(350, 40, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(50, 100, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(100, 100, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(150, 100, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(50, 150, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(100, 150, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(150, 150, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(50, 200, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(100, 200, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(150, 200, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(50, 250, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(100, 250, ellipsien_halkaisja, ellipsien_halkaisja); ellipse(150, 250, ellipsien_halkaisja, ellipsien_halkaisja);


<a name="float"></a>
<h3>float</h3>
` float ` eli liukuluku (eng. floating point number) määrittää reaaliluku-muttujan, johon talletetaan lukuja jotka eivät ole tasalukuja esimerkiksi 0.5 tai 3.141. Lähes kaikki komennot hyväksyvät yhtä hyvin float

```processing
String viesti = "";
String toinen_viesti = "Hei kaikki";
String loppu = " ihmiset!";

println(viesti); // tulostaa tyhjän rivin
viesti = "Moi.";
println(viesti); // tulostaa "Moi."
println(toinen_viesti); // tulostaa "Hei kaikki"
viesti = toinen_viesti + loppu; // "Hei kaikki" + " ihmiset!"
println(viesti); // tulostaa "Hei kaikki ihmiset!"

String

` String ` eli merkkijono on muuttuja tyyppi, johon talletetaan tekstiä. Tervehdys "Moi maailma!" voidaan tallettaa viesti-nimiseen muuttujaan näin: `String viesti = "Moi maailma!";` Teksti voi olla myös tyhjä, jolloin kirjoitetaan `String tyhja = "";` Merkkijonoja voi yhdistellä eli tallettaa peräkkäin käyttämällä plus merkkiä. Esim. seuraava ohjelma tulostaa ensiksi tyhjän rivin ja sitten tekstit "Moi", "Hei kaikki" ja "Hei kaikki ihmiset!".
String viesti = "";
String toinen_viesti = "Hei kaikki";
String loppu = " ihmiset!";

println(viesti); // tulostaa tyhjän rivin
viesti = "Moi.";
println(viesti); // tulostaa "Moi."
println(toinen_viesti); // tulostaa "Hei kaikki"
viesti = toinen_viesti + loppu; // "Hei kaikki" + " ihmiset!"
println(viesti); // tulostaa "Hei kaikki ihmiset!"

Hyödyllisiä muuttujia

Processing tarjoa automaattisesti joitakin hyödyllisiä muuttujia, joita ei tarvitse itse esitellä

width ja height

width (leveys) ja height (korkeus) -muuttujissa on tallessa piirtoikkunan levyes ja korkeus. Esim. seuraava ohjelma piirtää piirtoikkunan keskelle ellipsin joka täyttää koko ikkunan riippumatta siitä kuinka iso ikkuna on. ```processing size(200,300); //Kokeile muuttaa ikkunan kokoa // ellipsin keskipiste on puolessa välissä ellipse(width/2, height/2, width, height); ```

mouseX ja mouseY

mouseX ja mouseY -muuttujissa on tallessa kursorin (eli hiiren) sen hetkiset koordinaatit. Esim. seuraava ohjelma piirtää piirtoikkunan keskelle ellipsejä, joiden korkeus riippuu kursorin etäisyydesta ylä reunasta ja leveys korsorin etäisyydesta ikkunan vasemmasta reunasta. ```processing void setup() { size(400,400); }

void draw() { ellipse(width/2, height/2, mouseX, mouseY); }


<a href="mousePressed"></a>
<h3>mousePressed</h3>
<code>mousePressed</code>-muuttujassa on tallessa tieto siitä onko, hiiren painike painettuna. Esim. seuraava ohjelma maalaa ruudun vihreäksi jos hiiren painiketta ei ole painettu ja harmaaksi jos jokin nappi on painettu.
```processing
void setup() {
  size(400,400);
}

void draw() {
  if (mousePressed) {
    background(0,200,0);
  }
  else {
    background(200);
  }
}

Clone this wiki locally