Pantomiimi parametrin välittämisestä

Tarvitaan yksi Eclipsen käyttäjä (E)

Tarvitaan 6 näyttelijää:

Tarvikkeet:

askeltaa -linkeistä pääsee katsomaan miltä Eclipsen pitäisi näyttää milläkin hetkellä ja sitten voi palata takaisin.

Koodi

Koodi näytetään Eclipsellä tykillä

18  public static void lumiukko(EasyWindow w,double x, double y,double isonPallonSade) {
19      double pikkupallonSade = 10;
20      double keskipallonSade = 15;

22      double keskipallonY = y-keskipallonSade-isonPallonSade;
23      double pikkupallonY = y-2*keskipallonSade-isonPallonSade-pikkupallonSade;

25      w.addCircle(x,pikkupallonY,pikkupallonSade);
26      w.addCircle(x,keskipallonY,keskipallonSade);
27      w.addCircle(x,y,isonPallonSade);
28  }

36  public static void lumiukko(EasyWindow w,double x, double y) {
37      lumiukko(w,x,y,20); // function overload = kuormittaminen
38  }

44  public static void main(String[] args) {
45      EasyWindow window  = new EasyWindow(); window.scale(0,100,100,0);  window.showWindow();
46      EasyWindow window2 = new EasyWindow(); window2.scale(0,100,100,0); window2.showWindow();

48      lumiukko(window,20,80,20);
49      lumiukko(window2,30+30,60,2*5);

51      lumiukko(window,60,60);
52  }

1. On kahden lumiukon parametrit ja tyhjä taulu

Taululla on seuraava tilanne

Tyhjä taulu

2. Ikkunoiden luonti

  1. E: askeltaa riville 45
    45      EasyWindow window  = new EasyWindow(); window.scale(0,100,100,0);  window.showWindow();
  2. main: "EasyWindow! Tarviisin yhden ikkunan"
  3. EasyWindow: "w1 meehän taulun eteen"
  4. w1: menee taulun eteen ja piirtää puolen taulun kokoisen neliön vasempaan reunaan
  5. EasyWindow: "saat tuon w1:en"
  6. main: kirjoittaa window-muuttujaan w1
  7. main: "w1! Skaalaa ikkuna niin, että vasen alanurkka on 0,100 ja oikea ylänurkka 100,0 ja näytä ikkuna"
  8. w1: piirtää koordinaatit ja ruudukon himmeällä

    Yksi koordinaatisto

  9. E: askeltaa riville 46
    46      EasyWindow window2 = new EasyWindow(); window2.scale(0,100,100,0); window2.showWindow();
  10. main: "EasyWindow! Tarviisin yhden ikkunan"
  11. EasyWindow: "w2 meehän taulun eteen"
  12. w2: menee taulun eteen ja piirtää puolen taulun kokoisen neliön vasempaan reunaan
  13. EasyWindow: "saat tuon w2:en"
  14. main: kirjoittaa window-muuttujaan w2
  15. main: "w1! Skaalaa ikkuna niin, että vasen alanurkka on 0,100 ja oikea ylänurkka 100,0 ja näytä ikkuna"
  16. w1: piirtää koordinaatit ja ruudukon himmeällä

    Kaksi koordinaatistoa

  17. E: askeltaa rivin 46

