Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.*;
- public class Lab0902 {
- public static void main(String args[])
- {
- GfxApp gfx = new GfxApp();
- gfx.setSize(900,700);
- gfx.addWindowListener(new WindowAdapter() {public void
- windowClosing(WindowEvent e) {System.exit(0);}});
- gfx.show();
- }
- }
- class GfxApp extends Frame
- {
- public void paint(Graphics g)
- {
- Circle circle = new Circle(30, 10, 10, 1);
- for(int K = 0; K < 1000; K++)
- {
- circle.drawCircle(g);
- }
- }
- }
- class Circle
- {
- private int topleftX;
- private int topleftY;
- private int incX;
- private int incY;
- private boolean addX;
- private boolean addY;
- private int size;
- private double timeDelay;
- public Circle(int size, int incX, int incY, double timeDelay)
- {
- this.size = size;
- this.incX = incX;
- this.incY = incY;
- this.timeDelay = timeDelay;
- }
- private void delay(double d)
- {
- long beginDelay = System.currentTimeMillis();
- long stopDelay = 0;
- while (stopDelay - beginDelay < d)
- {
- stopDelay = System.currentTimeMillis();
- }
- //for (double k = 1; k < d; k+=0.001);
- }
- public void drawCircle(Graphics g)
- {
- g.setColor(Color.blue);
- settlX();
- settlY();
- g.drawOval(topleftX, topleftY, size, size);
- delay(100);
- }
- public void settlX()
- {
- hitEdge();
- topleftX += incX;
- }
- public void settlY()
- {
- hitEdge();
- topleftY += incY;
- }
- public void newData()
- {
- if(topleftX <= 0 || topleftX >= 870)
- {
- incX = (int)(Math.random() * 8) + 5;
- }
- if(topleftY <= 0 || topleftY >= 670)
- {
- incY = (int)(Math.random() * 8) + 5;
- }
- if(topleftY >= 670) { incY *= -1;}
- if(topleftX >= 870) { incX *= -1;}
- }
- public void hitEdge()
- {
- addX = false;
- addY = false;
- if(topleftX <= 0 || topleftX >= 870) { addX = true;}
- if(topleftY <= 0 || topleftY >= 670) { addY = true;}
- if(addX == true || addY == true) {newData();}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement