import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Kodune extends Applet implements KeyListener{ int suund=1; int rx=175,ry=175,px=50,py=50; public Kodune(){ addKeyListener(this); requestFocus(); } public void algus(){ Pall p=new Pall(); p.start(); } public static void main(String[] argumendid){ Frame f=new Frame(); f.add(new Kodune()); f.setSize(400, 400); f.setVisible(true); f.addWindowListener(new Raamikuular()); } public void paint(Graphics g){ g.fillRect(rx,ry,50,50); } public void keyPressed(KeyEvent e){ int kood=e.getKeyCode(); if (kood==KeyEvent.VK_ENTER)algus(); if(kood==KeyEvent.VK_LEFT)rx=rx-3; if(kood==KeyEvent.VK_RIGHT)rx=rx+3; if(kood==KeyEvent.VK_UP)ry=ry-3; if(kood==KeyEvent.VK_DOWN)ry=ry+3; repaint(); } public void keyReleased(KeyEvent e){} public void keyTyped(KeyEvent e){} class Pall extends Thread{ public void run(){ Graphics g=getGraphics(); try{ while (true){ try{Thread.sleep(10);}catch(Exception e){} g.setColor(Color.white); g.fillOval(px,py,30,30); switch (suund){ case 1: px=px+1; py=py+1; if (px+30==getWidth())suund=4; if (py+30==getHeight())suund=2; if ((px+30==rx) && (py>=ry-20) &&(py<=(ry+40)))suund=4; if ((py+30==ry) && (px>=rx-20) &&(px<=(rx+40)))suund=2; break; case 2: px=px+1; py=py-1; if (px+30==getWidth())suund=3; if (py==0)suund=1; if ((px+30==rx) && (py>=ry-20) &&(py<=(ry+40)))suund=3; if ((py==ry+50) && (px>=rx-20) &&(px<=(rx+40)))suund=1; break; case 3: px=px-1; py=py-1; if (px==0)suund=2; if (py==0)suund=4; if ((px==rx+50) && (py>=ry-20) &&(py<=(ry+40)))suund=2; if ((py==ry+50) && (px>=rx-20) &&(px<=(rx+40)))suund=4; break; case 4: px=px-1; py=py+1; if (px==0)suund=1; if (py+30==getHeight())suund=3; if ((px==rx+50) && (py>=ry-20) &&(py<=(ry+40)))suund=1; if ((py+30==ry) && (px>=rx-20) &&(px<=(rx+40)))suund=3; break; } g.setColor(Color.red); g.fillOval(px,py,30,30); } }catch(Exception e){System.out.println("Viga "+e);e.printStackTrace();} } } }