/* Kastikeste mäng. Tuleb saada kastid omale kohale. * */ import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Kastimang extends Applet implements KeyListener{ int m1=35; int m2=35; int x1=125; int y1=65; int x2=125; int y2=95; int takistus=0; int takistus2=0; public Kastimang(){ addKeyListener(this); } public void paint(Graphics g){ //mehike g.setColor(Color.blue); g.fillRect(m1, m2, 20, 20); g.setColor(Color.yellow); g.fillOval(m1-2, m2-2, 24, 24); //tase 1 g.setColor(Color.black); g.drawRect(30, 30, 150, 120); g.drawLine(90, 60, 90, 90); g.drawLine(90, 60, 120, 60); g.drawLine(150, 120, 150, 150); g.drawRect(65, 125, 20, 20); g.drawRect(95, 125, 20, 20); //kastid g.setColor(Color.red); g.fillRect(x1, y1, 20, 20); g.fillRect(x2, y2, 20, 20); //lõpp if((x1==65 && y1==125 && x2==95 && y2==125) || (x1==95 && y1==125 && x2==65 && y2==125)) g.fillRect(30,30,150,120); //kontakt kastiga if(x1-m1==30 && y1-m2==0) takistus=1; // vasakul, kast 1 else if(x1-m1==0 && y1-m2==30) takistus=2; //üleval else if(x1-m1==-30 && y1-m2==0) takistus=3; //paremal else if(x1-m1==0 && y1-m2==-30) takistus=4; //all else takistus=0; if(x2-m1==30 && y2-m2==0) takistus2=5; // vasakul, kast 2 else if(x2-m1==0 && y2-m2==30) takistus2=6; //üleval else if(x2-m1==-30 && y2-m2==0) takistus2=7; //paremal else if(x2-m1==0 && y2-m2==-30) takistus2=8; //all else takistus2=0; } // LIIKUMINE public void keyPressed(KeyEvent e){ // VASAKULE int kood=e.getKeyCode(); if(kood==KeyEvent.VK_LEFT){ if(takistus==3 || takistus2==7){ if(m1==65) m1=m1; else if(m1==125 && m2==65) m1=m1; else if(m1==155 && m2==125) m1=m1; else if(x2-x1==-30 && y1==y2){ m1=m1; x1=x1;} //kaks kasti üksteise kõrval else if(x1-x2==-30 && y1==y2){ m1=m1; x2=x2;} //kaks kasti üksteise kõrval else if(takistus==3) x1=x1-30; else if(takistus2==7) x2=x2-30; else m1=m1-30; }else{ if(m1==35) m1=m1; else if(m1==95 && m2==65) m1=m1; else if(m1==155 && m2==125) m1=m1; //else if(takistus==3) x1=x1-30; else m1=m1-30; } } if(kood==KeyEvent.VK_RIGHT){ // PAREMALE if(takistus==1 || takistus2==5){ if(m1==125) m1=m1; else if(m1==35 && m2==65) m1=m1; else if(m1==95 && m2==125) m1=m1; else if(x2-x1==30 && y1==y2){ m1=m1; x1=x1;} //kaks kasti üksteise kõrval else if(x1-x2==30 && y1==y2){ m1=m1; x2=x2;} //kaks kasti üksteise kõrval else if(takistus==1) x1=x1+30; // // nendes kahes on KALA !!!!!! ja seda kõigis neljas asjas else if(takistus2==5) x2=x2+30; // \\ else if(m1==65 && m2==65) x1=x1; else m1=m1+30; } else{ if(m1==155) m1=155; else if(m1==65 && m2==65) m1=m1; else if(m1==125 && m2==125) m1=m1; //else if(takistus==1) x1=x1+30; else m1=m1+30; } } if(kood==KeyEvent.VK_UP){ // ÜLES if(takistus==4 || takistus2==8){ // OR takistus==8 if(m2==65) m2=m2; else if(m2==95 && m1==95) m2=m2; else if(y2-y1==-30 && x1==x2){ m2=m2; y1=y1;} //kaks kasti üksteise kõrval else if(y1-y2==-30 && x1==x2){ m2=m2; y2=y2;} //kaks kasti üksteise kõrval else if(takistus==4) y1=y1-30; else if(takistus2==8) y2=y2-30; else m2=m2-30; }else{ if(m2==35) m2=m2; else if(m2==65 && m1==95) m2=m2; //else if(takistus==4) y1=y1-30; else m2=m2-30; } } if(kood==KeyEvent.VK_DOWN){ // ALLA if(takistus==2 || takistus2==6){ if(m2==95) m2=m2; else if(m2==35 && m1==95) m2=m2; else if(y2-y1==30 && x1==x2){ m2=m2; y1=y1;} //kaks kasti üksteise kõrval else if(y1-y2==30 && x1==x2){ m2=m2; y2=y2;} //kaks kasti üksteise kõrval else if(takistus==2) y1=y1+30; else if(takistus2==6) y2=y2+30; else m2=m2+30; }else{ if(m2==125) m2=m2; else if(m2==35 && m1==95) m2=m2; //else if(takistus==4) y1=y1+30; else m2=m2+30; } } repaint(); } // repaint! public void keyReleased(KeyEvent e){} public void keyTyped(KeyEvent e){} public static void main(String[] argumendid){ Frame f=new Frame(); f.add(new Kastimang()); f.setSize(400, 400); f.setVisible(true); } }