3. Ekan lumiukon piirto

  1. E: asettelee ikkunat niin, että ne näkyvät hyvin ja askeltaa riville 48
    48      lumiukko(window,20,80,20);
  2. main: kirjoittaa A4:lle 48 (paluurivin numero) ja laittaa sen pöydälle
  3. main: kirjoittaa A4:lle w1 ja laittaa sen pöydälle
  4. main: kirjoittaa A4:lle 20 ja laittaa sen pöydälle
  5. main: kirjoittaa A4:lle 80 ja laittaa sen pöydälle
  6. main: kirjoittaa A4:lle 20 ja laittaa sen pöydälle
  7. main: "Lumiukko joka ymmärtää 4 parametria tänne!"
  8. lumiukko4: Saapuu mainin luo
  9. main: "teehän hommas lumiukko
  10. lumiukko4: ottaa parametripinon kävelee oman parametrilistansa luokse
  11. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla isonPallonSade viereen
  12. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla y:n viereen
  13. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla x:n viereen
  14. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla w:n viereen
  15. lumiukko4: käteen jäi vielä lappu jossa lukee 48
  16. E: askeltaa riville 19
    19      double pikkupallonSade = 10;
  17. lumiukko4: kirjoittaa A4:lle 10 ja liimaa sen pikkupallonSade viereen
  18. E: askeltaa riville 20
    20      double keskipallonSade = 15;
  19. lumiukko4: kirjoittaa A4:lle 15 ja liimaa sen keskipallonSade viereen
  20. E: askeltaa riville 22
    22      double keskipallonY = y-keskipallonSade-isonPallonSade;
  21. lumiukko4: laskee 80-15-20 = 45, kirjoittaa A4:lle 45 ja liimaa sen keskiPallonY viereen
  22. E: askeltaa riville 23
    23      double pikkupallonY = y-2*keskipallonSade-isonPallonSade-pikkupallonSade;
  23. lumiukko4: laskee 80-2*15-20-10 = 20, kirjoittaa A4:lle 20 ja liimaa sen pikkupallonY:n viereen

    Lokaalit muuttujat paikallaan

  24. E: askeltaa riville 25
    25      w.addCircle(x,pikkupallonY,pikkupallonSade);
  25. lumiukko4: Katsoo w-muuttujaa ja "w1! Piirrä ympyrä paikkaan (20,25) säteenä 10
  26. w1: Piirtää ympyrän (20,25) r=10
  27. E: askeltaa riville 26
    26      w.addCircle(x,keskipallonY,keskipallonSade);
  28. lumiukko4: Katsoo w-muuttujaa ja "w1! Piirrä ympyrä paikkaan (20,45) säteenä 15
  29. w1: Piirtää ympyrän (20,45) r=15
  30. E: askeltaa riville 27
    27      w.addCircle(x,y,isonPallonSade);
  31. lumiukko4: Katsoo w-muuttujaa ja "w1! Piirrä ympyrä paikkaan (20,80) säteenä 20
  32. w1: Piirtää ympyrän (20,80) r=20
  33. E: askeltaa riville 28
    28      }
  34. Lumiukko piirretty

  35. lumiukko4: poistaa kaikkien "lokaalien muuttujien arvot", eli heittää liimatut A4:set roskiin
  36. Ei lokaaleja muuttujia

  37. lumiukko4: ottaa vielä kädessään olevan A4:n, jossa lukee 48. Kävelee main:in luo ja "jatkahan hommia riviltä 48" ja häipyy

