import java.applet.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.lang.*; import java.io.*; public class Pildike6 extends Applet implements Runnable, KeyListener, AdjustmentListener, ActionListener{ Image taust; Image pilt; AudioClip linnutaust; Graphics piltg; Image lill, lill2; int lillekorgus=100, lillelaius=50; Image putukas; Image putukas2; double putukax=100, putukay=150, putuka2x=0, putuka2y=0; double putukaxkiirus=0, putukaykiirus=0, putuka2xkiirus=0, putuka2ykiirus=0; double kiirusesamm=0.2; int putukalaius=35, putukakorgus=35; int imemiskaugus=10; int mustripikkus=160; double samm=1; int paus=50; double nihe=0; double aeg=0; int laius=300, korgus=300; int lilli=0, imetud1=0, imetud2=0, kadunud=0; long alghetk=new Date().getTime(); Vector lillekesed=new Vector(); double lillelisamistoenaosus=0.02*samm; Canvas louend=new Canvas(){ public boolean isFocusTraversable(){ return true; } }; Choice valik1=new Choice(); Choice valik2=new Choice(); Button b1=new Button("Mängi"); Panel p2=new Panel(); Panel p3=new Panel(); TextField tf=new TextField(10); Button b2=new Button("Salvesta"); Scrollbar sbtaustasamm=new Scrollbar(Scrollbar.HORIZONTAL, 10, 5, 0, 100); Scrollbar sbputukatundlikkus=new Scrollbar(Scrollbar.HORIZONTAL, 2, 1, 1, 20); Scrollbar sblilletoenaosus=new Scrollbar(Scrollbar.HORIZONTAL, 20, 1, 0, 100); boolean veel=false; public Pildike6(){ setLayout(new BorderLayout()); Panel p1=new Panel(new GridLayout(3, 2)); p1.add(new Label("Kiirus")); p1.add(sbtaustasamm); p1.add(new Label("Liikumistundlikkus")); p1.add(sbputukatundlikkus); p1.add(new Label("Lollide sagedus")); p1.add(sblilletoenaosus); add(p1, BorderLayout.SOUTH); valik1.add("Cat.gif"); valik1.add("Cat2.gif"); valik1.add("Smily5.gif"); p2.add(valik1); valik2.add("Cat.gif"); valik2.add("Cat2.gif"); valik2.add("Smily5.gif"); p2.add(valik2); p2.add(b1); b1.addActionListener(this); add(p2, BorderLayout.CENTER); p3.add(new Label("Parim tulemus. Pane nimi:")); p3.add(tf); p3.add(b2); b2.addActionListener(this); louend.addKeyListener(this); sbtaustasamm.addAdjustmentListener(this); sbputukatundlikkus.addAdjustmentListener(this); sblilletoenaosus.addAdjustmentListener(this); } public void adjustmentValueChanged(AdjustmentEvent e){ samm=sbtaustasamm.getValue()/10.0; kiirusesamm=sbputukatundlikkus.getValue()/10.0; lillelisamistoenaosus=sblilletoenaosus.getValue()/1000.0*samm; louend.requestFocus(); } public void actionPerformed(ActionEvent e){ if(e.getSource()==b1){ lill=laePilt("tibu2.gif"); /*pilditf | valik1.setVisible(false);*/ remove(p2); add(louend, BorderLayout.CENTER); validate(); invalidate(); System.out.println("Pilt muudetud"); start(); }else{ try{ PrintWriter valja=new PrintWriter(new FileWriter("Tulemused.txt", true)); valja.println(tf.getText()); if(imetud1mustripikkus)nihe=nihe-mustripikkus; if(sees(putukax+putukaxkiirus, putukay+putukaykiirus, laius-putukalaius, korgus-putukakorgus)){ putukax+=putukaxkiirus; putukay+=putukaykiirus; } else { putukaxkiirus=putukaykiirus=0; } if(sees(putuka2x+putuka2xkiirus, putuka2y+putuka2ykiirus, laius-putukalaius, korgus-putukakorgus)){ putuka2x+=putuka2xkiirus; putuka2y+=putuka2ykiirus; } else { putuka2xkiirus=putuka2ykiirus=0; } } void koostaPilt(){ if(taust==null)laeKlipid(); arvutaAsukohad(); eemaldaVanadLilled(); lisaUusiLilli(); kontrolliImemisi(); piltg.drawImage(taust, 0, (int)nihe-mustripikkus, this); joonistaLilled(); joonistaStatistika(); piltg.drawImage(putukas, (int)putukax, (int)putukay, this); piltg.drawImage(putukas2, (int)putuka2x, (int)putuka2y, this); } void lisaUusiLilli(){ for(double lt=lillelisamistoenaosus; lt>0; lt=lt-1){ if(Math.random ()korgus+lillekorgus){ if(!l.tyhi)kadunud++; lillekesed.removeElementAt(i); i--; } } } void kontrolliImemisi(){ int kauguseruut=imemiskaugus*imemiskaugus; for(int i=0; i=0 && x=0 && y0)putukaxkiirus+=kiirusesamm; else putukaxkiirus=kiirusesamm; } if(kood==KeyEvent.VK_UP){ if(putukaykiirus<0)putukaykiirus-=kiirusesamm; else putukaykiirus=-kiirusesamm; } if(kood==KeyEvent.VK_DOWN){ if(putukaykiirus>0)putukaykiirus+=kiirusesamm; else putukaykiirus=kiirusesamm; } if(kood==KeyEvent.VK_A){ if(putuka2xkiirus<0)putuka2xkiirus-=kiirusesamm; else putuka2xkiirus=-kiirusesamm; } if(kood==KeyEvent.VK_D){ if(putuka2xkiirus>0)putuka2xkiirus+=kiirusesamm; else putuka2xkiirus=kiirusesamm; } if(kood==KeyEvent.VK_W){ if(putuka2ykiirus<0)putuka2ykiirus-=kiirusesamm; else putuka2ykiirus=-kiirusesamm; } if(kood==KeyEvent.VK_S){ if(putuka2ykiirus>0)putuka2ykiirus+=kiirusesamm; else putuka2ykiirus=kiirusesamm; } } public void keyReleased(KeyEvent e){} public void keyTyped(KeyEvent e){} Image laePilt(String failinimi){ try{ return getImage(getCodeBase(), failinimi); }catch(Exception e){} return Toolkit.getDefaultToolkit().getImage(failinimi); } AudioClip laeKlipp(String failinimi){ return getAudioClip(getDocumentBase(), failinimi); } }