import java.applet.Applet; import java.awt.*; public class mote extends Applet implements Runnable{ sona sonad[]=new sona[30]; int juhud=new int[12]; Image pilt; Graphics piltg; Thread tr; int pikkus, korgus, tkoht=0, lihtnr=0; String liht[]=new String[4]; Button nupp=new Button("OK"); Label l1=new Label(), l2=new Label("Selgema mudeli koostamiseks tuleb teha moned lihtsustused"); Panel p1=new Panel(), p2=new Panel(); public void init(){ liht[0]="Silla ehitus on ideaalne"; liht[1]="Autod soidavad uhes suunas ning reas"; liht[3]="Autod on hesugused"; liht[4]="Inimesed ei eksi"; l1.setText(liht[0]); p1.setLayout(new BorderLayout()); p1.add("Center", l1); p1.add("East", nupp); p2.setLayout(new GridBagLayout(1, 2); p2.add(l2); p2.add(p1); nupp.hide(); l1.hide(); l2.hide(); this.setLayout(new BorderLayout()); add("South", p2); Dimension d=this.size(); pilt=createImage(d.x, d.y); piltg=pilt.getGraphics(); sonad[ 0]=new sona(piltg, "Sild", 100, 100); sonad[5]=new sona(piltg, "Masin", 300, 100); sonad[10]=new sona(piltg, "Inimene", 200, 300); for(int i=0; i<15; i+=5){sonad[i ].varv(Color.red); sonad[i].joonista();} sonad[1]=new sona(piltg, "Teekate", 80, 80); sonad[2]=new sona(piltg, "Silla pikkus", 180, 80); sonad[3]=new sona(piltg, "Laius", 80, 120); sonad[4]=new sona(piltg, "Looklevus", 180, 120); sonad[6]=new sona(piltg, "Kiirus", 280, 80); sonad[7]=new sona(piltg, "Pikkus", 380, 80); sonad[8]=new sona(piltg, "Mark", 280, 120); sonad[9]=new sona(piltg, "Pikivahe", 380, 120); sonad[11]=new sona(piltg, "Vanus", 80, 80); sonad[12]=new sona(piltg, "Sugu", 180, 80); sonad[13]=new sona(piltg, "Mass", 80, 80); sonad[14]=new sona(piltg, "Laste arv", 80, 80); repaint(); } void ilmne(){ sonad[juhud[tkoht++]].joonista(); } void vahetused(){ int koht=0, a, b, abi; for(int i=1; i<4; i++)for(int j=0; j<4; j++) juhud[koht++]=i+(i-1)*4+j; for(int i=0; i<100; i++){ a=(int)(Math.random()*12); b=(int)(Math.random()*12); abi=juhud[a]; juhud[a]=juhud[b]; juhud[b]=abi; } } public void start(){tr=new Thread(this); tr.start();} public void run(){ int isekoht=0; while(tr!=null){ if (isekoht<12){ilmne(); tr.sleep(500);} else if (isekoht==12)for(int i=0; i<15; i++)sonad[i].juhusuund(); else if (isekoht<200){ piltg.setColor(Color.white); piltg.fillRect(0, 0, 500, 500); for(int i=0; i<15; i++)sonad[i].servliigu(); tr.sleep(200);} else if (isekoht==200)for(int i=0; i<15; i++)sonad[i].suund(10, 15*i, 50); else if (isekoht<250){ piltg.setColor(Color.white); piltg.fillRect(0, 0, 500, 500); for(int i=0; i<15; i++)sonad[i].edasi();} else if (isekoht==250){for(int i=0; i<15; i++)sonad[i].jkoht(10, 15*i); nupp.show(); l1.show(); l2.show(); } if(isekoht<250)isekoht++; repaint(); }} public void stop(){tr=null;} public void paint(Graphics g){ g.drawImage(pilt, 0, 0, this); } public void update(Graphics g){paint(g);} public boolean action(Event e, Object arg){ if (e.target.equals(nupp){ if(lihtnr++==0){sonad[1].muudavarv(Color.gray); sonad[4].muudavarv(Color.gray); } if(lihtnr++==1){sonad[3].muudavarv(Color.gray);} if(lihtnr++==2){sonad[8].muudavarv(Color.gray);} if(lihtnr++==3){for(int i=11; i<15; i++)sonad[i].muudavarv(Color.gray);} if(lihtnr==4){nupp.hide(); l1.hide(); l2.hide();} } } }