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; } }