4. Toisen lumiukon piirto

  1. E: askeltaa riville 49
    49      lumiukko(window2,30+30,60,2*5);
  2. main: kirjoittaa A4:lle 49 (paluurivin numero) ja laittaa sen pöydälle
  3. main: katsoo window2 muuttujan arvon, kirjoittaa A4:lle w2 ja laittaa sen pöydälle
  4. main: laskee yhteen 30+30=60 kirjoittaa A4:lle 60 ja ja laittaa sen pöydälle
  5. main: kirjoittaa A4:lle 60 ja laittaa sen pöydälle
  6. main: laskee 2*5 = 10, kirjoittaa A4:lle 10 ja laittaa sen pöydälle
  7. main: "Lumiukko joka ymmärtää 4 parametria tänne!"
  8. lumiukko4: Saapuu maiin luo
  9. main: "teehän hommas lumiukko
  10. lumiukko4: ottaa parametripinon ja kävelee oman parametrilistansa luokse
  11. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla isonPallonSade viereen
  12. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla y:n viereen
  13. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla x:n viereen
  14. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla w:n viereen
  15. lumiukko4: käteen jäi vielä lappu jossa lukee 49
  16. E: askeltaa riville 19
    19      double pikkupallonSade = 10;
  17. lumiukko4: kirjoittaa A4:lle 10 ja liimaa sen pikkupallonSade viereen
  18. E: askeltaa riville 20
    20      double keskipallonSade = 15;
  19. lumiukko4: kirjoittaa A4:lle 15 ja liimaa sen keskipallonSade viereen
  20. E: askeltaa riville 22
    22      double keskipallonY = y-keskipallonSade-isonPallonSade;
  21. lumiukko4: laskee 60-15-10 = 35, kirjoittaa A4:lle 35 ja liimaa sen keskiPallonY viereen
  22. E: askeltaa riville 23
    23      double pikkupallonY = y-2*keskipallonSade-isonPallonSade-pikkupallonSade;
  23. lumiukko4: laskee 60-2*15-10-10 = 10, kirjoittaa A4:lle 10 ja liimaa sen pikkupallonY:n viereen

    Lokaalit muuttujat paikallaan 2

  24. E: askeltaa riville 25
    25      w.addCircle(x,pikkupallonY,pikkupallonSade);
  25. lumiukko4: Katsoo w-muuttujaa ja "w2! Piirrä ympyrä paikkaan (60,10) säteenä 10
  26. w2: Piirtää ympyrän (60,15) r=10 (omaan koordinaatistoonsa)
  27. E: askeltaa riville 26
    26      w.addCircle(x,keskipallonY,keskipallonSade);
  28. lumiukko4: Katsoo w-muuttujaa ja "w2! Piirrä ympyrä paikkaan (60,35) säteenä 15
  29. w2: Piirtää ympyrän (60,35) r=15
  30. E: askeltaa riville 27
    27      w.addCircle(x,y,isonPallonSade);
  31. lumiukko4: Katsoo w-muuttujaa ja "w2! Piirrä ympyrä paikkaan (60,60) säteenä 10
  32. w2: Piirtää ympyrän (60,60) r=10
  33. E: askeltaa riville 28
    28      }
  34. Lumiukko 2 piirretty

  35. lumiukko4: poistaa kaikkien "lokaalien muuttujien arvot", eli heittää liimatut A4:set roskiin
  36. Ei lokaaleja muuttujia 2

  37. lumiukko4: ottaa vielä kädessään olevan A4:n, jossa lukee 49. Kävelee main:in luo ja "jatkahan hommia riviltä 49" ja häipyy

