import java.awt.event.*; import java.awt.*; class AutoAndmed{ double x, y, a, pikkus; double ks, kx, ky, da; int[] klahvid=new int[4]; public AutoAndmed(double x, double y, double a, double pikkus, double ks, double da, int vasakklahv, int paremklahv, int edasiklahv, int tagasiklahv){ this.x=x; this.y=y; this.a=a; this.da=da; this.pikkus=pikkus; this.ks=ks; klahvid[0]=vasakklahv; klahvid[1]=paremklahv; klahvid[2]=edasiklahv; klahvid[3]=tagasiklahv; arvutaKiiruseKomponendid(); } public AutoAndmed(){ this(100, 50, Math.PI/6, 30, 5, 0.1, KeyEvent.VK_LEFT, KeyEvent.VK_RIGHT, KeyEvent.VK_UP, KeyEvent.VK_DOWN); } public void joonista(Graphics g){ double x2=x+Math.cos(a)*pikkus; double y2=y+Math.sin(a)*pikkus; g.drawLine((int)x, (int)y, (int)x2, (int)y2); g.drawOval((int)x-5, (int)y-5, 10, 10); } public void vasakule(){ a=a-da; arvutaKiiruseKomponendid(); } public void paremale(){ a=a+da; arvutaKiiruseKomponendid(); } void arvutaKiiruseKomponendid(){ kx=Math.cos(a)*ks; ky=Math.sin(a)*ks; } public void edasi(){ x=x+kx; y=y+ky; } public void tagasi(){ x=x-kx; y=y-ky; } //Lisage kasutajaliidesele nupud //edasi ja tagasi liikumiseks. public void reageeriKlahviVajutusele(int kood){ if(kood==klahvid[0]){vasakule();} if(kood==klahvid[1]){paremale();} if(kood==klahvid[2]){edasi();} if(kood==klahvid[3]){tagasi();} } }