Sanguisuga 2

Gli elementi della sanguisuga si spostano a una posizione intermedia

  • Mouse (posizione): testa della sanguisuga
  • Mouse (tasto): ricomincia
  • Applicazione Java
int num=75;

Scia[] S= new Scia[num];

void setup()
{
  size(500, 500);
  frameRate(30);
  noStroke();
  smooth();
  creaScia();
}

void creaScia()
{
  color colore;
  for(int i=0; i < num; i++)
  {
	colore = color(255-i, 255-i*2, i*3);
	S[i]=new Scia(random(width), random(height), colore, i+2);
  }
}

void mousePressed()
{
  creaScia();
}

void draw()
{
  background(255);

  S[0].xpos=mouseX;
  S[0].ypos=mouseY;
 
  for(int i=1; i < num; i++) 
  { 
      S[i].xpos=(S[i-1].xpos+S[i].xpos)/2; 
      S[i].ypos=(S[i-1].ypos+S[i].ypos)/2; 
  } 
  for(int i=num-1; i >= 0; i--)
      S[i].draw();
}

 
class Scia
{
  float xpos, ypos, diametro;
  color colore;    
	 
  Scia(float xp, float yp, color co, int di)
  {
	xpos=xp; ypos=yp; diametro=di;
	colore=co;    
  }

  void draw()
  {
      fill(colore);
      ellipse(xpos, ypos, 10+diametro, 10+diametro);
  }
}