Lukujen syöttäminen hiiren avulla
Tehdään ohjelma, jossa lukuja voidaan syöttää painonappien avulla. Se on seuraavanlainen.
//Ohjelman tehnyt: e-Oppi Oy
// 3.1.2018
String merkki ="0"; // Oletus merkki on 0
boolean n1 = false; // Oletuksena luvun syöttö salittu
void setup() {
size(600,300); // Ikkunan koko
textSize(20); // Tekstin koko
}
void draw () {
background(255); // Tyhjennä tausta
float luku;
text("Anna luku: ",10,100);
luku = syota_luku();
text(luku,120,100);
text("Luvun neliö on "+pow(luku,2),10,150);
text("Luvun neliöjuuri on "+sqrt(luku),10,200);
}
float syota_luku () {
int x = mouseX; // Lue hiiren paikka
int y = mouseY;
fill(50,200,200); // Lisää väri
rect(5,5,40,40,10); // Luodaan painonapit
rect(55,5,40,40,10);
rect(105,5,40,40,10);
rect(155,5,40,40,10);
rect(205,5,40,40,10);
rect(255,5,40,40,10);
rect(305,5,40,40,10);
rect(355,5,40,40,10);
rect(405,5,40,40,10);
rect(455,5,40,40,10);
rect(505,5,40,40,10);
rect(555,5,40,40,10);
textSize(30); // Tekstin koko 30
fill(0); // Tekstin väri musta
text("1",15,40); // Tulosta painonapeille tekstit
text("2",65,40);
text("3",115,40);
text("4",165,40);
text("5",215,40);
text("6",265,40);
text("7",315,40);
text("8",365,40);
text("9",415,40);
text("0",465,40);
text(",",515,40);
text("C",565,40);
if (mousePressed == true) { // Jos hiiren painike pohjassa
if ((y > 5) && (y < 45)) { // Jos pystysuuntainen paikka on välillä 5 < y < 45
if ((x > 5) && (x < 45)) { // Jos vaakasuuntainen paikka on välillä 5 < x < 45
fill(255,0,0); // Väritä punaisella
rect(5,5,40,40,10);
if (n1 == false) { // Jos n1:n arvo false, niin lisää yksi merkki
merkki = merkki+"1";
}
}
if ((x > 55) && (x < 95)) { // Jos vaakasuuntainen paikka on välillä 55 < x < 95
fill(255,0,0);
rect(55,5,40,40,10);
if (n1 == false) {
merkki = merkki+"2";
}
}
if ((x > 105) && (x < 145)) { // Jos vaakasuuntainen paikka on välillä 105 < x < 145
fill(255,0,0);
rect(105,5,40,40,10);
if (n1 == false) {
merkki = merkki+"3";
}
}
if ((x > 155) && (x < 195)) { // Jos vaakasuuntainen paikka on välillä 155 < x < 195
fill(255,0,0);
rect(155,5,40,40,10);
if (n1 == false) {
merkki = merkki+"4";
}
}
if ((x > 205) && (x < 245)) { // Jos vaakasuuntainen paikka on välillä 205 < x < 245
fill(255,0,0);
rect(205,5,40,40,10);
if (n1 == false) {
merkki = merkki+"5";
}
}
if ((x > 255) && (x < 295)) { // Jos vaakasuuntainen paikka on välillä 255 < x < 295
fill(255,0,0);
rect(355,5,40,40,10);
rect(255,5,40,40,10);
if (n1 == false) {
merkki = merkki+"6";
}
}
if ((x > 305) && (x < 345)) { // Jos vaakasuuntainen paikka on välillä 305 < x < 345
fill(255,0,0);
rect(305,5,40,40,10);
if (n1 == false) {
merkki = merkki+"7";
}
}
if ((x > 355) && (x < 395)) { // Jos vaakasuuntainen paikka on välillä 355 < x < 395
fill(255,0,0);
rect(355,5,40,40,10);
if (n1 == false) {
merkki = merkki+"8";
}
}
if ((x > 405) && (x < 445)) { // Jos vaakasuuntainen paikka on välillä 405 < x < 455
fill(255,0,0);
rect(405,5,40,40,10);
if (n1 == false) {
merkki = merkki+"9";
}
}
if ((x > 455) && (x < 495)) { // Jos vaakasuuntainen paikka on välillä 455 < x < 495
fill(255,0,0);
rect(455,5,40,40,10);
if (n1 == false) {
merkki = merkki+"0";
}
}
if ((x > 505) && (x < 545)) { // Jos vaakasuuntainen paikka on välillä 505 < x < 545
fill(255,0,0);
rect(505,5,40,40,10);
if (n1 == false) {
merkki = merkki+".";
}
}
if ((x > 555) && (x < 595)) { // Jos vaakasuuntainen paikka on välillä 555 < x < 595
fill(255,0,0);
rect(555,5,40,40,10);
if (n1 == false) {
merkki = "0";
}
}
n1 = true; // Tämä on nyt true, kunnes vapautat hiiren painikkeen
}
} else {
n1 = false; // Kun vapautat hiiren painikkeen, niin salli merkkien syöttö
}
fill(0); // Oletus tekstin väri on musta
textSize(20); // Oletus tekstin koko on 20
float luku = float(merkki); // Muuta syötetty merkkijono luvuksi
return luku; // Palauta syötetty luku
}
Ohjelman suoritus näyttää nyt tältä. Tässä C (= clear) painike on nollauspainike.

Jos siis haluat syöttää lukuja hiiren avulla, niin sinun on ensin ohjelmoitava jokaista numeroa varten oma painike. Painikkeista kannattaa tehdä oma aliohjelmansa eli arvon palauttava funktio, sillä se selkeyttää koodia.