import java.awt.*;
import java.applet.*;
public class auto01 extends Applet implements Runnable{
 Image pilt, apilt;
 Graphics piltg;
 Thread tr;
 masin masinad[]=new masin[20];
 int apikkus=40, pikkus, algus=0, ots=0; 
 float avahe=20;
 public void init(){
 apilt=getImage(getCodeBase(), "auto.gif");
 pikkus=(this.size()).width;
 pilt=createImage(pikkus, 100);
 piltg=pilt.getGraphics();
 for(int i=0; i<20; i++)masinad[i]=new masin(this);
 masinad[1].joonista(piltg, apilt);
 }

void liiguta(){
piltg.setColor(Color.white);
piltg.fillRect(0, 0, 500, 100);
piltg.setColor(Color.black);
if(masinad[algus].x>500)if(algus!=ots){if(algus<19)algus++ ; else algus=0;}
 if(masinad[ots].x>apikkus+avahe){
  if(ots<19) ots++; else ots=0;
  masinad[ots].x=masinad[(ots>0)? ots-1 : 19].x-apikkus-avahe;}
for(int i=algus; i!=ots; ) {masinad[i].edasi(piltg);if(i<19)i++; else i=0;}
masinad[ots].edasi(piltg);
repaint();

}

public void paint(Graphics g){
g.drawImage(pilt, 0, 0, this);
}
public void update(Graphics g){paint(g);}
public void start(){if(tr==null)tr=new Thread(this);  tr.start();}
public void stop(){tr=null;}
public void run(){while(tr!=null){
 liiguta();
try{ tr.sleep(20);}catch(Exception e){}
}}


}


class masin{
 float x=0;
 float vx=1; 
 int y=10;
 auto01 ap;
 masin(auto01 at){ap=at;}
public void joonista(){

 ap.piltg.drawImage(ap.apilt, Math.round(x)-ap.apikkus,y, ap);
 }
public void joonista(Graphics g, Image im){
g.drawImage(im, 150, 15, null);
}
public boolean edasi(Graphics g){
 x+=vx; joonista(); return true;
}


}
