import java.awt.*; import java.awt.image.*; public class Saba{ int tosta, tulija, sabureid, platvormil, vahe, actual; int i1, i2, i3; int tiksuja, sabavali, kraanamin, kraanamax, sabai; Graphics sabagr; ImageObserver sabaob; Image autopilt, konks, lill; Rectangle sabar; Auto masin[]=new Auto[20]; Kraana kraana=new Kraana(); public int liigu(){ int il1; i2=tosta; lisa(); for(il1=0; il1(vahe*10)){masin[i2].edasi();} else {if(masin[i2].koht==100){masin[i2].edasi(); platvormil=1;}} i2++; if(i2==20){i2=0;} } if(1==(kraana.liigu(masin[tosta>0?tosta-1:19], platvormil))) {tosta++; platvormil=0; sabureid--; if(tosta==20){tosta=0;} kraana.juua=10*((actual=(kraanamin+ ((int)(Math.random()*(kraanamax-kraanamin)))))-8);}; return sabureid; } public void seasabavali(int vali1){sabavali=vali1; sabai=sabavali*10;} public void seakraanamin(int vali2){kraanamin=vali2;} public void seakraanamax(int vali3){kraanamax=vali3;} public void seaautopilt(Image img, ImageObserver ob){autopilt=img; sabaob=ob;} public void seakraanapilt(Image img){konks=img;} public void sealillepilt(Image img){lill=img;} public void ava(){ for(i1=0; i1<20; i1++) {masin[i1]=new Auto(); masin[i1].seapilt(autopilt, sabaob);} kraana=new Kraana(); kraana.alga(); kraana.seakonks(konks, sabaob, sabagr); sabureid=1; tosta=0; tulija=1; masin[0].koht=1; sabai=80;} public void lisa(){ if(sabureid<10){ if(sabai==0){sabai=sabavali*10; sabureid++; masin[tulija].koht=1; tulija++; if(tulija==20){tulija=0;} } sabai--;} } public void seagraafika(Graphics g){sabagr=g;} public void seaobs(ImageObserver obs){sabaob=obs;} public void seanelinurk(Rectangle r){sabar=r;} public void joonista(){ int i, koht, ax, ay; for(i=0; i<20; i++){ ax=-100; ay=-100; koht=masin[i].koht; if((koht>0)&(koht<101)){ax=koht*2; ay=200;} if((koht>100)&(koht<111)){ax=200; ay=200-10*(koht-101);} if((koht>110)&(koht<131)){ax=200+3*(koht-110); ay=110;} if((koht>130)&(koht<142)){ax=260; ay=110+(10*(koht-130));} if((koht>200)&(koht<240)){ax=260+2*(koht-200); ay=220;} if((ax>-100)&(ay>-100)){masin[i].joonista(sabagr, ax, ay);} } ax=-100; ay=-100; koht=kraana.koht; if((koht>100)&(koht<111)){ax=200; ay=200-10*(koht-101);} if((koht>110)&(koht<131)){ax=200+3*(koht-110); ay=110;} if((koht>130)&(koht<142)){ax=260; ay=110+(10*(koht-130));} if((ax>-100)&(ay>-100)){kraana.joonista(sabagr, ax, ay);} kraana.mees.joonista(sabagr); } public void liiguta(){ int i, koht, ax, ay; for(i=0; i<20; i++){ ax=-100; ay=-100; koht=masin[i].koht; if((koht>0)&(koht<101)){ax=koht*2; ay=200;} if((koht>100)&(koht<111)){ax=200; ay=200-10*(koht-101);} if((koht>110)&(koht<131)){ax=200+3*(koht-110); ay=110;} if((koht>130)&(koht<142)){ax=260; ay=110+(10*(koht-130));} if((koht>200)&(koht<240)){ax=260+2*(koht-200); ay=220;} if((ax>-100)&(ay>-100)){masin[i].liiguta(sabagr, ax, ay);} } ax=-100; ay=-100; koht=kraana.koht; if((koht>100)&(koht<111)){ax=200; ay=200-10*(koht-101);} if((koht>110)&(koht<131)){ax=200+3*(koht-110); ay=110;} if((koht>130)&(koht<142)){ax=260; ay=110+(10*(koht-130));} if((ax>-100)&(ay>-100)){kraana.liiguta(sabagr, ax, ay);} kraana.mees.liiguta(sabagr); } public void pilt(){ sabagr.drawLine(180, 70, 180, 150); sabagr.drawLine(180, 70, 280, 70); sabagr.drawLine(190, 60, 270, 60); sabagr.drawLine(180, 70, 190, 60); sabagr.setColor(Color.yellow); sabagr.drawLine(190, 60, 200, 70); sabagr.drawLine(200, 70, 210, 60); sabagr.drawLine(210, 60, 220, 70); sabagr.drawLine(220, 70, 230, 60); sabagr.drawLine(230, 60, 240, 70); sabagr.drawLine(240, 70, 250, 60); sabagr.drawLine(250, 60, 260, 70); sabagr.drawLine(260, 70, 270, 60); sabagr.setColor(Color.black); sabagr.drawLine(270, 60, 280, 70); sabagr.drawLine(280, 70, 280, 150); sabagr.drawLine(140, 150, 180, 150); sabagr.drawImage(lill, 50, 230, sabaob); sabagr.drawImage(lill, 70, 240, sabaob); sabagr.drawImage(lill, 100, 260, sabaob); sabagr.drawImage(lill, 110, 220, sabaob); sabagr.drawImage(lill, 170, 254, sabaob); sabagr.drawImage(lill, 168, 231, sabaob); sabagr.drawImage(lill, 182, 244, sabaob); sabagr.drawImage(lill, 190, 234, sabaob); sabagr.drawImage(lill, 205, 250, sabaob); sabagr.drawImage(lill, 230, 233, sabaob); sabagr.drawImage(lill, 234, 254, sabaob); sabagr.drawImage(lill, 150, 234, sabaob); sabagr.setColor(Color.yellow); sabagr.fillOval(25, 40, 14, 14); sabagr.drawLine(32, 47, 55, 70); sabagr.drawLine(32, 47, 45, 55); sabagr.drawLine(32, 47, 48, 44); sabagr.drawLine(32, 47, 28, 46); sabagr.drawLine(32, 47, 18, 44); sabagr.drawLine(32, 47, 30, 55); sabagr.setColor(Color.black); } }