Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import acm.graphics.GOval;
- import acm.program.GraphicsProgram;
- import acm.util.RandomGenerator;
- import java.awt.Color;
- public class prob22 extends GraphicsProgram {
- public int num_turtles = 200;
- public int timeout = 20;
- public void run() {
- int x = getHeight() / num_turtles;
- int y = 0;
- GOval[] tortugues = new GOval[num_turtles];
- int[] posicions = new int[num_turtles];
- int[] sortides = new int[num_turtles];
- for (int i = 0; i < num_turtles; ++i) {
- posicions[i] = 0;
- sortides[i] = y;
- tortugues[i] = creartortugues(x, y);
- tortugues[i].setColor(Color.YELLOW);
- tortugues[i].setFilled(true);
- tortugues[i].setFillColor(Color.GREEN);
- add(tortugues[i]);
- y = y + x;
- }
- // aux son els passos que volen que vagi endavant.
- //getWidth() - (getHeight() / num_turtles es la posicio final de la pantalla
- //aux + posicions[i] son els passos que va endavant i gauarda les posicions en un array.
- //setlocation que ajuda situar la tortuga la posicio x i y.
- // sortides = perque cada tortuga esta en diferent posicio de y en funcio de tortuga.
- boolean flag = true;
- while (flag == true) {
- for (int i = 0; i < num_turtles && flag == true; ++i) {
- int aux = rollDie();
- if (aux + posicions[i] >= getWidth() - (getHeight() / num_turtles)) {
- tortugues[i].setLocation((getWidth() - (getHeight() / num_turtles)), sortides[i]);
- tortugues[i].setFillColor(Color.RED);
- flag = false; // quan arribi una tortuga sorti del bucle...
- } else {
- posicions[i] += aux;
- tortugues[i].setLocation(posicions[i], sortides[i]);
- }
- }
- pause(timeout);
- }
- }
- public int rollDie() {
- RandomGenerator rgen = RandomGenerator.getInstance();
- return rgen.nextInt(1, 6);
- }
- public GOval creartortugues(int x, int y) {
- GOval dibuix = new GOval(0, y, x, x);
- return dibuix;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement