/** P6rkamine tasandil (3p) * Ring liigub ruudukujulisel pinnal p6rgates vastu servi */ import java.awt.*; import java.awt.event.*; import java.awt.event.KeyEvent; public class HillarpEksam3 extends Frame implements Runnable{ //- kui veebis siis Frame=applet static int ServX=700, ServY=700; //- raami parem serv ja alumine serv int RingX=100, RingY=50, RingR=15; //- ringi algkoordinaadid ja raadius int SammX=1, SammY=1; //- ringi liikumissamm x ja y suunas int menyyriba=20; //- raami menyyriba laius public HillarpEksam3(){ setTitle("Põrkav pall"); setSize(ServX,ServY); setVisible(true); addWindowListener( new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); }//windowevent } //windowadapter ); //windowlistener new Thread(this).start(); } public void run(){ while(true){ p6rka(); /** seni kuni takistusi ei ole */ RingX += SammX; RingY += SammY; /** servaga p6rkumisel SammX muutmine vastupidiseks */ if ((RingX - RingR + SammX < 0) || (RingX + RingR + SammX > ServX)) SammX = -SammX; /** servaga põrkumisel SammY muutmine Vasupidiseks*/ if ((RingY - RingR + SammY < 0+menyyriba) || (RingY + RingR + SammY > ServY)) SammY = -SammY; }//- while }//- run public void p6rka(){ Graphics g=getGraphics(); g.setColor(Color.white); //- tausta v2rv g.fillRect(1,1,ServX,ServY); //- Tausta joonistamine g.setColor(Color.green); //- laud1 v2rv g.fillOval(RingX-RingR, RingY-RingR, RingR*2, RingR*2); //- palli joonistamine try{ Thread.sleep(1); }//- try catch(Exception exp){ System.out.println("catch"); }//- catch } //-p6rka public static void main(String argumendid[]){ new HillarpEksam3(); } //- main } //- class