import javax.swing.*; import java.applet.Applet; import java.awt.event.*; import java.awt.*; public class Ruuduliigutus1 extends Applet implements KeyListener, ActionListener{ int x=100, y=100, d=20; int suund=0; //0-seis, 1-vasak, 2-yles, 3-parem, 4-alla int takistusx=130, takistusy=50, takistuslaius=10, takistuskorgus=100; Timer t=new Timer(100, this); public Ruuduliigutus1(){ addKeyListener(this); t.start(); } public void paint(Graphics g){ g.drawRect(x, y, d, d); g.setColor(Color.red); g.fillRect(takistusx, takistusy, takistuslaius, takistuskorgus); } public void keyPressed(KeyEvent e){ int kood=e.getKeyCode(); if(kood==KeyEvent.VK_LEFT){suund=1;} if(kood==KeyEvent.VK_RIGHT){suund=3;} if(kood==KeyEvent.VK_UP){suund=2;} if(kood==KeyEvent.VK_DOWN){suund=4;} } public void keyReleased(KeyEvent e){} public void keyTyped(KeyEvent e){} public void liigu(){ if(suund==1){x--;} if(suund==2){y--;} if(suund==3){x++;} if(suund==4){y++;} repaint(); if(x<0){suund=0;} if(y<0){suund=0;} if(x+d>getWidth()){suund=0;} if(y+d>getHeight()){suund=0;} if(kasRuutTakistuseSees()){suund=0;} } public void actionPerformed(ActionEvent e){ if(e.getSource()==t){ liigu(); } } public boolean kasRuutTakistuseSees(){ if(kasTakistuseSees(x, y)){return true;} if(kasTakistuseSees(x+d, y)){return true;} if(kasTakistuseSees(x, y+d)){return true;} if(kasTakistuseSees(x+d, y+d)){return true;} return false; } public boolean kasTakistuseSees(int ux, int uy){ return (ux>takistusx && uxtakistusy && uy