import javax.swing.;
import java.awt.event.;
import java.awt.;
import java.awt.geom.;
class Kulka extends Ellipse2D.Float
{
Pole plansza ;
Belka belka;
int dx,dy;
Kulka(Pole plansza,int x,int y,int dx,int dy)
{
this.x=x;
this.y=y;
this.width=10;
this.height=10;
this.plansza=plansza;
this.dx=dx;
this.dy=dy;
}
void nextKrok()
{
x+=dx;
y+=dy;
if(getMinX()<0 || getMaxX()>plansza.getWidth()) dx=-dx;
if(getMaxY()>plansza.getHeight()) dy=-dy;
if(this.intersects(plansza.b)) dy=-dy; //belka
if(this.intersects(plansza.c)) dy=-dy;
if(this.intersects(plansza.d)) dy=-dy;
if(this.intersects(plansza.e)) dy=-dy;
if(this.intersects(plansza.f)) dy=-dy;
if(this.intersects(plansza.q)) dy=-dy;
if(this.intersects(plansza.h)) dy=-dy;
if(this.intersects(plansza.i)) dy=-dy;
if(this.intersects(plansza.j)) dy=-dy;
if(this.intersects(plansza.k)) dy=-dy;
//drugi rzad
if(this.intersects(plansza.l)) dy=-dy;
if(this.intersects(plansza.m)) dy=-dy;
if(this.intersects(plansza.n)) dy=-dy;
if(this.intersects(plansza.o)) dy=-dy;
if(this.intersects(plansza.p)) dy=-dy;
if(this.intersects(plansza.r)) dy=-dy;
if(this.intersects(plansza.s)) dy=-dy;
if(this.intersects(plansza.t)) dy=-dy;
if(this.intersects(plansza.u)) dy=-dy;
plansza.repaint();
}
}
class SilnikKulki extends Thread
{
Kulka a;
Belka b;
int odbicia=0;
int u=0;
int wynik=0;
SilnikKulki(Kulka a)
{
this.a=a;
start();
}
public void run()
{
try
{
while(true)
{
a.nextKrok();
sleep(5);
if(a.y > a.plansza.b.y +50)
{
JOptionPane.showMessageDialog( null , " GAME OVER !!!" );
this.stop();
}
}
}
catch(InterruptedException e){}
}
}
class Belka extends Rectangle2D.Float
{
Belka(int x)
{
this.x=x;
this.y=280;
this.width=60;
this.height=10;
}
void setX(int x)
{
this.x=x;
}
}
class Cegielka extends Rectangle2D.Float
{
Cegielka(int x)
{
this.x=30;
this.y=80;
this.width=40;
this.height=8;
}
}
class Pole extends JPanel implements MouseMotionListener
{
Belka b=new Belka(100);
Kulka a=new Kulka(this,100,100,1,1);
Cegielka c=new Cegielka(100);
Cegielka1 d=new Cegielka1(100);
Cegielka2 e=new Cegielka2(100);
Cegielka3 f=new Cegielka3(100);
Cegielka4 q=new Cegielka4(100);
Cegielka5 h=new Cegielka5(100);
Cegielka6 i=new Cegielka6(100);
Cegielka7 j=new Cegielka7(100);
Cegielka8 k=new Cegielka8(100);
//drugi rzad
Cegielka9 l=new Cegielka9(100);
Cegielka10 m=new Cegielka10(100);
Cegielka11 n=new Cegielka11(100);
Cegielka12 o=new Cegielka12(100);
Cegielka13 p=new Cegielka13(100);
Cegielka14 r=new Cegielka14(100);
Cegielka15 s=new Cegielka15(100);
Cegielka16 t=new Cegielka16(100);
Cegielka17 u=new Cegielka17(100);
//trzeci rzad
//Cegielka11 n=new Cegielka11(100);
//Cegielka11 n=new Cegielka11(100);
//Cegielka11 n=new Cegielka11(100);
//Cegielka11 n=new Cegielka11(100);
Pole()
{
super();
addMouseMotionListener(this);
new SilnikKulki(a);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d=(Graphics2D)g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
g2d.fill(a);
g2d.fill(b);
g2d.fill(c);
g2d.fill(d);
g2d.fill(e);
g2d.fill(f);
g2d.fill(q);
g2d.fill(h);
g2d.fill(i);
g2d.fill(j);
g2d.fill(k);
g2d.fill(l);
g2d.fill(m);
g2d.fill(n);
g2d.fill(o);
g2d.fill(p);
g2d.fill(r);
g2d.fill(s);
g2d.fill(t);
g2d.fill(u);
}
public void mouseMoved(MouseEvent e)
{
b.setX(e.getX()-50);
repaint();
}
public void mouseDragged(MouseEvent e)
{
}
}
public class Gra extends JApplet
{
public void init()
{
setContentPane(new Pole());
}
}
Mam taki kod i problem jest w tym ze nie umiem zrobic zeby cegielki znikaly kiedy uderzy o nie pileczka. Moze mi ktos pomoc??Z gory dzieki;)