Laskuri ja luvut, osa 2

Laskuri ja luvut, osa 2



Tämä simulaatio havainnollistaa laskuria ja lukujen kasvamista. Kopioi alla oleva koodi ja aja ohjelma. Älä tee koodiin muutoksia. 

// Ohjelman tehnyt: e-Oppi Oy
// 28.2.2018
int a = 475; // Laskurin alkuarvo 
int b = 505; // Laskurin alkuarvo 
int c = 475; // Laskurin alkuarvo 
int d = 475; // Laskurin alkuarvo 
int laskuri = 0;
void setup () {
     size(1000,700); // ikkunan koko
     stroke(0); // Musta viivan väri
     textSize(30); // Tekstin koko
}
void draw() {
     background(255); // Tyhjennä tausta
     int a2 = round(map(a,0,950,-10,10));
     int b2 = round(map(b,0,950,-10,10));
     int c2 = round(map(c,0,950,0,500));
     int d2 = round(map(d,0,950,10,50));
 
     fill(0,200,255);
     fill(255);
     rect(500,200,500,500);
     stroke(200);
     pushMatrix();
     translate(500,200);

  
     for (int t=-10; t <= 10; t++) {
        line(t*50,-500,t*50,500);
        line(-500,t*50,500,t*50);
     }
     strokeWeight(3);
     line(0,-500,0,500);
     line(-500,0,500,0);
     strokeWeight(1);
     stroke(0);
     fill(0);
     textSize(d2);
     laskuri = a2;
     for (int h = 1; h< 100; h=h+1) {
       laskuri = laskuri + b2;
       text(laskuri,c2,d2*h);
     }
     popMatrix();
     fill(240);
     noStroke();
     rect(0,200,500,500);
     rect(0,0,1000,200);
  
     stroke(0);  
     strokeWeight(1);
  
     fill(255,255,0); // Keltainen täyttöväri
     rect(0,0,999,50); // Piirrä keltainen suorakulmio
     rect(0,50,999,50); // Piirrä keltainen suorakulmio
     rect(0,100,999,50); // Piirrä keltainen suorakulmio
     rect(0,150,999,50); // Piirrä keltainen suorakulmio

     fill(255,100,100); // Punainen täyttöväri
     rect(a,0,60,50); // Piirrä punainen neliö
     rect(b,50,60,50); // Piirrä punainen neliö
     rect(c,100,60,50); // Piirrä punainen neliö
     rect(d,150,60,50); // Piirrä punainen neliö


     int x1 = mouseX; // Selvitä hiiren vaakakoordinaatti
     int y1 = mouseY;
     if (mousePressed == true) {
     if ((y1 > 0) && (y1 < 50)) {
          if ((x1>a) && (a < 950)) { // Jos hiiri on oikealla puolen
                a++; // niin kasvata laskuria
          }
          if ((x1<a) && (a >= 0)) { // Jos hiiri on vasemmalla puolen
                a--; // niin pienennä laskuria
          }
     }
     if ((y1 > 50) && (y1 < 100)) {
          if ((x1>b) && (b < 950)) { // Jos hiiri on oikealla puolen
                b++; // niin kasvata laskuria
          }
          if ((x1<b) && (b >= 0)) { // Jos hiiri on vasemmalla puolen
                b--; // niin pienennä laskuria
          }
     }
     if ((y1 > 100) && (y1 < 150)) {
          if ((x1>c) && (c < 950)) { // Jos hiiri on oikealla puolen
                c++; // niin kasvata laskuria
          }
          if ((x1<c) && (c > 0)){ // Jos hiiri on vasemmalla puolen
                c--; // niin pienennä laskuria
          }
     }
     if ((y1 > 150) && (y1 < 200)) {
          if ((x1>d) && (d < 950)) { // Jos hiiri on oikealla puolen
                d++; // niin kasvata laskuria
          }
          if ((x1<d) && (d > 0)){ // Jos hiiri on vasemmalla puolen
                d--; // niin pienennä laskuria
          }
      }
    
     }
     fill(0); // Musta tekstin väri
     textSize(25); // Tekstin koko
     text(a2,a+5,45);
     text(b2,b+5,95);
     text(c2,c+5,145);
     text(d2,d+5,195);
  

     textSize(25); // Tekstin koko
     text("int a = "+a2+";",10,240);
     text("int b = 0;",10,270);
     text("void setup () {",10,300);
     text("size(500,500); ",50,330);
     text("background(255);",50,360);
     text("textSize("+d2+");",50,390);
     text("fill(0);",50,420);
     text("}",10,450);
     text("void draw () {",10,480);
     if (b2 >= 0) {
       text("a = a+"+b2+";",50,510);
     } else {
       text("a = a"+b2+";",50,510);
     }
     text("b++;",50,540);
     text("text(a,"+c2+","+d2+"*b);",50,570);
     text("}",10,600);
   
}