Scratch-funktiot ohjelman koodi

// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
PImage kuva;
int x; // Muuttuja origolle
int y; // Muuttuja origolle
int x2;
int y2;
boolean kyna=false; // Oletuksena on, että kynä ei piirrä
boolean olio = true; // Oletuksena on, että hahmo näkyy

void setup () {
size(480,360); // Voit halitessasi muuttaa tätä
x = width/2; // Origo puolet ikkunan leveydestä
y = height/2; // Origo puolet ikkunan korkeudesta
background(255); // Taustaväri valkoinen
kuva = loadImage("kissa.png"); // Lataa kissan kuva
frameRate(20); // Ikkunan päivitysnopeus
stroke(255,0,0); // Punainen väri oletuksena
strokeweight(2); Viivan paksuus 2 oletuksena
}

void draw () {
koordinaatisto(); // Älä poista tätä
// Laita tähän omat komennot
hahmo(); // Piirrä hahmo
}

void koordinaatisto() {
x2 = 0;
y2 = 0;
translate(x,y);
scale(1,-1);
if (kyna == false) {
background(255);
}
}

void hahmo() {
if (olio == true) {
pushMatrix();
scale(1,-1);
image(kuva,-50,-50,100,100);
popMatrix();
}
}

void vasemmalle(int kulma) {
rotate(radians(kulma));
}

void oikealle(int kulma) {
rotate(radians(-kulma));
}
void liiku(int askel) {
if (kyna == true) {
line(0,0,askel,0);
}
translate(askel,0);
}

void mene_kohtaan(int a, int b) {
translate(-x2,-y2);
if (kyna == true) {
line(x2,y2,a,b);
}
translate(a,b);
x2 = a;
y2 = b;
}

void osoita_suuntaan(int d) {
rotate(radians(d));
}

void osoita_kohti() {
float kulma = degrees(atan2(mouseX-x,mouseY-y));
rotate(radians(-90+kulma));
}

void mene() {
if (kyna == true) {
line(pmouseX-x,-pmouseY+y,mouseX-x,-mouseY+y);
}
translate(mouseX-x,-mouseY+y);
x = mouseX;
y = mouseY;
}

void kynan_vari(int r, int g, int b) {
fill(r,g,b);
stroke(r,g,b);
}

void kynan_paksuus(int p) {
strokeWeight(p);
}

void kyna_alas() {
kyna = true;
}
void kyna_ylos() {
kyna = false;
}
void piilota() {
olio = false;
}
void nayta() {
olio = true;
}