import java.applet.Applet; import java.awt.*; public class quadrato extends Applet{ public void paint(Graphics page){ // dimensione diametri palline int dd=30; // Dati prima pallina // ox,oy vecchia posizione (old x, old y) // x,y posizioni attuale // vx,vy velocita' sulle x e sulle y int ox,oy; int x=100,y=100,vx=5,vy=12; // Dati Seconda pallina int ox2,oy2; int x2=100,y2=100,vx2=4,vy2=11; // Dati Terza pallina int ox3,oy3; int x3=100,y3=100,vx3=3,vy3=10; // disegna le tre palline in blu,nero, verde page.setColor (Color.blue); page.fillOval(x,y,dd,dd); page.setColor (Color.black); page.fillOval(x2,y2,dd,dd); page.setColor (Color.green); page.fillOval(x3,y3,dd,dd); // Per 500 cicli (da rivedere) for(int jj=1;jj<500;jj++){ // --------- PALLINA BLU ---------------- // Memorizza vecchia posizione ox=x;oy=y; // Calcola la nuova aggiungendo la velocita (per t=1) x+=vx;y+=vy; // se esce da qualche parete inverte direzione e torna // indietro if(x>800){vx=-vx;x+=vx;x+=vx;} if(y>600){vy=-vy;y+=vy;y+=vy;} if(x<0){vx=-vx;x+=vx;x+=vx;} if(y<0){vy=-vy;y+=vy;y+=vy;} // Fa una pausa disegnando 1000 volte un puntino for(int j=0;j<1000;j++){page.fillRect(100,100,2,2);} // setta il colore a giallo page.setColor (Color.yellow); // disegna la pallina nella vecchia posizione // quindi cancellando il cerchio blu page.fillOval(ox,oy,dd,dd); // disegna la pallina nella nuova posizione page.setColor (Color.blue); page.fillOval(x,y,dd,dd); // --------- PALLINA NERA ---------------- ox2=x2;oy2=y2; x2+=vx2;y2+=vy2; if(x2>800){vx2=-vx2;x2+=vx2;x2+=vx2;} if(y2>600){vy2=-vy2;y2+=vy2;y2+=vy2;} if(x2<0){vx2=-vx2;x2+=vx2;x2+=vx2;} if(y2<0){vy2=-vy2;y2+=vy2;y2+=vy2;} for(int j=0;j<1000;j++){page.fillRect(100,100,2,2);} page.setColor (Color.yellow); page.fillOval(ox2,oy2,dd,dd); page.setColor (Color.black); page.fillOval(x2,y2,dd,dd); // --------- PALLINA VERDE ---------------- ox3=x3;oy3=y3; x3+=vx3;y3+=vy3; if(x3>800){vx3=-vx3;x3+=vx3;x3+=vx3;} if(y3>600){vy3=-vy3;y3+=vy3;y3+=vy3;} if(x3<0){vx3=-vx3;x3+=vx3;x3+=vx3;} if(y3<0){vy3=-vy3;y3+=vy3;y3+=vy3;} for(int j=0;j<1000;j++){page.fillRect(100,100,2,2);} page.setColor (Color.yellow); page.fillOval(ox3,oy3,dd,dd); page.setColor (Color.green); page.fillOval(x3,y3,dd,dd); // fine ciclo: } // fine metodo paint: } // fine applet: } // The end (Saluto)