xxxxxxxxxx
91
let tomaFingers;
let tomaToes;
let tomaFingerThumb;
let tomaToeThumb;
let flocks;
let members = [];
let mouseFlockIndex = 0;
// let m1;
// let m2;
// let m3;
// let m4;
function setup() {
createCanvas(400, 400);
tomaFingers = new flock(255, 255, 0, 9);
tomaToes = new flock(0, 255, 0, 11);
tomaFingerThumb = new flock(255, 0, 0, 8);
tomaToeThumb = new flock(0, 255, 255, 10);
flocks = [tomaFingers, tomaToes, tomaFingerThumb, tomaToeThumb];
for (let i = 0; i < 1; i++) {
let ranFlockIndex = int(random(flocks.length))
members[i] = new member(random(100, width - 100), random(100, height - 100), flocks[ranFlockIndex], ranFlockIndex);
}
// frameRate(1);
}
function mousePressed() {
if (mouseFlockIndex >= flocks.length - 1) {
mouseFlockIndex = 0;
} else {
mouseFlockIndex++;
}
}
function keyPressed() {
newMember();
}
function draw() {
background(220);
for (let m of members) {
m.display();
m.update(mouseFlockIndex);
}
for (let i = 0; i < members.length; i++) {
for (let j = 0; j < members.length; j++) {
if (i != j) {
let m1 = members[i];
let m2 = members[j];
let d = dist(m1.x, m1.y, m2.x, m2.y);
if (d < m1.r + m2.r) {
// print(m1.x);
// print(m1.y);
// print(m2.x);
// print(m2.y);
// print(d);
if (random(1) < 0.5) {
m1.changeFlock(m2.flock, m2.flockIndex);
} else {
m2.changeFlock(m1.flock, m1.flockIndex);
}
}
}
}
}
fill(flocks[mouseFlockIndex].ColorRed, flocks[mouseFlockIndex].ColorGreen, flocks[mouseFlockIndex].ColorBlue)
rect(10, 10, 30, 30)
fill(0)
text(members.length, 10, height - 10)
}
function newMember() {
let ranFlockIndex = int(random(flocks.length))
members.push(new member(random(100, width - 100), random(100, height - 100), flocks[ranFlockIndex], ranFlockIndex));
}