Advertisement
ThePeeters

problema2

Mar 23rd, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1. import acm.graphics.GOval;
  2. import acm.program.GraphicsProgram;
  3. import acm.util.RandomGenerator;
  4. import java.awt.Color;
  5.  
  6. public class prob22 extends GraphicsProgram {
  7.  
  8.     public int num_turtles = 200;
  9.     public int timeout = 20;
  10.  
  11.     public void run() {
  12.         int x = getHeight() / num_turtles;
  13.         int y = 0;
  14.         GOval[] tortugues = new GOval[num_turtles];
  15.         int[] posicions = new int[num_turtles];
  16.         int[] sortides = new int[num_turtles];
  17.         for (int i = 0; i < num_turtles; ++i) {
  18.             posicions[i] = 0;
  19.             sortides[i] = y;
  20.             tortugues[i] = creartortugues(x, y);
  21.             tortugues[i].setColor(Color.YELLOW);
  22.             tortugues[i].setFilled(true);
  23.             tortugues[i].setFillColor(Color.GREEN);
  24.             add(tortugues[i]);
  25.             y = y + x;
  26.         }
  27.         // aux son els passos que volen que vagi endavant.
  28.         //getWidth() - (getHeight() / num_turtles es la posicio final de la pantalla
  29.         //aux + posicions[i] son els passos que va endavant i gauarda les posicions en un array.
  30.         //setlocation que ajuda situar la tortuga la posicio x i y.
  31.         // sortides =  perque cada tortuga esta en diferent posicio de y en funcio de tortuga.
  32.        
  33.         boolean flag = true;
  34.         while (flag == true) {
  35.             for (int i = 0; i < num_turtles && flag == true; ++i) {
  36.                 int aux = rollDie();
  37.                 if (aux + posicions[i] >= getWidth() - (getHeight() / num_turtles)) {
  38.                     tortugues[i].setLocation((getWidth() - (getHeight() / num_turtles)), sortides[i]);
  39.                     tortugues[i].setFillColor(Color.RED);
  40.                     flag = false; // quan arribi una tortuga sorti del bucle...
  41.                 } else {
  42.                     posicions[i] += aux;
  43.                     tortugues[i].setLocation(posicions[i], sortides[i]);
  44.                 }
  45.             }
  46.             pause(timeout);
  47.         }
  48.     }
  49.  
  50.     public int rollDie() {
  51.         RandomGenerator rgen = RandomGenerator.getInstance();
  52.         return rgen.nextInt(1, 6);
  53.     }
  54.  
  55.     public GOval creartortugues(int x, int y) {
  56.         GOval dibuix = new GOval(0, y, x, x);
  57.         return dibuix;
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement