import java.applet.Applet; import java.awt.*; public class Ekraan extends Applet{ //klass Ekraan laiendub (töötab) applet'ina //Koostanud Liivo Raudver public void paint(Graphics g){ //kutsutakse välja joonistamisfunktsioon g.setColor(Color.white); //joonistusvärv seatakse valgeks g.fillRect(0, 0, getSize().width, getSize().height); //värvitakse taust while (true){ //while tsükkel, mis toimub lõpmatuseni int kx1=getSize().width/2; //musta ringi esialgse keskpunkti x koordinaat int ky1=getSize().height/2; //musta ringi esialgse keskpunkti y koordinaat int kx2=getSize().width/2; //valge ringi esialgse keskpunkti x koordinaat int ky2=getSize().height/2; //valge ringi esialgse keskpunkti y koordinaat int kxk1=getSize().width/2; //sinise kolmnurga esialgse keskpunkti x koordinaat int kyk1=getSize().height/2; //sinise kolmnurga esialgse keskpunkti y koordinaat int kxk2=getSize().width/2; //valge kolnurga esialgse keskpunkti x koordinaat int kyk2=getSize().height/2; //valge kolmnurga esialgse keskpunkti y koordinaat int kxr1=getSize().width/2; //punase ruudu esialgse keskpunkti x koordinaat int kyr1=getSize().height/2; //punase ruudu esialgse keskpunkti y koordinaat int kxr2=getSize().width/2; //valge ruudu esialgse keskpunkti x koordinaat int kyr2=getSize().height/2; //valge ruudu esialgse keskpunkti y koordinaat int ux=0; //uue kolmnurga tipu koordinaat x (arvutatakse tsükklis) int uy=0; //uue kolmnurga tipu koordinaat y (arvutatakse tsükklis) int vx=getSize().width/2; //kolmnurga esimese tipu x koordinaat int vy=(getSize().height/2)+10; //kolmnurga esmese tipu y koordinaat for (int x=10; x<60; x=x+2){ //mustade ringide joonistamise tsükkel (x on raadius, mida suurendatakse) g.setColor(Color.black); //joonistusvärv seatakse mustaks g.drawOval(kx1-(x/2), ky1-(x/2), x, x); //joonistatakse ring try{Thread.sleep(20);}catch(Exception a){} //oodatakse veidi ky1=ky1-5; //vähendatakse ringi keskpunkti y koordinaati } for (int x=10; x<60; x=x+2){ //kolmnurkade joonistamise tsükkel (x on raadius, mida suurendatakse) for(int n=1; n<=3; n++){ //ühe kolmnurga joonistamise tsükkel (n on nurkade arv, mida suurendatakse) g.setColor(Color.blue); //joonistusvärv seatakse siniseks ux=kxk1+(int)(x*Math.sin(n*2*Math.PI/3)); //arvutatakse uue kolmnurga tipu x koordinaat uy=kyk1+(int)(x*Math.cos(n*2*Math.PI/3)); //arvutatakse uue kolmnurga tipu y koordinaat g.drawLine(vx, vy, ux, uy); //joonistatakse kolmnurga külg vanade ja uute koordinaatide vahele vx=ux; vy=uy; //vanad koordinaatide väärtused asendatakse uutega, kust joonistamist alustatakse } try{Thread.sleep(20);}catch(Exception a){} //oodatakse veidi kxk1=kxk1+5; //suurendatakse kolmnurga keskpunti x koordinaati kyk1=kyk1+5; //suurendatakse kolmnurga keskpunti y koordinaati } for (int x=10; x<60; x=x+2){ //punaste ruutude joonistamise tsükkel (x on serva pikkus, mida suurendatakse) g.setColor(Color.red); //joonistamisvärv seatakse punaseks g.drawRect(kxr1-(x/2), kyr1-(x/2), x, x); //joonistatakse ruut try{Thread.sleep(20);}catch(Exception a){} //oodatakse veidi kxr1=kxr1-5; //vähendatakse ruudu keskpunti x koordinaati kyr1=kyr1+5; //suurendatakse ruudu keskpunti y koordinaati } for (int x=10; x<60; x=x+2){ //valgete ringide joonistamise tsükkel (x on raadius, mida suurendatakse) g.setColor(Color.white); //joonistusvärv seatakse valgeks g.drawOval(kx2-(x/2), ky2-(x/2), x, x); //joonistatakse ring try{Thread.sleep(20);}catch(Exception a){} //oodatakse veidi ky2=ky2-5; //vähendatakse ringi keskpunkti y koordinaati } for (int x=10; x<60; x=x+2){ //kolmnurkade joonistamise tsükkel (x on raadius, mida suurendatakse) for(int n=1; n<=3; n++){ //ühe kolmnurga joonistamise tsükkel (n on nurkade arv, mida suurendatakse) g.setColor(Color.white); //joonistusvärv seatakse valgeks ux=kxk2+(int)(x*Math.sin(n*2*Math.PI/3)); //arvutatakse uue kolmnurga tipu x koordinaat uy=kyk2+(int)(x*Math.cos(n*2*Math.PI/3)); //arvutatakse uue kolmnurga tipu y koordinaat g.drawLine(vx, vy, ux, uy); //joonistatakse kolmnurga külg vanade ja uute koordinaatide vahele vx=ux; vy=uy; //vanad koordinaatide väärtused asendatakse uutega, kust joonistamist alustatakse } try{Thread.sleep(20);}catch(Exception a){} //oodatakse veidi kxk2=kxk2+5; //suurendatakse kolmnurga keskpunti x koordinaati kyk2=kyk2+5; //suurendatakse kolmnurga keskpunti y koordinaati } for (int x=10; x<60; x=x+2){ //valgete ruutude joonistamise tsükkel g.setColor(Color.white); //joonistamisvärv seatakse valgeks g.drawRect(kxr2-(x/2), kyr2-(x/2), x, x); //joonistatakse ruut try{Thread.sleep(20);}catch(Exception a){} //oodatakse veidi kxr2=kxr2-5; //vähendatakse ruudu keskpunti x koordinaati kyr2=kyr2+5; //suurendatakse ruudu keskpunti y koordinaati } } } }