Rešitev: program Pobarvani krogi (Java)

Iz MaFiRaWiki

Dokument v java jeziku:

  1.  
  2. import java.applet.*;
  3. import java.awt.*;
  4.  
  5. public class Pobarvanikrogi extends Applet
  6. {
  7. public void paint(Graphics g)
  8. {
  9. int n =Integer.parseInt(getParameter("n"));
  10. int r =Integer.parseInt(getParameter("r"));
  11. int x =Integer.parseInt(getParameter("x"));
  12. int y =Integer.parseInt(getParameter("y"));
  13. int w =Integer.parseInt(getParameter("w"));
  14. int z =Integer.parseInt(getParameter("z"));
  15.  
  16. for (int i = 0; i < n; ++i){
  17. int x1 = (int)(x + (i / (double)(n - 1)) * (z - x) - r);
  18. int y1 = (int)(y + (i / (double)(n - 1)) * (w - y) - r);
  19.  
  20. if (i % 3 == 0){
  21. g.setColor(Color.RED);
  22. g.fillOval(x1, y1, 2 * r + 1, 2 * r + 1);
  23. }
  24. else if (i % 3 == 1){
  25. g.setColor(Color.GREEN);
  26. g.fillOval(x1, y1, 2 * r + 1, 2 * r + 1);
  27. }
  28. else {
  29. g.setColor(Color.BLUE);
  30. g.fillOval(x1, y1, 2 * r + 1, 2 * r + 1);
  31. }
  32. g.setColor(Color.BLACK);
  33. g.drawOval(x1, y1, 2 * r, 2 * r);
  34. }
  35. }
  36. }
  37.  

Dokument v html jeziku:

  1.  
  2.  
  3. <applet width="600" height="400" code="Pobarvanikrogi.class">
  4. <param name="x" value="50">
  5. <param name="y" value="50">
  6. <param name="w" value="120">
  7. <param name="z" value="120">
  8. <param name="n" value="10">
  9. <param name="r" value="10">
  10. </applet>
  11.  
  12. </body>
  13. </html>

Razlaga:

Najprej si shrani vse parametre: število krogov n, polmer posameznega kroga r, koordinate začetka (x,y) ter konca (w,z) premice. Izračunati si moraš, kje leži središče vsakega kroga in upoštevaj, da za risanje kroga potrebuješ koordinate levega zgornjega oglišča krogu očrtanega kvadrata. Nato samo še obarvaj kroge v danem zaporedju.

Osebna orodja