3. Kolmannen lumiukon piirto

  1. E: askeltaa riville 51
    51      lumiukko(window,60,60);
  2. main: kirjoittaa A4:lle 51 (paluurivin numero) ja laittaa sen pöydälle
  3. main: katsoo window muuttujan arvon, kirjoittaa A4:lle w1 ja laittaa sen pöydälle
  4. main: kirjoittaa A4:lle 60 ja laittaa sen pöydälle
  5. main: kirjoittaa A4:lle 60 ja laittaa sen pöydälle
  6. main: "Lumiukko joka ymmärtää 3 parametria tänne!"
  7. lumiukko3: saapuu main luokse
  8. main: "teehän hommas lumiukko
  9. lumiukko3: ottaa parametripinon ja kävelee oman parametrilistansa luokse
  10. lumiukko3: ottaa päällimmäisen lapun ja laittaa sen sinitarralla y:n viereen
  11. lumiukko3: ottaa päällimmäisen lapun ja laittaa sen sinitarralla x:n viereen
  12. lumiukko3: ottaa päällimmäisen lapun ja laittaa sen sinitarralla w:n viereen
  13. lumiukko3: käteen jäi vielä lappu jossa lukee 51
  14. Lokaalit muuttujat paikallaan 3

  15. E: askeltaa riville 37
    37      lumiukko(w,x,y,20);
  16. lumiukko3: kirjoittaa A4:lle 37 (paluurivin numero) ja laittaa sen pöydälle
  17. lumiukko3: katsoo w muuttujan arvon, kirjoittaa A4:lle w ja laittaa sen pöydälle
  18. lumiukko3: katsoo x:n, kirjoittaa A4:lle 60 ja laittaa sen pöydälle
  19. lumiukko3: katsoo y:n, kirjoittaa A4:lle 60 ja laittaa sen pöydälle
  20. lumiukko3: kirjoittaa A4:lle 20 ja laittaa sen pöydälle
  21. lumiukko3: "Lumiukko joka ymmärtää 4 parametria tänne!"
  22. lumiukko4: saapuu lumiukko3:n luokse luokse
  23. lumiukko3: "teehän hommas lumiukko
  24. lumiukko4: kävelee oman parametrilistansa luokse
  25. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla isonPallonSade viereen
  26. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla y:n viereen
  27. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla x:n viereen
  28. lumiukko4: ottaa päällimmäisen lapun ja laittaa sen sinitarralla w:n viereen
  29. lumiukko4: käteen jäi vielä lappu jossa lukee 49
  30. E: askeltaa riville 19
    19      double pikkupallonSade = 10;
  31. lumiukko4: kirjoittaa A4:lle 10 ja liimaa sen pikkupallonSade viereen
  32. E: askeltaa riville 20
    20      double keskipallonSade = 15;
  33. lumiukko4: kirjoittaa A4:lle 15 ja liimaa sen keskipallonSade viereen
  34. E: askeltaa riville 22
    22      double keskipallonY = y-keskipallonSade-isonPallonSade;
  35. lumiukko4: laskee 60-15-20 = 25, kirjoittaa A4:lle 25 ja liimaa sen keskiPallonY viereen
  36. E: askeltaa riville 23
    23      double pikkupallonY = y-2*keskipallonSade-isonPallonSade-pikkupallonSade;
  37. lumiukko4: laskee 60-2*15-20-10 = 0, kirjoittaa A4:lle 0 ja liimaa sen pikkupallonY:n viereen

    Lokaalit muuttujat paikallaan 4

  38. E: askeltaa riville 25
    25      w.addCircle(x,pikkupallonY,pikkupallonSade);
  39. lumiukko4: Katsoo w-muuttujaa ja "w1! Piirrä ympyrä paikkaan (60,0) säteenä 10
  40. w1: Piirtää ympyrän (60,0) r=10
  41. E: askeltaa riville 26
    26      w.addCircle(x,keskipallonY,keskipallonSade);
  42. lumiukko4: Katsoo w-muuttujaa ja "w1! Piirrä ympyrä paikkaan (60,25) säteenä 15
  43. w1: Piirtää ympyrän (60,25) r=15
  44. E: askeltaa riville 27
    27      w.addCircle(x,y,isonPallonSade);
  45. lumiukko4: Katsoo w-muuttujaa ja "w1! Piirrä ympyrä paikkaan (60,60) säteenä 20
  46. w1: Piirtää ympyrän (60,60) r=20
  47. E: askeltaa riville 28
    28      }
  48. Lumiukko 3 piirretty

  49. lumiukko4: poistaa kaikkien "lokaalien muuttujien arvot", eli heittää liimatut A4:set roskiin
  50. Ei lokaaleja muuttujia 3

  51. lumiukko4: ottaa vielä kädessään olevan A4:n, jossa lukee 37. Kävelee lumiukko3:en luo ja "jatkahan hommia riviltä 37" ja häipyy (lopullisesti)
  52. E: askeltaa riville 38
    38      }
  53. lumiukko3: poistaa kaikkien "lokaalien muuttujien arvot", eli heittää liimatut A4:set roskiin
  54. Ei lokaaleja muuttujia 4

  55. lumiukko3: ottaa vielä kädessään olevan A4:n, jossa lukee 51. Kävelee main:in luo ja "jatkahan hommia riviltä 51" ja häipyy (lopullisesti)
  56. E: askeltaa riville 52
    52      }