import java.util.*; import java.io.*; import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class kodune1 extends Applet implements ActionListener{ TextField tf=new TextField("nurk", 5); TextField tf1=new TextField("nurk", 5); TextField tf2=new TextField("punktid", 5); TextField tf3=new TextField("punktid", 5); Button valja=new Button(" Lõpp "); int kastiX=315; int kastiY=(int)((Math.random()*300)+150);//450; int kastiLaius=75; int kastiKorgus=50; int kokku=0; int kokku1=0; boolean liiguedasi=true; boolean mangiedasi=true; public kodune1(){ Panel p=new Panel(new GridLayout(1, 4)); p.add(tf); p.add(tf2); p.add(tf1); p.add(tf3); setLayout(new FlowLayout(FlowLayout.CENTER, 30, 600)); tf.addActionListener(this); tf2.addActionListener(this); tf1.addActionListener(this); tf3.addActionListener(this); Panel t=new Panel(new GridLayout(2, 1)); Panel k=new Panel(new GridLayout(1, 1)); k.add(valja); valja.addActionListener(this); t.add(p); t.add(k); add(t, BorderLayout.SOUTH); } public void paint(Graphics g){ g.setColor(Color.red); g.fillRect(kastiX,kastiY,kastiLaius,kastiKorgus); g.setColor(Color.blue); g.fillOval(30, 10, 20, 20); g.setColor(Color.green); g.fillOval(650, 10, 20, 20); g.setColor(Color.black); g.drawString("Esimene viskaja!", 240, 590); g.drawString("Teine viskaja!", 365, 590); } public void liiguta(){ Graphics g=getGraphics(); liiguedasi=true; // g.setColor(Color.red); // g.fillRect(kastiX,kastiY,kastiLaius,kastiKorgus); g.setColor(Color.black); double arv=Double.parseDouble(tf.getText().trim()); double kiirus=5; double kiirusx=Math.cos(Math.toRadians(arv))*kiirus; double kiirusy=-Math.sin(Math.toRadians(arv))*kiirus; double kiirendusy=0.2; double y=10; double x=30; while(y<600 && liiguedasi && mangiedasi){ g.setColor(Color.blue); //joonistatakse must ring g.fillOval((int)x,(int)y, 20, 20); try{Thread.sleep(50);}catch(Exception e){} //oodatakse veidi g.setColor(Color.white); //ning kustutatakse see g.fillOval((int)x, (int)y, 20, 20); //valgega üle joonistades y=y+kiirusy; x=x+kiirusx; kiirusy=kiirusy+kiirendusy; if((y>kastiY)&& y<(kastiY+kastiKorgus) && (x>kastiX)&& x<(kastiX+kastiLaius)){ kokku=kokku+1; if(kokku>=5){ g.setColor(Color.red); g.drawString("Esimene mängija VÕITIS!!!", 280, 20); System.out.println("Valmis! Võitis 1. mängija!!!"); stop(); mangiedasi=false; } liiguedasi=false; tf2.setText(""+kokku); System.out.println("1. Pihtas! "+kokku); } } } public void liiguta1(){ liiguedasi=true; Graphics k=getGraphics(); // k.setColor(Color.red); // k.fillRect(kastiX,kastiY,kastiLaius,kastiKorgus); k.setColor(Color.black); k.drawString("Esimene viskaja!", 240, 590); k.drawString("Teine viskaja!", 365, 590); double arv1=Double.parseDouble(tf1.getText().trim()); double kiirus1=5; double kiirusx1=-Math.cos(Math.toRadians(arv1))*kiirus1; double kiirusy1=Math.sin(Math.toRadians(arv1))*kiirus1; double kiirendusy1=0.2; double y1=10; double x1=650; while(y1<600 && liiguedasi && mangiedasi){ k.setColor(Color.green); //joonistatakse ring k.fillOval((int)x1,(int)y1, 20, 20); try{Thread.sleep(50);}catch(Exception e){} //oodatakse veidi k.setColor(Color.white); //ning kustutatakse see k.fillOval((int)x1, (int)y1, 20, 20); //valgega üle joonistades y1=y1+kiirusy1; x1=x1+kiirusx1; kiirusy1=kiirusy1+kiirendusy1; if((y1>kastiY)&& y1<(kastiY+kastiKorgus) && (x1>kastiX)&& x1<(kastiX+kastiLaius)){ kokku1=kokku1+1; if(kokku1>=5){ k.setColor(Color.red); k.drawString("Teine mängija VÕITIS!!!", 300, 20); System.out.println("Valmis! Võitis 2. mängija!!!"); stop(); mangiedasi=false; } liiguedasi=false; tf3.setText(""+kokku1); System.out.println("2. Pihtas! "+kokku1); } } } public void actionPerformed(ActionEvent e){ if(e.getSource()==valja){ System.exit(0); } if(e.getSource()==tf)liiguta(); if(e.getSource()==tf1)liiguta1(); } public static void main(String agumendid[]){ // käivitab programmi Frame f=new Frame(); f.add(new kodune1()); f.setBackground(Color.white); f.setSize(700, 700); f.setVisible(true); f.addWindowListener( new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } } ); } }