Kugel[] kugeln = new Kugel[20]; void setup(){ size(600,600); background(255); stroke(0,10); strokeWeight(0); noFill(); for(int i = 0; i < kugeln.length;i= i+1){ kugeln[i] = new Kugel(20,color(255,0,0)); } } void draw(){ beginShape(); for(int i = 0; i < kugeln.length;i= i+1){ vertex(kugeln[i].myPosX,kugeln[i].myPosY); //kugeln[i].draw(); kugeln[i].update(); } endShape(CLOSE); } class Kugel{ float mySpeedX; float mySpeedY; float myBowlSize; float myHalfBowlSize; float myPosX; float myPosY; color myColor; Kugel(float theBowlSize, color theColor){ myBowlSize = theBowlSize; myHalfBowlSize = myBowlSize/2; mySpeedX = random(5); mySpeedY = random(5); myPosX = myHalfBowlSize; myPosY = myHalfBowlSize; posAltX = myPosX; posAltY = myPosY; myColor = theColor; } float posAltX; float posAltY; void update(){ if(myPosX > width - myHalfBowlSize){ mySpeedX = -mySpeedX; } if(myPosY > height - myHalfBowlSize){ mySpeedY = -mySpeedY; } if(myPosX < myHalfBowlSize){ mySpeedX = -mySpeedX; } if(myPosY < myHalfBowlSize){ mySpeedY = -mySpeedY; } posAltX = myPosX; posAltY = myPosY; myPosX = myPosX + mySpeedX; myPosY = myPosY + mySpeedY; } void draw(){ fill(myColor); line(myPosX,myPosY,posAltX,posAltY); } }