import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.util.LinkedList; public class Pall3 extends Applet implements MouseListener, Runnable{ LinkedList Pallid=new LinkedList(); public Pall3(){ addMouseListener(this); new Thread(this).start(); } public void run(){ while(3>2){ //try{Thread.sleep(50);}catch(Exception exs){} if (Pallid.size()<1){Pallid.add(new Pall());} repaint(); } } public void mouseReleased(MouseEvent e){} public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mousePressed(MouseEvent e){ if(Pallid.size()>0){ Pall pl=(Pall)Pallid.get(0); int hx=e.getX(); int hy=e.getY(); int px=pl.X(); int py=pl.Y(); if (hx-10px-10 && hy-10py-10){ Pallid.remove(0); } } } public void update(Graphics g){paint(g);} public void paint(Graphics g){ if(Pallid.size()>0){ Pall pl=(Pall)Pallid.get(0); if(pl.Y()>getSize().height){ Pallid.remove(0); }else{ int x=pl.X(); int y=pl.Y(); g.setColor(Color.red); g.fillOval(x, y, 20, 20); try{Thread.sleep(20);}catch(Exception ex){} g.setColor(Color.white); g.fillOval(x,y,20,20); } } } public static void main(String arg[]){ Frame f=new Frame(); f.add(new Pall3()); f.setSize(300, 300); f.setVisible(true); } class Pall{ int px,py; long algaeg=System.currentTimeMillis(); //initsialiseeritakse palli algusaeg public Pall(){ px=(int)(Math.random()*(getSize().height-20)); py=(int)(Math.random()*150); } int X() //ütleb objekti x koordinaadi { return px; } int Y() //ütleb objekti y koordinaadi { double dt=(System.currentTimeMillis()-algaeg)/1000.0; //palli vanus py=(int)(py+(0.98*dt*dt)/4); //y koordinaadi arvutamine return py; } } }